feat: Add etcd database support

improve concurrent access and high availability of aptly with the help of the characteristics of etcd
This commit is contained in:
hudeng authored and André Roth committed 2024-07-31 22:16:00 +02:00
1 parent f42ff697d4
commit 78172d11d7
14 files changed
+497 -6

No files matched your search

+7 -1
View File
@@ -18,6 +18,7 @@ import (
"github.com/aptly-dev/aptly/azure"
"github.com/aptly-dev/aptly/console"
"github.com/aptly-dev/aptly/database"
"github.com/aptly-dev/aptly/database/etcddb"
"github.com/aptly-dev/aptly/database/goleveldb"
"github.com/aptly-dev/aptly/deb"
"github.com/aptly-dev/aptly/files"
@@ -288,7 +289,12 @@ func (context *AptlyContext) _database() (database.Storage, error) {
if context.database == nil {
var err error
context.database, err = goleveldb.NewDB(context.dbPath())
if context.config().DatabaseEtcd != "" {
context.database, err = etcddb.NewDB(context.config().DatabaseEtcd)
} else {
context.database, err = goleveldb.NewDB(context.dbPath())
}
if err != nil {
return nil, fmt.Errorf("can't instantiate database: %s", err)
}