Skip to content

Commit 7f128e8

Browse files
authored
operator ack-kms-controller (1.0.24)
1 parent b750b41 commit 7f128e8

10 files changed

+1416
-0
lines changed
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-kms-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/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,294 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: |-
6+
[
7+
{
8+
"apiVersion": "kms.services.k8s.aws/v1alpha1",
9+
"kind": "Alias",
10+
"metadata": {
11+
"name": "example"
12+
},
13+
"spec": {}
14+
},
15+
{
16+
"apiVersion": "kms.services.k8s.aws/v1alpha1",
17+
"kind": "Grant",
18+
"metadata": {
19+
"name": "example"
20+
},
21+
"spec": {}
22+
},
23+
{
24+
"apiVersion": "kms.services.k8s.aws/v1alpha1",
25+
"kind": "Key",
26+
"metadata": {
27+
"name": "example"
28+
},
29+
"spec": {}
30+
}
31+
]
32+
capabilities: Basic Install
33+
categories: Cloud Provider
34+
certified: "false"
35+
containerImage: public.ecr.aws/aws-controllers-k8s/kms-controller:1.0.24
36+
createdAt: "2025-04-04T22:35:56Z"
37+
description: AWS KMS controller is a service controller for managing KMS resources
38+
in Kubernetes
39+
operatorframework.io/suggested-namespace: ack-system
40+
operators.operatorframework.io/builder: operator-sdk-v1.28.0
41+
operators.operatorframework.io/project_layout: unknown
42+
repository: https://github.com/aws-controllers-k8s
43+
support: Community
44+
labels:
45+
operatorframework.io/arch.amd64: supported
46+
operatorframework.io/arch.arm64: supported
47+
operatorframework.io/os.linux: supported
48+
name: ack-kms-controller.v1.0.24
49+
namespace: placeholder
50+
spec:
51+
apiservicedefinitions: {}
52+
customresourcedefinitions:
53+
owned:
54+
- description: Alias represents the state of an AWS kms Alias resource.
55+
displayName: Alias
56+
kind: Alias
57+
name: aliases.kms.services.k8s.aws
58+
version: v1alpha1
59+
- description: Grant represents the state of an AWS kms Grant resource.
60+
displayName: Grant
61+
kind: Grant
62+
name: grants.kms.services.k8s.aws
63+
version: v1alpha1
64+
- description: Key represents the state of an AWS kms Key resource.
65+
displayName: Key
66+
kind: Key
67+
name: keys.kms.services.k8s.aws
68+
version: v1alpha1
69+
description: |-
70+
Manage Key Management Service (KMS) resources in AWS from within your Kubernetes cluster.
71+
72+
**About Amazon KMS**
73+
74+
AWS Key Management Service (AWS KMS) is a managed service that makes it easy for you to create and control the cryptographic keys that are used to protect your data. AWS KMS uses hardware security modules (HSM) to protect and validate your AWS KMS keys under the [FIPS 140-2 Cryptographic Module Validation Program](https://csrc.nist.gov/projects/cryptographic-module-validation-program/Certificate/3139), except in the China (Beijing) and China (Ningxia) Regions.
75+
76+
**About the AWS Controllers for Kubernetes**
77+
78+
This controller is a component of the [AWS Controller for Kubernetes](https://github.com/aws/aws-controllers-k8s) project.
79+
80+
**Pre-Installation Steps**
81+
82+
Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/)
83+
displayName: AWS Controllers for Kubernetes - Amazon KMS
84+
icon:
85+
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==
86+
mediatype: image/svg+xml
87+
install:
88+
spec:
89+
clusterPermissions:
90+
- rules:
91+
- apiGroups:
92+
- ""
93+
resources:
94+
- configmaps
95+
- secrets
96+
verbs:
97+
- get
98+
- list
99+
- patch
100+
- watch
101+
- apiGroups:
102+
- ""
103+
resources:
104+
- namespaces
105+
verbs:
106+
- get
107+
- list
108+
- watch
109+
- apiGroups:
110+
- kms.services.k8s.aws
111+
resources:
112+
- aliases
113+
- grants
114+
- keys
115+
verbs:
116+
- create
117+
- delete
118+
- get
119+
- list
120+
- patch
121+
- update
122+
- watch
123+
- apiGroups:
124+
- kms.services.k8s.aws
125+
resources:
126+
- aliases/status
127+
- grants/status
128+
- keys/status
129+
verbs:
130+
- get
131+
- patch
132+
- update
133+
- apiGroups:
134+
- services.k8s.aws
135+
resources:
136+
- adoptedresources
137+
- fieldexports
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+
- adoptedresources/status
150+
- fieldexports/status
151+
verbs:
152+
- get
153+
- patch
154+
- update
155+
serviceAccountName: ack-kms-controller
156+
deployments:
157+
- label:
158+
app.kubernetes.io/name: ack-kms-controller
159+
app.kubernetes.io/part-of: ack-system
160+
name: ack-kms-controller
161+
spec:
162+
replicas: 1
163+
selector:
164+
matchLabels:
165+
app.kubernetes.io/name: ack-kms-controller
166+
strategy: {}
167+
template:
168+
metadata:
169+
labels:
170+
app.kubernetes.io/name: ack-kms-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+
command:
193+
- ./bin/controller
194+
env:
195+
- name: ACK_SYSTEM_NAMESPACE
196+
valueFrom:
197+
fieldRef:
198+
fieldPath: metadata.namespace
199+
envFrom:
200+
- configMapRef:
201+
name: ack-kms-user-config
202+
optional: false
203+
- secretRef:
204+
name: ack-kms-user-secrets
205+
optional: true
206+
image: public.ecr.aws/aws-controllers-k8s/kms-controller:1.0.24
207+
livenessProbe:
208+
httpGet:
209+
path: /healthz
210+
port: 8081
211+
initialDelaySeconds: 15
212+
periodSeconds: 20
213+
name: controller
214+
ports:
215+
- containerPort: 8080
216+
name: http
217+
readinessProbe:
218+
httpGet:
219+
path: /readyz
220+
port: 8081
221+
initialDelaySeconds: 5
222+
periodSeconds: 10
223+
resources:
224+
limits:
225+
cpu: 100m
226+
memory: 300Mi
227+
requests:
228+
cpu: 100m
229+
memory: 200Mi
230+
securityContext:
231+
allowPrivilegeEscalation: false
232+
capabilities:
233+
drop:
234+
- ALL
235+
privileged: false
236+
runAsNonRoot: true
237+
dnsPolicy: ClusterFirst
238+
securityContext:
239+
seccompProfile:
240+
type: RuntimeDefault
241+
serviceAccountName: ack-kms-controller
242+
terminationGracePeriodSeconds: 10
243+
permissions:
244+
- rules:
245+
- apiGroups:
246+
- coordination.k8s.io
247+
resources:
248+
- leases
249+
verbs:
250+
- get
251+
- list
252+
- watch
253+
- create
254+
- update
255+
- patch
256+
- delete
257+
- apiGroups:
258+
- ""
259+
resources:
260+
- events
261+
verbs:
262+
- create
263+
- patch
264+
serviceAccountName: ack-kms-controller
265+
strategy: deployment
266+
installModes:
267+
- supported: true
268+
type: OwnNamespace
269+
- supported: true
270+
type: SingleNamespace
271+
- supported: true
272+
type: MultiNamespace
273+
- supported: true
274+
type: AllNamespaces
275+
keywords:
276+
- kms
277+
- aws
278+
- amazon
279+
- ack
280+
links:
281+
- name: AWS Controllers for Kubernetes
282+
url: https://github.com/aws-controllers-k8s/community
283+
- name: Documentation
284+
url: https://aws-controllers-k8s.github.io/community/
285+
- name: Amazon KMS Developer Resources
286+
url: https://aws.amazon.com/kms/resources/
287+
maintainers:
288+
289+
name: kms maintainer team
290+
maturity: alpha
291+
provider:
292+
name: Amazon, Inc.
293+
url: https://aws.amazon.com
294+
version: 1.0.24
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-kms-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-kms-controller
14+
type: NodePort
15+
status:
16+
loadBalancer: {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-kms-reader
6+
rules:
7+
- apiGroups:
8+
- kms.services.k8s.aws
9+
resources:
10+
- aliases
11+
- grants
12+
- keys
13+
verbs:
14+
- get
15+
- list
16+
- watch
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-kms-writer
6+
rules:
7+
- apiGroups:
8+
- kms.services.k8s.aws
9+
resources:
10+
- aliases
11+
- grants
12+
- keys
13+
verbs:
14+
- create
15+
- delete
16+
- get
17+
- list
18+
- patch
19+
- update
20+
- watch
21+
- apiGroups:
22+
- kms.services.k8s.aws
23+
resources:
24+
- aliases
25+
- grants
26+
- keys
27+
verbs:
28+
- get
29+
- patch
30+
- update

0 commit comments

Comments
 (0)