Skip to content

Commit 4e54caa

Browse files
authored
operator ack-cloudwatch-controller (1.2.1)
1 parent 8a55aa3 commit 4e54caa

9 files changed

+1286
-0
lines changed
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-cloudwatch-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: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: '[]'
6+
capabilities: Basic Install
7+
categories: Cloud Provider
8+
certified: "false"
9+
containerImage: public.ecr.aws/aws-controllers-k8s/cloudwatch-controller:1.2.1
10+
createdAt: "2025-09-19T21:59:41Z"
11+
description: AWS CloudWatch controller is a service controller for managing CloudWatch
12+
resources in Kubernetes
13+
operatorframework.io/suggested-namespace: ack-system
14+
operators.operatorframework.io/builder: operator-sdk-v1.28.0
15+
operators.operatorframework.io/project_layout: unknown
16+
repository: https://github.com/aws-controllers-k8s
17+
support: Community
18+
labels:
19+
operatorframework.io/arch.amd64: supported
20+
operatorframework.io/arch.arm64: supported
21+
operatorframework.io/os.linux: supported
22+
name: ack-cloudwatch-controller.v1.2.1
23+
namespace: placeholder
24+
spec:
25+
apiservicedefinitions: {}
26+
customresourcedefinitions:
27+
owned:
28+
- description: MetricAlarm represents the state of an AWS cloudwatch MetricAlarm
29+
resource.
30+
displayName: MetricAlarm
31+
kind: MetricAlarm
32+
name: metricalarms.cloudwatch.services.k8s.aws
33+
version: v1alpha1
34+
- description: MetricStream represents the state of an AWS cloudwatch MetricStream
35+
resource.
36+
displayName: MetricStream
37+
kind: MetricStream
38+
name: metricstreams.cloudwatch.services.k8s.aws
39+
version: v1alpha1
40+
description: |-
41+
Manage Amazon CloudWatch resources in AWS from within your Kubernetes cluster.
42+
43+
**About Amazon CloudWatch**
44+
45+
{ADD YOUR DESCRIPTION HERE}
46+
47+
**About the AWS Controllers for Kubernetes**
48+
49+
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**.
50+
51+
**Pre-Installation Steps**
52+
53+
Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/)
54+
displayName: AWS Controllers for Kubernetes - Amazon CloudWatch
55+
icon:
56+
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==
57+
mediatype: image/svg+xml
58+
install:
59+
spec:
60+
clusterPermissions:
61+
- rules:
62+
- apiGroups:
63+
- ""
64+
resources:
65+
- configmaps
66+
- secrets
67+
verbs:
68+
- get
69+
- list
70+
- patch
71+
- watch
72+
- apiGroups:
73+
- ""
74+
resources:
75+
- namespaces
76+
verbs:
77+
- get
78+
- list
79+
- watch
80+
- apiGroups:
81+
- cloudwatch.services.k8s.aws
82+
resources:
83+
- metricalarms
84+
- metricstreams
85+
verbs:
86+
- create
87+
- delete
88+
- get
89+
- list
90+
- patch
91+
- update
92+
- watch
93+
- apiGroups:
94+
- cloudwatch.services.k8s.aws
95+
resources:
96+
- metricalarms/status
97+
- metricstreams/status
98+
verbs:
99+
- get
100+
- patch
101+
- update
102+
- apiGroups:
103+
- services.k8s.aws
104+
resources:
105+
- adoptedresources
106+
- fieldexports
107+
verbs:
108+
- create
109+
- delete
110+
- get
111+
- list
112+
- patch
113+
- update
114+
- watch
115+
- apiGroups:
116+
- services.k8s.aws
117+
resources:
118+
- adoptedresources/status
119+
- fieldexports/status
120+
verbs:
121+
- get
122+
- patch
123+
- update
124+
serviceAccountName: ack-cloudwatch-controller
125+
deployments:
126+
- label:
127+
app.kubernetes.io/name: ack-cloudwatch-controller
128+
app.kubernetes.io/part-of: ack-system
129+
name: ack-cloudwatch-controller
130+
spec:
131+
replicas: 1
132+
selector:
133+
matchLabels:
134+
app.kubernetes.io/name: ack-cloudwatch-controller
135+
strategy: {}
136+
template:
137+
metadata:
138+
labels:
139+
app.kubernetes.io/name: ack-cloudwatch-controller
140+
spec:
141+
containers:
142+
- args:
143+
- --aws-region
144+
- $(AWS_REGION)
145+
- --aws-endpoint-url
146+
- $(AWS_ENDPOINT_URL)
147+
- --enable-development-logging=$(ACK_ENABLE_DEVELOPMENT_LOGGING)
148+
- --log-level
149+
- $(ACK_LOG_LEVEL)
150+
- --resource-tags
151+
- $(ACK_RESOURCE_TAGS)
152+
- --watch-namespace
153+
- $(ACK_WATCH_NAMESPACE)
154+
- --enable-leader-election=$(ENABLE_LEADER_ELECTION)
155+
- --leader-election-namespace
156+
- $(LEADER_ELECTION_NAMESPACE)
157+
- --reconcile-default-max-concurrent-syncs
158+
- $(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)
159+
- --feature-gates
160+
- $(FEATURE_GATES)
161+
command:
162+
- ./bin/controller
163+
env:
164+
- name: ACK_SYSTEM_NAMESPACE
165+
valueFrom:
166+
fieldRef:
167+
fieldPath: metadata.namespace
168+
envFrom:
169+
- configMapRef:
170+
name: ack-cloudwatch-user-config
171+
optional: false
172+
- secretRef:
173+
name: ack-cloudwatch-user-secrets
174+
optional: true
175+
image: public.ecr.aws/aws-controllers-k8s/cloudwatch-controller:1.2.1
176+
livenessProbe:
177+
httpGet:
178+
path: /healthz
179+
port: 8081
180+
initialDelaySeconds: 15
181+
periodSeconds: 20
182+
name: controller
183+
ports:
184+
- containerPort: 8080
185+
name: http
186+
readinessProbe:
187+
httpGet:
188+
path: /readyz
189+
port: 8081
190+
initialDelaySeconds: 5
191+
periodSeconds: 10
192+
resources:
193+
limits:
194+
cpu: 100m
195+
memory: 300Mi
196+
requests:
197+
cpu: 100m
198+
memory: 200Mi
199+
securityContext:
200+
allowPrivilegeEscalation: false
201+
capabilities:
202+
drop:
203+
- ALL
204+
privileged: false
205+
runAsNonRoot: true
206+
dnsPolicy: ClusterFirst
207+
securityContext:
208+
seccompProfile:
209+
type: RuntimeDefault
210+
serviceAccountName: ack-cloudwatch-controller
211+
terminationGracePeriodSeconds: 10
212+
permissions:
213+
- rules:
214+
- apiGroups:
215+
- coordination.k8s.io
216+
resources:
217+
- leases
218+
verbs:
219+
- get
220+
- list
221+
- watch
222+
- create
223+
- update
224+
- patch
225+
- delete
226+
- apiGroups:
227+
- ""
228+
resources:
229+
- events
230+
verbs:
231+
- create
232+
- patch
233+
serviceAccountName: ack-cloudwatch-controller
234+
strategy: deployment
235+
installModes:
236+
- supported: true
237+
type: OwnNamespace
238+
- supported: true
239+
type: SingleNamespace
240+
- supported: true
241+
type: MultiNamespace
242+
- supported: true
243+
type: AllNamespaces
244+
keywords:
245+
- cloudwatch
246+
- aws
247+
- amazon
248+
- ack
249+
links:
250+
- name: AWS Controllers for Kubernetes
251+
url: https://github.com/aws-controllers-k8s/community
252+
- name: Documentation
253+
url: https://aws-controllers-k8s.github.io/community/
254+
- name: Amazon CloudWatch Developer Resources
255+
url: https://aws.amazon.com/CloudWatch/developer-resources/
256+
maintainers:
257+
258+
name: cloudwatch maintainer team
259+
maturity: alpha
260+
provider:
261+
name: Amazon, Inc.
262+
url: https://aws.amazon.com
263+
version: 1.2.1
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-cloudwatch-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-cloudwatch-controller
14+
type: ClusterIP
15+
status:
16+
loadBalancer: {}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-cloudwatch-reader
6+
rules:
7+
- apiGroups:
8+
- cloudwatch.services.k8s.aws
9+
resources:
10+
- metricalarms
11+
- metricstreams
12+
verbs:
13+
- get
14+
- list
15+
- watch
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-cloudwatch-writer
6+
rules:
7+
- apiGroups:
8+
- cloudwatch.services.k8s.aws
9+
resources:
10+
- metricalarms
11+
- metricstreams
12+
verbs:
13+
- create
14+
- delete
15+
- get
16+
- list
17+
- patch
18+
- update
19+
- watch
20+
- apiGroups:
21+
- cloudwatch.services.k8s.aws
22+
resources:
23+
- metricalarms
24+
- metricstreams
25+
verbs:
26+
- get
27+
- patch
28+
- update

0 commit comments

Comments
 (0)