diff --git a/api/v1beta1/kyma_types.go b/api/v1beta1/kyma_types.go index 832649b390..dc893c5fc5 100644 --- a/api/v1beta1/kyma_types.go +++ b/api/v1beta1/kyma_types.go @@ -75,6 +75,10 @@ type KymaSpec struct { // +kubebuilder:validation:MinLength:=3 Channel string `json:"channel"` + // SkipMaintenanceWindows indicates whether module upgrades that require downtime + // should bypass the defined Maintenance Windows and be applied immediately. + SkipMaintenanceWindows bool `json:"skipMaintenanceWindows,omitempty"` + // Modules specifies the list of modules to be installed Modules []v1beta2.Module `json:"modules,omitempty"` diff --git a/api/v1beta2/kyma_types.go b/api/v1beta2/kyma_types.go index 60ada0772b..8ffa5398e3 100644 --- a/api/v1beta2/kyma_types.go +++ b/api/v1beta2/kyma_types.go @@ -49,6 +49,10 @@ type KymaSpec struct { // +kubebuilder:validation:MinLength:=3 Channel string `json:"channel"` + // SkipMaintenanceWindows indicates whether module upgrades that require downtime + // should bypass the defined Maintenance Windows and be applied immediately. + SkipMaintenanceWindows bool `json:"skipMaintenanceWindows,omitempty"` + // Modules specifies the list of modules to be installed // +listType=map // +listMapKey=name diff --git a/config/crd/bases/operator.kyma-project.io_kymas.yaml b/config/crd/bases/operator.kyma-project.io_kymas.yaml index a6cd3321d0..0b3538d973 100644 --- a/config/crd/bases/operator.kyma-project.io_kymas.yaml +++ b/config/crd/bases/operator.kyma-project.io_kymas.yaml @@ -108,6 +108,11 @@ spec: - name type: object type: array + skipMaintenanceWindows: + description: |- + SkipMaintenanceWindows indicates whether module upgrades that require downtime + should bypass the defined Maintenance Windows and be applied immediately. + type: boolean sync: description: Active Synchronization Settings properties: @@ -553,6 +558,11 @@ spec: x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map + skipMaintenanceWindows: + description: |- + SkipMaintenanceWindows indicates whether module upgrades that require downtime + should bypass the defined Maintenance Windows and be applied immediately. + type: boolean required: - channel type: object diff --git a/docs/contributor/resources/01-kyma.md b/docs/contributor/resources/01-kyma.md index e6f1e80dd0..c01f48dbc0 100644 --- a/docs/contributor/resources/01-kyma.md +++ b/docs/contributor/resources/01-kyma.md @@ -19,6 +19,10 @@ It can be used to only listen to ModuleTemplate CRs provided under the same cont ## Configuration +### **.spec.skipMaintenanceWindows** + +Use the **skipMaintenanceWindows** parameter to indicate whether the module upgrades that require downtime should bypass the defined Maintenance Windows. If it is set to `true`, the module upgrade will happen as soon as a new module version is released in the Kyma Control Plane. + ### **.spec.channel** and **.spec.modules[].channel** The **.spec.channel** attribute is used in conjunction with the [release channels](https://github.com/kyma-project/community/tree/main/concepts/modularization#release-channels). The channel that is used for the Kyma CR will always be used as the default in case no other specific channel is used.