lncfg+channeldb: add config to be able to run lnd on embedded etcd

This commit is contained in:
Andras Banki-Horvath 2020-06-18 21:42:59 +02:00
parent 17976df658
commit 511e817624
No known key found for this signature in database
GPG Key ID: 80E5375C094198D8
2 changed files with 9 additions and 3 deletions

View File

@ -30,6 +30,8 @@ type BoltConfig struct {
// EtcdConfig holds etcd configuration.
type EtcdConfig struct {
Embedded bool `long:"embedded" description:"Use embedded etcd instance instead of the external one."`
Host string `long:"host" description:"Etcd database host."`
User string `long:"user" description:"Etcd database user."`

View File

@ -38,7 +38,7 @@ func (db *DB) Validate() error {
case BoltBackend:
case EtcdBackend:
if db.Etcd.Host == "" {
if !db.Etcd.Embedded && db.Etcd.Host == "" {
return fmt.Errorf("etcd host must be set")
}
@ -76,8 +76,12 @@ func (db *DB) GetBackends(ctx context.Context, dbPath string,
)
if db.Backend == EtcdBackend {
// Prefix will separate key/values in the db.
remoteDB, err = kvdb.GetEtcdBackend(ctx, networkName, db.Etcd)
if db.Etcd.Embedded {
remoteDB, _, err = kvdb.GetEtcdTestBackend(dbPath, dbName)
} else {
// Prefix will separate key/values in the db.
remoteDB, err = kvdb.GetEtcdBackend(ctx, networkName, db.Etcd)
}
if err != nil {
return nil, err
}