From 93e90721a65809d698bbab1579f04b5636b5ea10 Mon Sep 17 00:00:00 2001 From: Marek Siarkowicz Date: Wed, 22 Jan 2025 11:02:29 +0100 Subject: [PATCH] Align NewConfig with AddFlags defaults Signed-off-by: Marek Siarkowicz --- server/embed/config.go | 41 ++++++++++++++++++++++++++----------- server/embed/config_test.go | 14 +------------ 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/server/embed/config.go b/server/embed/config.go index 618457f8513..73931162314 100644 --- a/server/embed/config.go +++ b/server/embed/config.go @@ -71,13 +71,18 @@ const ( DefaultGRPCKeepAliveTimeout = 20 * time.Second DefaultDowngradeCheckTime = 5 * time.Second DefaultAutoCompactionMode = "periodic" + DefaultAutoCompactionRetention = "0" DefaultAuthToken = "simple" DefaultCompactHashCheckTime = time.Minute + DefaultLoggingFormat = "json" - DefaultDiscoveryDialTimeout = 2 * time.Second - DefaultDiscoveryRequestTimeOut = 5 * time.Second - DefaultDiscoveryKeepAliveTime = 2 * time.Second - DefaultDiscoveryKeepAliveTimeOut = 6 * time.Second + DefaultDiscoveryDialTimeout = 2 * time.Second + DefaultDiscoveryRequestTimeOut = 5 * time.Second + DefaultDiscoveryKeepAliveTime = 2 * time.Second + DefaultDiscoveryKeepAliveTimeOut = 6 * time.Second + DefaultDiscoveryInsecureTransport = true + DefaultSelfSignedCertValidity = 1 + DefaultTLSMinVersion = string(tlsutil.TLSVersion12) DefaultListenPeerURLs = "http://localhost:2380" DefaultListenClientURLs = "http://localhost:2379" @@ -101,6 +106,8 @@ const ( // ExperimentalDistributedTracingServiceName is the default etcd service name. ExperimentalDistributedTracingServiceName = "etcd" + DefaultExperimentalTxnModeWriteWithSharedBuffer = true + // DefaultStrictReconfigCheck is the default value for "--strict-reconfig-check" flag. // It's enabled by default. DefaultStrictReconfigCheck = true @@ -595,15 +602,18 @@ func NewConfig() *Config { CORS: map[string]struct{}{"*": {}}, HostWhitelist: map[string]struct{}{"*": {}}, - AuthToken: DefaultAuthToken, - BcryptCost: uint(bcrypt.DefaultCost), - AuthTokenTTL: 300, + AuthToken: DefaultAuthToken, + BcryptCost: uint(bcrypt.DefaultCost), + AuthTokenTTL: 300, + SelfSignedCertValidity: DefaultSelfSignedCertValidity, + TlsMinVersion: DefaultTLSMinVersion, PreVote: true, loggerMu: new(sync.RWMutex), logger: nil, Logger: "zap", + LogFormat: DefaultLoggingFormat, LogOutputs: []string{DefaultLogOutput}, LogLevel: logutil.DefaultLogLevel, EnableLogRotation: false, @@ -617,6 +627,10 @@ func NewConfig() *Config { // TODO: delete in v3.7 ExperimentalMaxLearners: membership.DefaultMaxLearners, + ExperimentalTxnModeWriteWithSharedBuffer: DefaultExperimentalTxnModeWriteWithSharedBuffer, + ExperimentalDistributedTracingAddress: ExperimentalDistributedTracingAddress, + ExperimentalDistributedTracingServiceName: ExperimentalDistributedTracingServiceName, + CompactHashCheckTime: DefaultCompactHashCheckTime, // TODO: delete in v3.7 ExperimentalCompactHashCheckTime: DefaultCompactHashCheckTime, @@ -630,14 +644,17 @@ func NewConfig() *Config { KeepAliveTime: DefaultDiscoveryKeepAliveTime, KeepAliveTimeout: DefaultDiscoveryKeepAliveTimeOut, - Secure: &clientv3.SecureConfig{}, - Auth: &clientv3.AuthConfig{}, + Secure: &clientv3.SecureConfig{ + InsecureTransport: true, + }, + Auth: &clientv3.AuthConfig{}, }, }, - AutoCompactionMode: DefaultAutoCompactionMode, - ServerFeatureGate: features.NewDefaultServerFeatureGate(DefaultName, nil), - FlagsExplicitlySet: map[string]bool{}, + AutoCompactionMode: DefaultAutoCompactionMode, + AutoCompactionRetention: DefaultAutoCompactionRetention, + ServerFeatureGate: features.NewDefaultServerFeatureGate(DefaultName, nil), + FlagsExplicitlySet: map[string]bool{}, } cfg.InitialCluster = cfg.InitialClusterFromName(cfg.Name) return cfg diff --git a/server/embed/config_test.go b/server/embed/config_test.go index 757769b8722..7e12ede3023 100644 --- a/server/embed/config_test.go +++ b/server/embed/config_test.go @@ -33,7 +33,6 @@ import ( "sigs.k8s.io/yaml" "go.etcd.io/etcd/client/pkg/v3/srv" - "go.etcd.io/etcd/client/pkg/v3/tlsutil" "go.etcd.io/etcd/client/pkg/v3/transport" "go.etcd.io/etcd/client/pkg/v3/types" "go.etcd.io/etcd/pkg/v3/featuregate" @@ -1051,19 +1050,8 @@ func TestMatchNewConfigAddFlags(t *testing.T) { fs := flag.NewFlagSet("etcd", flag.ContinueOnError) cfg.AddFlags(fs) require.NoError(t, fs.Parse(nil)) - - newConfig := NewConfig() - // TODO: Remove the following assigments when both match. - newConfig.SelfSignedCertValidity = 1 - newConfig.TlsMinVersion = string(tlsutil.TLSVersion12) - newConfig.DiscoveryCfg.Secure.InsecureTransport = true - newConfig.AutoCompactionRetention = "0" - newConfig.ExperimentalDistributedTracingAddress = "localhost:4317" - newConfig.ExperimentalDistributedTracingServiceName = "etcd" - newConfig.LogFormat = "json" - newConfig.ExperimentalTxnModeWriteWithSharedBuffer = true // TODO: Reduce number of unexported fields set in config - if diff := cmp.Diff(newConfig, cfg, cmpopts.IgnoreUnexported(transport.TLSInfo{}, Config{}), cmp.Comparer(func(a, b featuregate.FeatureGate) bool { + if diff := cmp.Diff(NewConfig(), cfg, cmpopts.IgnoreUnexported(transport.TLSInfo{}, Config{}), cmp.Comparer(func(a, b featuregate.FeatureGate) bool { return a.String() == b.String() })); diff != "" { t.Errorf("Diff: %s", diff)