@@ -64,6 +64,26 @@ func (c *EtcdCluster) AsOwner() metav1.OwnerReference {
6464 }
6565}
6666
67+ type EtcdConfig struct {
68+ // Heartbeat timeout setting for etcd pod
69+ HeartbeatTimeout int `json:"heartbeatTimeout,omitempty"`
70+
71+ // Election timeout setting for etcd pod
72+ ElectionTimeout int `json:"electionTimeout,omitempty"`
73+
74+ // Snapshot count setting for etcd pod
75+ SnapshotCount int `json:"snapshotCount,omitempty"`
76+
77+ // AutoCompactionMode, https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/maintenance.md
78+ AutoCompactionMode string `json:"autoCompactionMode,omitempty"`
79+
80+ // AutoCompactionRetention, https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/maintenance.md
81+ AutoCompactionRetention string `json:"autoCompactionRetention,omitempty"`
82+
83+ // ExperimentalPeerSkipClientSANVerification indicates whether the peer client san verification will be skipped.
84+ ExperimentalPeerSkipClientSANVerification bool `json:"ExperimentalPeerSkipClientSANVerification,omitempty"`
85+ }
86+
6787type ClusterSpec struct {
6888 // Size is the expected size of the etcd cluster.
6989 // The etcd-operator will eventually make the size of the running
@@ -92,6 +112,9 @@ type ClusterSpec struct {
92112 // Paused is to pause the control of the operator for the etcd cluster.
93113 Paused bool `json:"paused,omitempty"`
94114
115+ // EtcdConfig contains the more configs for the etcd pods.
116+ EtcdConfig `json:",inline"`
117+
95118 // Pod defines the policy to create pod for the etcd pod.
96119 //
97120 // Updating Pod does not take effect on any existing etcd pods.
0 commit comments