44e312ace9
This commit removes the unused prefix from the etcd backend config as etcd key space separation in LND is implemented by using namespaces instead.
60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
// +build kvdb_etcd
|
|
|
|
package kvdb
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/lightningnetwork/lnd/channeldb/kvdb/etcd"
|
|
)
|
|
|
|
// TestBackend is conditionally set to etcd when the kvdb_etcd build tag is
|
|
// defined, allowing testing our database code with etcd backend.
|
|
const TestBackend = EtcdBackendName
|
|
|
|
// GetEtcdBackend returns an etcd backend configured according to the
|
|
// passed etcdConfig.
|
|
func GetEtcdBackend(ctx context.Context, etcdConfig *EtcdConfig) (
|
|
Backend, error) {
|
|
|
|
// Config translation is needed here in order to keep the
|
|
// etcd package fully independent from the rest of the source tree.
|
|
backendConfig := etcd.BackendConfig{
|
|
Ctx: ctx,
|
|
Host: etcdConfig.Host,
|
|
User: etcdConfig.User,
|
|
Pass: etcdConfig.Pass,
|
|
DisableTLS: etcdConfig.DisableTLS,
|
|
CertFile: etcdConfig.CertFile,
|
|
KeyFile: etcdConfig.KeyFile,
|
|
InsecureSkipVerify: etcdConfig.InsecureSkipVerify,
|
|
Namespace: etcdConfig.Namespace,
|
|
CollectCommitStats: etcdConfig.CollectStats,
|
|
}
|
|
|
|
return Open(EtcdBackendName, backendConfig)
|
|
}
|
|
|
|
// GetEtcdTestBackend creates an embedded etcd backend for testing
|
|
// storig the database at the passed path.
|
|
func GetEtcdTestBackend(path string, clientPort, peerPort uint16) (
|
|
Backend, func(), error) {
|
|
|
|
empty := func() {}
|
|
|
|
config, cleanup, err := etcd.NewEmbeddedEtcdInstance(
|
|
path, clientPort, peerPort,
|
|
)
|
|
if err != nil {
|
|
return nil, empty, err
|
|
}
|
|
|
|
backend, err := Open(EtcdBackendName, *config)
|
|
if err != nil {
|
|
cleanup()
|
|
return nil, empty, err
|
|
}
|
|
|
|
return backend, cleanup, nil
|
|
}
|