Skip to content

Commit e9adf97

Browse files
authored
ack-ses-controller artifacts for version 0.0.1 (redhat-openshift-ecosystem#5555)
Signed-off-by: ack-bot <[email protected]> Co-authored-by: ack-bot <[email protected]>
1 parent 4ecb8bf commit e9adf97

8 files changed

+527
-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-ses-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,254 @@
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/ses-controller:0.0.1
10+
createdAt: "2024-11-27T02:30:56Z"
11+
description: AWS SES controller is a service controller for managing SES resources
12+
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-ses-controller.v0.0.1
23+
namespace: placeholder
24+
spec:
25+
apiservicedefinitions: {}
26+
customresourcedefinitions:
27+
owned:
28+
- description: ConfigurationSet represents the state of an AWS ses ConfigurationSet
29+
resource.
30+
displayName: ConfigurationSet
31+
kind: ConfigurationSet
32+
name: configurationsets.ses.services.k8s.aws
33+
version: v1alpha1
34+
description: |-
35+
Manage Amazon Simple Email Service (SES) resources in AWS from within your Kubernetes cluster.
36+
37+
**About Amazon SES**
38+
39+
Amazon Simple Email Service (SES) is an email platform that provides an easy, cost-effective way for you to send and receive email using your own email addresses and domains.
40+
For example, you can send marketing emails such as special offers, transactional emails such as order confirmations, and other types of correspondence such as newsletters. When you use Amazon SES to receive mail, you can develop software solutions such as email autoresponders, email unsubscribe systems, and applications that generate customer support tickets from incoming emails.
41+
42+
**About the AWS Controllers for Kubernetes**
43+
44+
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**.
45+
46+
**Pre-Installation Steps**
47+
48+
Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/)
49+
displayName: AWS Controllers for Kubernetes - Amazon SES
50+
icon:
51+
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==
52+
mediatype: image/svg+xml
53+
install:
54+
spec:
55+
clusterPermissions:
56+
- rules:
57+
- apiGroups:
58+
- ""
59+
resources:
60+
- configmaps
61+
- secrets
62+
verbs:
63+
- get
64+
- list
65+
- patch
66+
- watch
67+
- apiGroups:
68+
- ""
69+
resources:
70+
- namespaces
71+
verbs:
72+
- get
73+
- list
74+
- watch
75+
- apiGroups:
76+
- services.k8s.aws
77+
resources:
78+
- adoptedresources
79+
- fieldexports
80+
verbs:
81+
- create
82+
- delete
83+
- get
84+
- list
85+
- patch
86+
- update
87+
- watch
88+
- apiGroups:
89+
- services.k8s.aws
90+
resources:
91+
- adoptedresources/status
92+
- fieldexports/status
93+
verbs:
94+
- get
95+
- patch
96+
- update
97+
- apiGroups:
98+
- ses.services.k8s.aws
99+
resources:
100+
- configurationsets
101+
verbs:
102+
- create
103+
- delete
104+
- get
105+
- list
106+
- patch
107+
- update
108+
- watch
109+
- apiGroups:
110+
- ses.services.k8s.aws
111+
resources:
112+
- configurationsets/status
113+
verbs:
114+
- get
115+
- patch
116+
- update
117+
serviceAccountName: ack-ses-controller
118+
deployments:
119+
- label:
120+
app.kubernetes.io/name: ack-ses-controller
121+
app.kubernetes.io/part-of: ack-system
122+
name: ack-ses-controller
123+
spec:
124+
replicas: 1
125+
selector:
126+
matchLabels:
127+
app.kubernetes.io/name: ack-ses-controller
128+
strategy: {}
129+
template:
130+
metadata:
131+
labels:
132+
app.kubernetes.io/name: ack-ses-controller
133+
spec:
134+
containers:
135+
- args:
136+
- --aws-region
137+
- $(AWS_REGION)
138+
- --aws-endpoint-url
139+
- $(AWS_ENDPOINT_URL)
140+
- --enable-development-logging=$(ACK_ENABLE_DEVELOPMENT_LOGGING)
141+
- --log-level
142+
- $(ACK_LOG_LEVEL)
143+
- --resource-tags
144+
- $(ACK_RESOURCE_TAGS)
145+
- --watch-namespace
146+
- $(ACK_WATCH_NAMESPACE)
147+
- --enable-leader-election=$(ENABLE_LEADER_ELECTION)
148+
- --leader-election-namespace
149+
- $(LEADER_ELECTION_NAMESPACE)
150+
- --reconcile-default-max-concurrent-syncs
151+
- $(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)
152+
command:
153+
- ./bin/controller
154+
env:
155+
- name: ACK_SYSTEM_NAMESPACE
156+
valueFrom:
157+
fieldRef:
158+
fieldPath: metadata.namespace
159+
envFrom:
160+
- configMapRef:
161+
name: ack-ses-user-config
162+
optional: false
163+
- secretRef:
164+
name: ack-ses-user-secrets
165+
optional: true
166+
image: public.ecr.aws/aws-controllers-k8s/ses-controller:0.0.1
167+
livenessProbe:
168+
httpGet:
169+
path: /healthz
170+
port: 8081
171+
initialDelaySeconds: 15
172+
periodSeconds: 20
173+
name: controller
174+
ports:
175+
- containerPort: 8080
176+
name: http
177+
readinessProbe:
178+
httpGet:
179+
path: /readyz
180+
port: 8081
181+
initialDelaySeconds: 5
182+
periodSeconds: 10
183+
resources:
184+
limits:
185+
cpu: 100m
186+
memory: 300Mi
187+
requests:
188+
cpu: 100m
189+
memory: 200Mi
190+
securityContext:
191+
allowPrivilegeEscalation: false
192+
capabilities:
193+
drop:
194+
- ALL
195+
privileged: false
196+
runAsNonRoot: true
197+
dnsPolicy: ClusterFirst
198+
securityContext:
199+
seccompProfile:
200+
type: RuntimeDefault
201+
serviceAccountName: ack-ses-controller
202+
terminationGracePeriodSeconds: 10
203+
permissions:
204+
- rules:
205+
- apiGroups:
206+
- coordination.k8s.io
207+
resources:
208+
- leases
209+
verbs:
210+
- get
211+
- list
212+
- watch
213+
- create
214+
- update
215+
- patch
216+
- delete
217+
- apiGroups:
218+
- ""
219+
resources:
220+
- events
221+
verbs:
222+
- create
223+
- patch
224+
serviceAccountName: ack-ses-controller
225+
strategy: deployment
226+
installModes:
227+
- supported: true
228+
type: OwnNamespace
229+
- supported: true
230+
type: SingleNamespace
231+
- supported: true
232+
type: MultiNamespace
233+
- supported: true
234+
type: AllNamespaces
235+
keywords:
236+
- ses
237+
- aws
238+
- amazon
239+
- ack
240+
links:
241+
- name: AWS Controllers for Kubernetes
242+
url: https://github.com/aws-controllers-k8s/community
243+
- name: Documentation
244+
url: https://aws-controllers-k8s.github.io/community/
245+
- name: Amazon SES Developer Resources
246+
url: https://aws.amazon.com/ses/developer-resources/
247+
maintainers:
248+
249+
name: ses maintainer team
250+
maturity: alpha
251+
provider:
252+
name: Amazon, Inc.
253+
url: https://aws.amazon.com
254+
version: 0.0.1
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-ses-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-ses-controller
14+
type: NodePort
15+
status:
16+
loadBalancer: {}
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-ses-reader
6+
rules:
7+
- apiGroups:
8+
- ses.services.k8s.aws
9+
resources:
10+
- configurationsets
11+
verbs:
12+
- get
13+
- list
14+
- watch
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-ses-writer
6+
rules:
7+
- apiGroups:
8+
- ses.services.k8s.aws
9+
resources:
10+
- configurationsets
11+
verbs:
12+
- create
13+
- delete
14+
- get
15+
- list
16+
- patch
17+
- update
18+
- watch
19+
- apiGroups:
20+
- ses.services.k8s.aws
21+
resources:
22+
- configurationsets
23+
verbs:
24+
- get
25+
- patch
26+
- update

0 commit comments

Comments
 (0)