Skip to content

Commit e87d560

Browse files
committed
Added support for DeletionProtection
1 parent ccd69ae commit e87d560

File tree

6 files changed

+240
-117
lines changed

6 files changed

+240
-117
lines changed

controlplane/eks/api/v1beta1/conversion.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ func (r *AWSManagedControlPlane) ConvertTo(dstRaw conversion.Hub) error {
122122
dst.Spec.RolePermissionsBoundary = restored.Spec.RolePermissionsBoundary
123123
dst.Status.Version = restored.Status.Version
124124
dst.Spec.BootstrapSelfManagedAddons = restored.Spec.BootstrapSelfManagedAddons
125+
// Preserve fields that only exist in v1beta2
126+
dst.Spec.DeletionProtection = restored.Spec.DeletionProtection
125127
dst.Spec.UpgradePolicy = restored.Spec.UpgradePolicy
126128
return nil
127129
}

controlplane/eks/api/v1beta2/awsmanagedcontrolplane_types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,12 @@ type AWSManagedControlPlaneSpec struct { //nolint: maligned
206206
// +kubebuilder:default=true
207207
BootstrapSelfManagedAddons bool `json:"bootstrapSelfManagedAddons,omitempty"`
208208

209+
// DeletionProtection indicates whether to enable deletion protection for the EKS cluster.
210+
// When enabled, the cluster cannot be deleted unless deletion protection is first disabled.
211+
// Matches the EKS CreateCluster and UpdateClusterConfig API field `deletionProtection`.
212+
// +kubebuilder:default=false
213+
DeletionProtection bool `json:"deletionProtection,omitempty"`
214+
209215
// RestrictPrivateSubnets indicates that the EKS control plane should only use private subnets.
210216
// +kubebuilder:default=false
211217
RestrictPrivateSubnets bool `json:"restrictPrivateSubnets,omitempty"`

go.mod

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@ require (
77
github.com/apparentlymart/go-cidr v1.1.0
88
github.com/aws/amazon-vpc-cni-k8s v1.15.5
99
github.com/aws/aws-lambda-go v1.41.0
10-
github.com/aws/aws-sdk-go-v2 v1.38.0
11-
github.com/aws/aws-sdk-go-v2/config v1.31.0
12-
github.com/aws/aws-sdk-go-v2/credentials v1.18.4
13-
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4
14-
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.4
15-
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0
16-
github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0
17-
github.com/aws/aws-sdk-go-v2/service/ec2 v1.233.0
18-
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0
19-
github.com/aws/aws-sdk-go-v2/service/efs v1.39.0
20-
github.com/aws/aws-sdk-go-v2/service/eks v1.64.0
21-
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.29.6
22-
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.45.2
23-
github.com/aws/aws-sdk-go-v2/service/iam v1.32.0
24-
github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.26.6
25-
github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0
26-
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.6
27-
github.com/aws/aws-sdk-go-v2/service/ssm v1.59.1
28-
github.com/aws/aws-sdk-go-v2/service/sts v1.37.0
29-
github.com/aws/smithy-go v1.22.5
10+
github.com/aws/aws-sdk-go-v2 v1.39.4
11+
github.com/aws/aws-sdk-go-v2/config v1.31.15
12+
github.com/aws/aws-sdk-go-v2/credentials v1.18.19
13+
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.1
14+
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.60.1
15+
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.53.9
16+
github.com/aws/aws-sdk-go-v2/service/configservice v1.59.0
17+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.259.0
18+
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.0
19+
github.com/aws/aws-sdk-go-v2/service/efs v1.41.0
20+
github.com/aws/aws-sdk-go-v2/service/eks v1.74.5
21+
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.33.9
22+
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.51.3
23+
github.com/aws/aws-sdk-go-v2/service/iam v1.49.0
24+
github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.30.9
25+
github.com/aws/aws-sdk-go-v2/service/s3 v1.89.0
26+
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.39.9
27+
github.com/aws/aws-sdk-go-v2/service/ssm v1.66.2
28+
github.com/aws/aws-sdk-go-v2/service/sts v1.38.9
29+
github.com/aws/smithy-go v1.23.1
3030
github.com/awslabs/goformation/v4 v4.19.5
3131
github.com/blang/semver v3.5.1+incompatible
3232
github.com/coreos/ignition v0.35.0
@@ -111,23 +111,23 @@ require (
111111
github.com/adrg/xdg v0.5.3 // indirect
112112
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
113113
github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 // indirect
114-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 // indirect
115-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 // indirect
116-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 // indirect
117-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 // indirect
118-
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
119-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 // indirect
120-
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.50.0
121-
github.com/aws/aws-sdk-go-v2/service/eventbridge v1.39.3
122-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect
123-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 // indirect
124-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 // indirect
125-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 // indirect
126-
github.com/aws/aws-sdk-go-v2/service/organizations v1.27.3 // indirect
127-
github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.4
128-
github.com/aws/aws-sdk-go-v2/service/sqs v1.38.8
129-
github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 // indirect
130-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 // indirect
114+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.2 // indirect
115+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.11 // indirect
116+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.11 // indirect
117+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.11 // indirect
118+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
119+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.11 // indirect
120+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.68.1
121+
github.com/aws/aws-sdk-go-v2/service/eventbridge v1.45.8
122+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.2 // indirect
123+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.2 // indirect
124+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.11 // indirect
125+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.11 // indirect
126+
github.com/aws/aws-sdk-go-v2/service/organizations v1.46.0 // indirect
127+
github.com/aws/aws-sdk-go-v2/service/servicequotas v1.33.3
128+
github.com/aws/aws-sdk-go-v2/service/sqs v1.42.11
129+
github.com/aws/aws-sdk-go-v2/service/sso v1.29.8 // indirect
130+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.3 // indirect
131131
github.com/aymerick/douceur v0.2.0 // indirect
132132
github.com/beorn7/perks v1.0.1 // indirect
133133
github.com/blang/semver/v4 v4.0.0 // indirect
@@ -185,7 +185,6 @@ require (
185185
github.com/huandu/xstrings v1.5.0 // indirect
186186
github.com/imdario/mergo v0.3.13 // indirect
187187
github.com/inconshreveable/mousetrap v1.1.0 // indirect
188-
github.com/jmespath/go-jmespath v0.4.0 // indirect
189188
github.com/josharian/intern v1.0.0 // indirect
190189
github.com/json-iterator/go v1.1.12 // indirect
191190
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect

0 commit comments

Comments
 (0)