@@ -100,6 +100,26 @@ type ControlPlaneClass struct {
100
100
// referenced above is Machine based and supports setting replicas.
101
101
// +optional
102
102
MachineHealthCheck * MachineHealthCheckClass `json:"machineHealthCheck,omitempty"`
103
+
104
+ // NodeDrainTimeout is the total amount of time that the controller will spend on draining a node.
105
+ // The default value is 0, meaning that the node can be drained without any time limitations.
106
+ // NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
107
+ // NOTE: This value can be overridden while defining a Cluster.Topology.
108
+ // +optional
109
+ NodeDrainTimeout * metav1.Duration `json:"nodeDrainTimeout,omitempty"`
110
+
111
+ // NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes
112
+ // to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.
113
+ // NOTE: This value can be overridden while defining a Cluster.Topology.
114
+ // +optional
115
+ NodeVolumeDetachTimeout * metav1.Duration `json:"nodeVolumeDetachTimeout,omitempty"`
116
+
117
+ // NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine
118
+ // hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely.
119
+ // Defaults to 10 seconds.
120
+ // NOTE: This value can be overridden while defining a Cluster.Topology.
121
+ // +optional
122
+ NodeDeletionTimeout * metav1.Duration `json:"nodeDeletionTimeout,omitempty"`
103
123
}
104
124
105
125
// WorkersClass is a collection of deployment classes.
@@ -125,6 +145,44 @@ type MachineDeploymentClass struct {
125
145
// MachineHealthCheck defines a MachineHealthCheck for this MachineDeploymentClass.
126
146
// +optional
127
147
MachineHealthCheck * MachineHealthCheckClass `json:"machineHealthCheck,omitempty"`
148
+
149
+ // FailureDomain is the failure domain the machines will be created in.
150
+ // Must match a key in the FailureDomains map stored on the cluster object.
151
+ // NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
152
+ // +optional
153
+ FailureDomain * string `json:"failureDomain,omitempty"`
154
+
155
+ // NodeDrainTimeout is the total amount of time that the controller will spend on draining a node.
156
+ // The default value is 0, meaning that the node can be drained without any time limitations.
157
+ // NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
158
+ // NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
159
+ // +optional
160
+ NodeDrainTimeout * metav1.Duration `json:"nodeDrainTimeout,omitempty"`
161
+
162
+ // NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes
163
+ // to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.
164
+ // NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
165
+ // +optional
166
+ NodeVolumeDetachTimeout * metav1.Duration `json:"nodeVolumeDetachTimeout,omitempty"`
167
+
168
+ // NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine
169
+ // hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely.
170
+ // Defaults to 10 seconds.
171
+ // NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
172
+ // +optional
173
+ NodeDeletionTimeout * metav1.Duration `json:"nodeDeletionTimeout,omitempty"`
174
+
175
+ // Minimum number of seconds for which a newly created machine should
176
+ // be ready.
177
+ // Defaults to 0 (machine will be considered available as soon as it
178
+ // is ready)
179
+ // NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
180
+ MinReadySeconds * int32 `json:"minReadySeconds,omitempty"`
181
+
182
+ // The deployment strategy to use to replace existing machines with
183
+ // new ones.
184
+ // NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
185
+ Strategy * MachineDeploymentStrategy `json:"strategy,omitempty"`
128
186
}
129
187
130
188
// MachineDeploymentClassTemplate defines how a MachineDeployment generated from a MachineDeploymentClass
0 commit comments