@@ -50,6 +50,8 @@ type etcdConfig struct {
5050 AdvertiseClientUrls map [string ][]string `json:"advertise-client-urls"`
5151 ClientSecurity * securityConfig `json:"client-transport-security,omitempty"`
5252 PeerSecurity * securityConfig `json:"peer-transport-security,omitempty"`
53+ //TODO: (@Shreyas-s14): remove this field once etcd 3.5.26 is the minimum supported version.
54+ NextClusterVersionCompatible bool `json:"next-cluster-version-compatible,omitempty"`
5355}
5456
5557type securityConfig struct {
@@ -65,22 +67,23 @@ func createEtcdConfig(etcd *druidv1alpha1.Etcd) *etcdConfig {
6567 peerScheme , peerSecurityConfig := getSchemeAndSecurityConfig (etcd .Spec .Etcd .PeerUrlTLS , common .VolumeMountPathEtcdPeerCA , common .VolumeMountPathEtcdPeerServerTLS )
6668 peerSvcName := druidv1alpha1 .GetPeerServiceName (etcd .ObjectMeta )
6769 cfg := & etcdConfig {
68- Name : "etcd-config" ,
69- DataDir : defaultDataDir ,
70- Metrics : ptr .Deref (etcd .Spec .Etcd .Metrics , druidv1alpha1 .Basic ),
71- SnapshotCount : getSnapshotCount (etcd ),
72- EnableV2 : false ,
73- EnableGRPCGateway : ptr .Deref (etcd .Spec .Etcd .EnableGRPCGateway , false ),
74- QuotaBackendBytes : getDBQuotaBytes (etcd ),
75- InitialClusterToken : defaultInitialClusterToken ,
76- InitialClusterState : defaultInitialClusterState ,
77- InitialCluster : prepareInitialCluster (etcd , peerScheme ),
78- AutoCompactionMode : ptr .Deref (etcd .Spec .Common .AutoCompactionMode , druidv1alpha1 .Periodic ),
79- AutoCompactionRetention : ptr .Deref (etcd .Spec .Common .AutoCompactionRetention , defaultAutoCompactionRetention ),
80- ListenPeerUrls : fmt .Sprintf ("%s://0.0.0.0:%d" , peerScheme , ptr .Deref (etcd .Spec .Etcd .ServerPort , common .DefaultPortEtcdPeer )),
81- ListenClientUrls : fmt .Sprintf ("%s://0.0.0.0:%d" , clientScheme , ptr .Deref (etcd .Spec .Etcd .ClientPort , common .DefaultPortEtcdClient )),
82- AdvertisePeerUrls : getAdvertiseURLs (etcd , advertiseURLTypePeer , peerScheme , peerSvcName ),
83- AdvertiseClientUrls : getAdvertiseURLs (etcd , advertiseURLTypeClient , clientScheme , peerSvcName ),
70+ Name : "etcd-config" ,
71+ DataDir : defaultDataDir ,
72+ Metrics : ptr .Deref (etcd .Spec .Etcd .Metrics , druidv1alpha1 .Basic ),
73+ SnapshotCount : getSnapshotCount (etcd ),
74+ EnableV2 : false ,
75+ EnableGRPCGateway : ptr .Deref (etcd .Spec .Etcd .EnableGRPCGateway , false ),
76+ QuotaBackendBytes : getDBQuotaBytes (etcd ),
77+ InitialClusterToken : defaultInitialClusterToken ,
78+ InitialClusterState : defaultInitialClusterState ,
79+ InitialCluster : prepareInitialCluster (etcd , peerScheme ),
80+ AutoCompactionMode : ptr .Deref (etcd .Spec .Common .AutoCompactionMode , druidv1alpha1 .Periodic ),
81+ AutoCompactionRetention : ptr .Deref (etcd .Spec .Common .AutoCompactionRetention , defaultAutoCompactionRetention ),
82+ ListenPeerUrls : fmt .Sprintf ("%s://0.0.0.0:%d" , peerScheme , ptr .Deref (etcd .Spec .Etcd .ServerPort , common .DefaultPortEtcdPeer )),
83+ ListenClientUrls : fmt .Sprintf ("%s://0.0.0.0:%d" , clientScheme , ptr .Deref (etcd .Spec .Etcd .ClientPort , common .DefaultPortEtcdClient )),
84+ AdvertisePeerUrls : getAdvertiseURLs (etcd , advertiseURLTypePeer , peerScheme , peerSvcName ),
85+ AdvertiseClientUrls : getAdvertiseURLs (etcd , advertiseURLTypeClient , clientScheme , peerSvcName ),
86+ NextClusterVersionCompatible : true ,
8487 }
8588 cfg .PeerSecurity = peerSecurityConfig
8689 cfg .ClientSecurity = clientSecurityConfig
0 commit comments