diff --git a/config/crd/bases/anywhere.eks.amazonaws.com_clusters.yaml b/config/crd/bases/anywhere.eks.amazonaws.com_clusters.yaml index 7d3ff1b89331..9a9f2ca106e6 100644 --- a/config/crd/bases/anywhere.eks.amazonaws.com_clusters.yaml +++ b/config/crd/bases/anywhere.eks.amazonaws.com_clusters.yaml @@ -71,6 +71,12 @@ spec: allowed between pods. Accepted values are default, always, never. type: string + skipUpgrade: + default: false + description: SkipUpgrade indicicates that Cilium maintenance + should be skipped during upgrades. This can be used + when operators wish to self manage the Cilium installation. + type: boolean type: object kindnetd: type: object diff --git a/config/manifest/eksa-components.yaml b/config/manifest/eksa-components.yaml index 2e2adb3b27eb..638bb83327cc 100644 --- a/config/manifest/eksa-components.yaml +++ b/config/manifest/eksa-components.yaml @@ -3642,6 +3642,12 @@ spec: allowed between pods. Accepted values are default, always, never. type: string + skipUpgrade: + default: false + description: SkipUpgrade indicicates that Cilium maintenance + should be skipped during upgrades. This can be used + when operators wish to self manage the Cilium installation. + type: boolean type: object kindnetd: type: object diff --git a/pkg/api/v1alpha1/cluster_types.go b/pkg/api/v1alpha1/cluster_types.go index b71300b93c70..6004a915b606 100644 --- a/pkg/api/v1alpha1/cluster_types.go +++ b/pkg/api/v1alpha1/cluster_types.go @@ -678,6 +678,12 @@ type CNIConfig struct { type CiliumConfig struct { // PolicyEnforcementMode determines communication allowed between pods. Accepted values are default, always, never. PolicyEnforcementMode CiliumPolicyEnforcementMode `json:"policyEnforcementMode,omitempty"` + + // SkipUpgrade indicicates that Cilium maintenance should be skipped during upgrades. This can + // be used when operators wish to self manage the Cilium installation. + // +kubebuilder:default=false + // +optional + SkipUpgrade *bool `json:"skipUpgrade,omitempty"` } type KindnetdConfig struct{} diff --git a/pkg/api/v1alpha1/zz_generated.deepcopy.go b/pkg/api/v1alpha1/zz_generated.deepcopy.go index 95f8ef91599a..151488923133 100644 --- a/pkg/api/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/api/v1alpha1/zz_generated.deepcopy.go @@ -280,7 +280,7 @@ func (in *CNIConfig) DeepCopyInto(out *CNIConfig) { if in.Cilium != nil { in, out := &in.Cilium, &out.Cilium *out = new(CiliumConfig) - **out = **in + (*in).DeepCopyInto(*out) } if in.Kindnetd != nil { in, out := &in.Kindnetd, &out.Kindnetd @@ -302,6 +302,11 @@ func (in *CNIConfig) DeepCopy() *CNIConfig { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CiliumConfig) DeepCopyInto(out *CiliumConfig) { *out = *in + if in.SkipUpgrade != nil { + in, out := &in.SkipUpgrade, &out.SkipUpgrade + *out = new(bool) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumConfig. @@ -2340,6 +2345,17 @@ func (in *SnowMachineConfigSpec) DeepCopyInto(out *SnowMachineConfigSpec) { *out = new(snowapiv1beta1.Volume) **out = **in } + if in.NonRootVolumes != nil { + in, out := &in.NonRootVolumes, &out.NonRootVolumes + *out = make([]*snowapiv1beta1.Volume, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(snowapiv1beta1.Volume) + **out = **in + } + } + } in.Network.DeepCopyInto(&out.Network) }