Skip to content

Commit beba0f9

Browse files
authored
Add functionality to pass reference of AmazonManagedKafka (MSK) in EventSourceMapping resource (#94)
Issue #, if available: [#1394](aws-controllers-k8s/community#1394) Description of changes: This PR adds functionality to pass reference for ARN of AmazonManagedKafka cluster to `EventSourceArn` in`EventSourceMapping` resource. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
1 parent d5ed5df commit beba0f9

15 files changed

+180
-7
lines changed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
ack_generate_info:
2-
build_date: "2023-06-07T18:16:37Z"
3-
build_hash: dcb9fd6c564ce817a48abd6f7b9ee4308aa1d13f
2+
build_date: "2023-06-27T22:12:27Z"
3+
build_hash: e9b68590da73ce9143ba1e4361cebdc1d876c81e
44
go_version: go1.19
5-
version: v0.26.1-4-gdcb9fd6
6-
api_directory_checksum: ca34c731b281f29e80984c872002e220ddee5133
5+
version: v0.26.1-7-ge9b6859
6+
api_directory_checksum: 5326aa7650a3899230ee809563bea350169fdca4
77
api_version: v1alpha1
88
aws_sdk_go_version: v1.44.181
99
generator_config_info:
10-
file_checksum: d53a6ae44af0a12af854385908c6e09355b3a126
10+
file_checksum: a9fdc0888330c561da4bf5f21d0f5afe48217935
1111
original_file_name: generator.yaml
1212
last_modification:
1313
reason: API generation

apis/v1alpha1/event_source_mapping.go

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

apis/v1alpha1/generator.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ resources:
117117
resource: Broker
118118
path: Status.BrokerID
119119
service_name: mq
120+
EventSourceARN:
121+
references:
122+
resource: Cluster
123+
path: Status.ACKResourceMetadata.ARN
124+
service_name: kafka
120125
UUID:
121126
is_primary_key: true
122127
FunctionName:

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/lambda.services.k8s.aws_eventsourcemappings.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,19 @@ spec:
9090
Streaming for Apache Kafka – The ARN of the cluster. \n * Amazon
9191
MQ – The ARN of the broker."
9292
type: string
93+
eventSourceRef:
94+
description: "AWSResourceReferenceWrapper provides a wrapper around
95+
*AWSResourceReference type to provide more user friendly syntax
96+
for references using 'from' field Ex: APIIDRef: \n from: name: my-api"
97+
properties:
98+
from:
99+
description: AWSResourceReference provides all the values necessary
100+
to reference another k8s resource for finding the identifier(Id/ARN/Name)
101+
properties:
102+
name:
103+
type: string
104+
type: object
105+
type: object
93106
filterCriteria:
94107
description: An object that defines the filter criteria that determine
95108
whether Lambda should process an event. For more information, see

config/rbac/cluster-role-controller.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@ rules:
5959
verbs:
6060
- get
6161
- list
62+
- apiGroups:
63+
- kafka.services.k8s.aws
64+
resources:
65+
- clusters
66+
verbs:
67+
- get
68+
- list
69+
- apiGroups:
70+
- kafka.services.k8s.aws
71+
resources:
72+
- clusters/status
73+
verbs:
74+
- get
75+
- list
6276
- apiGroups:
6377
- kms.services.k8s.aws
6478
resources:

generator.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ resources:
117117
resource: Broker
118118
path: Status.BrokerID
119119
service_name: mq
120+
EventSourceARN:
121+
references:
122+
resource: Cluster
123+
path: Status.ACKResourceMetadata.ARN
124+
service_name: kafka
120125
UUID:
121126
is_primary_key: true
122127
FunctionName:

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ go 1.19
44

55
require (
66
github.com/aws-controllers-k8s/ec2-controller v0.0.21
7+
github.com/aws-controllers-k8s/kafka-controller v0.0.0-20230615185632-102279061de1
78
github.com/aws-controllers-k8s/kms-controller v0.1.2
89
github.com/aws-controllers-k8s/mq-controller v0.0.22
910
github.com/aws-controllers-k8s/runtime v0.26.0

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
4040
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
4141
github.com/aws-controllers-k8s/ec2-controller v0.0.21 h1:5O7/9aED2Tl9OT0TL2rWrc1Ix5V1UxYEgDKAhvFhPJQ=
4242
github.com/aws-controllers-k8s/ec2-controller v0.0.21/go.mod h1:OMsmJeJ3iQZ1sJgs3hqnjBRnJ3hmTzJUO38W5rxnB5M=
43+
github.com/aws-controllers-k8s/kafka-controller v0.0.0-20230615185632-102279061de1 h1:NvmtIsm6fVoGUOvMfevONJETf+PtRWAiD3XzZBtQ2WA=
44+
github.com/aws-controllers-k8s/kafka-controller v0.0.0-20230615185632-102279061de1/go.mod h1:BHW00DFtXtugpsyn0nN0YdP32xmCN5p3lIJYP+Y0iVY=
4345
github.com/aws-controllers-k8s/kms-controller v0.1.2 h1:9lb98jspqOpFpmIFHOJ6pRnOkC8kDEPIgTAb5QnVGZo=
4446
github.com/aws-controllers-k8s/kms-controller v0.1.2/go.mod h1:6CoV0UMFd03EUF9dXgOTTScGdBhJzsWn9W0dw2n0kA4=
4547
github.com/aws-controllers-k8s/mq-controller v0.0.22 h1:XxFSQL9yaaiiuZ6E/fh/+Y9C+3DG2c5oXWG/4ZNwd1w=

helm/crds/lambda.services.k8s.aws_eventsourcemappings.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,19 @@ spec:
9090
Streaming for Apache Kafka – The ARN of the cluster. \n - Amazon
9191
MQ – The ARN of the broker."
9292
type: string
93+
eventSourceRef:
94+
description: "AWSResourceReferenceWrapper provides a wrapper around
95+
*AWSResourceReference type to provide more user friendly syntax
96+
for references using 'from' field Ex: APIIDRef: \n from: name: my-api"
97+
properties:
98+
from:
99+
description: AWSResourceReference provides all the values necessary
100+
to reference another k8s resource for finding the identifier(Id/ARN/Name)
101+
properties:
102+
name:
103+
type: string
104+
type: object
105+
type: object
93106
filterCriteria:
94107
description: An object that defines the filter criteria that determine
95108
whether Lambda should process an event. For more information, see

helm/templates/cluster-role-controller.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,20 @@ rules:
7474
verbs:
7575
- get
7676
- list
77+
- apiGroups:
78+
- kafka.services.k8s.aws
79+
resources:
80+
- clusters
81+
verbs:
82+
- get
83+
- list
84+
- apiGroups:
85+
- kafka.services.k8s.aws
86+
resources:
87+
- clusters/status
88+
verbs:
89+
- get
90+
- list
7791
- apiGroups:
7892
- kms.services.k8s.aws
7993
resources:

helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ deletionPolicy: delete
110110
# controller reconciliation configurations
111111
reconcile:
112112
# The default duration, in seconds, to wait before resyncing desired state of custom resources.
113-
defaultResyncPeriod: 0
113+
defaultResyncPeriod: 36000 # 10 Hours
114114
# An object representing the reconcile resync configuration for each specific resource.
115115
resourceResyncPeriods: {}
116116

pkg/resource/event_source_mapping/delta.go

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

pkg/resource/event_source_mapping/references.go

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

0 commit comments

Comments
 (0)