Skip to content

Commit c03b66e

Browse files
authored
Enable updating encryption config for EKS Clusters (#104)
This commits adds the capability fo rthe eks-controller to update the encryption configuration for an EKS Cluster. Only clusters that didn't receive a encryption key on create are able to be updated. If a user tries to modify or delete an existing encryption configuraiton the controller will set a terminal condition stating that it's an impossible operation. Signed-off-by: Amine Hilaly <[email protected]> By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
1 parent 971b975 commit c03b66e

File tree

15 files changed

+298
-6
lines changed

15 files changed

+298
-6
lines changed

apis/v1alpha1/ack-generate-metadata.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ api_directory_checksum: d960a9f06b58cc445e5ab21fb26ee6d92c441374
77
api_version: v1alpha1
88
aws_sdk_go_version: v1.49.13
99
generator_config_info:
10-
file_checksum: ac8c0c6f258d7b552ccbaf81401e6c511de3373e
10+
file_checksum: d4bad3acfd8ddb3923869d78c65384973ff25151
1111
original_file_name: generator.yaml
1212
last_modification:
1313
reason: API generation

apis/v1alpha1/generator.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ resources:
7373
priority: 1
7474
Cluster:
7575
fields:
76-
EncryptionProvider.Provider.KeyArn:
76+
EncryptionConfig.Provider.KeyArn:
7777
references:
7878
service_name: kms
79-
resources: Key
79+
resource: Key
8080
path: Status.ACKResourceMetadata.ARN
8181
RoleArn:
8282
references:

apis/v1alpha1/types.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/v1alpha1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/controller/main.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/bases/eks.services.k8s.aws_clusters.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,18 @@ spec:
8888
properties:
8989
keyARN:
9090
type: string
91+
keyRef:
92+
description: Reference field for KeyARN
93+
properties:
94+
from:
95+
description: |-
96+
AWSResourceReference provides all the values necessary to reference another
97+
k8s resource for finding the identifier(Id/ARN/Name)
98+
properties:
99+
name:
100+
type: string
101+
type: object
102+
type: object
91103
type: object
92104
resources:
93105
items:

config/rbac/cluster-role-controller.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,20 @@ rules:
192192
verbs:
193193
- get
194194
- list
195+
- apiGroups:
196+
- kms.services.k8s.aws
197+
resources:
198+
- keys
199+
verbs:
200+
- get
201+
- list
202+
- apiGroups:
203+
- kms.services.k8s.aws
204+
resources:
205+
- keys/status
206+
verbs:
207+
- get
208+
- list
195209
- apiGroups:
196210
- services.k8s.aws
197211
resources:

generator.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ resources:
7373
priority: 1
7474
Cluster:
7575
fields:
76-
EncryptionProvider.Provider.KeyArn:
76+
EncryptionConfig.Provider.KeyArn:
7777
references:
7878
service_name: kms
79-
resources: Key
79+
resource: Key
8080
path: Status.ACKResourceMetadata.ARN
8181
RoleArn:
8282
references:

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ toolchain go1.21.5
77
require (
88
github.com/aws-controllers-k8s/ec2-controller v1.1.0
99
github.com/aws-controllers-k8s/iam-controller v1.3.1
10+
github.com/aws-controllers-k8s/kms-controller v1.0.9
1011
github.com/aws-controllers-k8s/runtime v0.30.0
1112
github.com/aws/aws-sdk-go v1.49.13
1213
github.com/go-logr/logr v1.4.1

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ github.com/aws-controllers-k8s/ec2-controller v1.1.0 h1:SSutBopBi2nYWqNNZfkVgv7k
22
github.com/aws-controllers-k8s/ec2-controller v1.1.0/go.mod h1:PvsQehgncHgcu9FiY13M45+GkVsKI98g7G83SrgH7vY=
33
github.com/aws-controllers-k8s/iam-controller v1.3.1 h1:/3yH3tAtSVAAt2ulIqsmutjWXhbKWXSaEZ1pph358GE=
44
github.com/aws-controllers-k8s/iam-controller v1.3.1/go.mod h1:7nZzMtEN8xEL5fYhL9FKkBhqoP4QMmMp5x5dXDGwfYM=
5+
github.com/aws-controllers-k8s/kms-controller v1.0.9 h1:GZHSnuZBoWp9r6RaJ3siyDn5BRhDuaZJXtdBKeAiLSw=
6+
github.com/aws-controllers-k8s/kms-controller v1.0.9/go.mod h1:Pnz0d5sly7dUgmYMDJWSRIKASOujJFi/b8N2q1qCLqU=
57
github.com/aws-controllers-k8s/runtime v0.30.0 h1:AibYRdi/7xUA3t8BA0u8g+J+OioaTAT6R4Vq8hxLiYw=
68
github.com/aws-controllers-k8s/runtime v0.30.0/go.mod h1:Pv1ozlUaO11KO2mwPN/HzhAtZ70ZDE9UP24mjsbkul0=
79
github.com/aws/aws-sdk-go v1.49.13 h1:f4mGztsgnx2dR9r8FQYa9YW/RsKb+N7bgef4UGrOW1Y=

0 commit comments

Comments
 (0)