Skip to content

Commit fb11b78

Browse files
authored
Merge pull request #9609 from ack-bot/olm-bundle-mwaa-0.1.0
operator ack-mwaa-controller (0.1.0)
2 parents f5bddeb + 3b24ec3 commit fb11b78

9 files changed

Lines changed: 1061 additions & 0 deletions
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
FROM scratch
2+
3+
# Core bundle labels.
4+
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
5+
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
6+
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
7+
LABEL operators.operatorframework.io.bundle.package.v1=ack-mwaa-controller
8+
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
9+
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
10+
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.0
11+
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
12+
LABEL operators.operatorframework.io.metrics.project_layout=unknown
13+
14+
# Labels for testing.
15+
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
16+
LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/
17+
18+
# Copy files to locations specified by labels.
19+
COPY bundle/manifests /manifests/
20+
COPY bundle/metadata /metadata/
21+
COPY bundle/tests/scorecard /tests/scorecard/
Lines changed: 295 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,295 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: |-
6+
[
7+
{
8+
"apiVersion": "mwaa.services.k8s.aws/v1alpha1",
9+
"kind": "Environment",
10+
"metadata": {
11+
"name": "example"
12+
},
13+
"spec": {}
14+
}
15+
]
16+
capabilities: Basic Install
17+
categories: Cloud Provider
18+
certified: "false"
19+
containerImage: public.ecr.aws/aws-controllers-k8s/mwaa-controller:0.1.0
20+
createdAt: "2026-05-04T19:07:30Z"
21+
description: Amazon Managed Workflows for Apache Airflow controller is a service
22+
controller for managing Amazon Managed Workflows for Apache Airflow resources
23+
in Kubernetes
24+
operatorframework.io/suggested-namespace: ack-system
25+
operators.operatorframework.io/builder: operator-sdk-v1.28.0
26+
operators.operatorframework.io/project_layout: unknown
27+
repository: https://github.com/aws-controllers-k8s
28+
support: Community
29+
labels:
30+
operatorframework.io/arch.amd64: supported
31+
operatorframework.io/arch.arm64: supported
32+
operatorframework.io/os.linux: supported
33+
name: ack-mwaa-controller.v0.1.0
34+
namespace: placeholder
35+
spec:
36+
apiservicedefinitions: {}
37+
customresourcedefinitions:
38+
owned:
39+
- description: Environment represents the state of an AWS mwaa Environment resource.
40+
displayName: Environment
41+
kind: Environment
42+
name: environments.mwaa.services.k8s.aws
43+
version: v1alpha1
44+
description: |-
45+
Manage Amazon Managed Workflows for Apache Airflow resources in AWS from within your Kubernetes cluster.
46+
47+
**About Amazon Managed Workflows for Apache Airflow**
48+
Use Amazon Managed Workflows for Apache Airflow, a managed service for Apache Airflow, to set up and run data pipelines in the cloud at scale. Apache Airflow is an open-source tool used to create, schedule, and monitor workflows.
49+
**About the AWS Controllers for Kubernetes**
50+
51+
This controller is a component of the [AWS Controller for Kubernetes](https://github.com/aws/aws-controllers-k8s) project. This project is currently in **developer preview**.
52+
displayName: AWS Controllers for Kubernetes - Amazon Managed Workflows for Apache
53+
Airflow
54+
icon:
55+
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==
56+
mediatype: image/svg+xml
57+
install:
58+
spec:
59+
clusterPermissions:
60+
- rules:
61+
- apiGroups:
62+
- ""
63+
resources:
64+
- configmaps
65+
- secrets
66+
verbs:
67+
- get
68+
- list
69+
- patch
70+
- watch
71+
- apiGroups:
72+
- ""
73+
resources:
74+
- namespaces
75+
verbs:
76+
- get
77+
- list
78+
- watch
79+
- apiGroups:
80+
- ec2.services.k8s.aws
81+
resources:
82+
- securitygroups
83+
- securitygroups/status
84+
- subnets
85+
- subnets/status
86+
verbs:
87+
- get
88+
- list
89+
- apiGroups:
90+
- iam.services.k8s.aws
91+
resources:
92+
- roles
93+
- roles/status
94+
verbs:
95+
- get
96+
- list
97+
- apiGroups:
98+
- kms.services.k8s.aws
99+
resources:
100+
- keys
101+
- keys/status
102+
verbs:
103+
- get
104+
- list
105+
- apiGroups:
106+
- mwaa.services.k8s.aws
107+
resources:
108+
- environments
109+
verbs:
110+
- create
111+
- delete
112+
- get
113+
- list
114+
- patch
115+
- update
116+
- watch
117+
- apiGroups:
118+
- mwaa.services.k8s.aws
119+
resources:
120+
- environments/status
121+
verbs:
122+
- get
123+
- patch
124+
- update
125+
- apiGroups:
126+
- s3.services.k8s.aws
127+
resources:
128+
- buckets
129+
- buckets/status
130+
verbs:
131+
- get
132+
- list
133+
- apiGroups:
134+
- services.k8s.aws
135+
resources:
136+
- fieldexports
137+
- iamroleselectors
138+
verbs:
139+
- create
140+
- delete
141+
- get
142+
- list
143+
- patch
144+
- update
145+
- watch
146+
- apiGroups:
147+
- services.k8s.aws
148+
resources:
149+
- fieldexports/status
150+
- iamroleselectors/status
151+
verbs:
152+
- get
153+
- patch
154+
- update
155+
serviceAccountName: ack-mwaa-controller
156+
deployments:
157+
- label:
158+
app.kubernetes.io/name: ack-mwaa-controller
159+
app.kubernetes.io/part-of: ack-system
160+
name: ack-mwaa-controller
161+
spec:
162+
replicas: 1
163+
selector:
164+
matchLabels:
165+
app.kubernetes.io/name: ack-mwaa-controller
166+
strategy: {}
167+
template:
168+
metadata:
169+
labels:
170+
app.kubernetes.io/name: ack-mwaa-controller
171+
spec:
172+
containers:
173+
- args:
174+
- --aws-region
175+
- $(AWS_REGION)
176+
- --aws-endpoint-url
177+
- $(AWS_ENDPOINT_URL)
178+
- --enable-development-logging=$(ACK_ENABLE_DEVELOPMENT_LOGGING)
179+
- --log-level
180+
- $(ACK_LOG_LEVEL)
181+
- --resource-tags
182+
- $(ACK_RESOURCE_TAGS)
183+
- --watch-namespace
184+
- $(ACK_WATCH_NAMESPACE)
185+
- --enable-leader-election=$(ENABLE_LEADER_ELECTION)
186+
- --leader-election-namespace
187+
- $(LEADER_ELECTION_NAMESPACE)
188+
- --reconcile-default-max-concurrent-syncs
189+
- $(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)
190+
- --feature-gates
191+
- $(FEATURE_GATES)
192+
- --enable-carm=$(ENABLE_CARM)
193+
command:
194+
- ./bin/controller
195+
env:
196+
- name: ACK_SYSTEM_NAMESPACE
197+
valueFrom:
198+
fieldRef:
199+
fieldPath: metadata.namespace
200+
envFrom:
201+
- configMapRef:
202+
name: ack-mwaa-user-config
203+
optional: false
204+
- secretRef:
205+
name: ack-mwaa-user-secrets
206+
optional: true
207+
image: public.ecr.aws/aws-controllers-k8s/mwaa-controller:0.1.0
208+
livenessProbe:
209+
httpGet:
210+
path: /healthz
211+
port: 8081
212+
initialDelaySeconds: 15
213+
periodSeconds: 20
214+
name: controller
215+
ports:
216+
- containerPort: 8080
217+
name: http
218+
readinessProbe:
219+
httpGet:
220+
path: /readyz
221+
port: 8081
222+
initialDelaySeconds: 5
223+
periodSeconds: 10
224+
resources:
225+
limits:
226+
cpu: 100m
227+
memory: 300Mi
228+
requests:
229+
cpu: 100m
230+
memory: 200Mi
231+
securityContext:
232+
allowPrivilegeEscalation: false
233+
capabilities:
234+
drop:
235+
- ALL
236+
privileged: false
237+
runAsNonRoot: true
238+
dnsPolicy: ClusterFirst
239+
securityContext:
240+
seccompProfile:
241+
type: RuntimeDefault
242+
serviceAccountName: ack-mwaa-controller
243+
terminationGracePeriodSeconds: 10
244+
permissions:
245+
- rules:
246+
- apiGroups:
247+
- coordination.k8s.io
248+
resources:
249+
- leases
250+
verbs:
251+
- get
252+
- list
253+
- watch
254+
- create
255+
- update
256+
- patch
257+
- delete
258+
- apiGroups:
259+
- ""
260+
resources:
261+
- events
262+
verbs:
263+
- create
264+
- patch
265+
serviceAccountName: ack-mwaa-controller
266+
strategy: deployment
267+
installModes:
268+
- supported: true
269+
type: OwnNamespace
270+
- supported: true
271+
type: SingleNamespace
272+
- supported: true
273+
type: MultiNamespace
274+
- supported: true
275+
type: AllNamespaces
276+
keywords:
277+
- mwaa
278+
- aws
279+
- amazon
280+
- ack
281+
links:
282+
- name: AWS Controllers for Kubernetes
283+
url: https://github.com/aws-controllers-k8s/community
284+
- name: Documentation
285+
url: https://aws-controllers-k8s.github.io/community/
286+
- name: Amazon Managed Workflows for Apache Airflow Developer Resources
287+
url: https://docs.aws.amazon.com/mwaa/latest/userguide/what-is-mwaa.html
288+
maintainers:
289+
- email: ack-maintainers@amazon.com
290+
name: mwaa maintainer team
291+
maturity: alpha
292+
provider:
293+
name: Amazon, Inc.
294+
url: https://aws.amazon.com
295+
version: 0.1.0
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-mwaa-metrics-service
6+
spec:
7+
ports:
8+
- name: metricsport
9+
port: 8080
10+
protocol: TCP
11+
targetPort: http
12+
selector:
13+
app.kubernetes.io/name: ack-mwaa-controller
14+
type: ClusterIP
15+
status:
16+
loadBalancer: {}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-mwaa-reader
6+
rules:
7+
- apiGroups:
8+
- mwaa.services.k8s.aws
9+
resources:
10+
- environments
11+
verbs:
12+
- get
13+
- list
14+
- watch
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-mwaa-writer
6+
rules:
7+
- apiGroups:
8+
- mwaa.services.k8s.aws
9+
resources:
10+
- environments
11+
verbs:
12+
- create
13+
- delete
14+
- get
15+
- list
16+
- patch
17+
- update
18+
- watch
19+
- apiGroups:
20+
- mwaa.services.k8s.aws
21+
resources:
22+
- environments
23+
verbs:
24+
- get
25+
- patch
26+
- update

0 commit comments

Comments
 (0)