Skip to content

Commit 71ef84b

Browse files
authored
operator ack-elbv2-controller (1.0.6)
1 parent b11624f commit 71ef84b

11 files changed

+1997
-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-elbv2-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: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: |-
6+
[
7+
{
8+
"apiVersion": "elbv2.services.k8s.aws/v1alpha1",
9+
"kind": "Listener",
10+
"metadata": {
11+
"name": "example"
12+
},
13+
"spec": {}
14+
},
15+
{
16+
"apiVersion": "elbv2.services.k8s.aws/v1alpha1",
17+
"kind": "LoadBalancer",
18+
"metadata": {
19+
"name": "example"
20+
},
21+
"spec": {}
22+
},
23+
{
24+
"apiVersion": "elbv2.services.k8s.aws/v1alpha1",
25+
"kind": "Rule",
26+
"metadata": {
27+
"name": "example"
28+
},
29+
"spec": {}
30+
},
31+
{
32+
"apiVersion": "elbv2.services.k8s.aws/v1alpha1",
33+
"kind": "TargetGroup",
34+
"metadata": {
35+
"name": "example"
36+
},
37+
"spec": {}
38+
}
39+
]
40+
capabilities: Basic Install
41+
categories: Cloud Provider
42+
certified: "false"
43+
containerImage: public.ecr.aws/aws-controllers-k8s/elbv2-controller:1.0.6
44+
createdAt: "2025-02-20T20:13:02Z"
45+
description: AWS ELB controller is a service controller for managing ELB resources
46+
in Kubernetes
47+
operatorframework.io/suggested-namespace: ack-system
48+
operators.operatorframework.io/builder: operator-sdk-v1.28.0
49+
operators.operatorframework.io/project_layout: unknown
50+
repository: https://github.com/aws-controllers-k8s
51+
support: Community
52+
labels:
53+
operatorframework.io/arch.amd64: supported
54+
operatorframework.io/arch.arm64: supported
55+
operatorframework.io/os.linux: supported
56+
name: ack-elbv2-controller.v1.0.6
57+
namespace: placeholder
58+
spec:
59+
apiservicedefinitions: {}
60+
customresourcedefinitions:
61+
owned:
62+
- description: Listener represents the state of an AWS elbv2 Listener resource.
63+
displayName: Listener
64+
kind: Listener
65+
name: listeners.elbv2.services.k8s.aws
66+
version: v1alpha1
67+
- description: LoadBalancer represents the state of an AWS elbv2 LoadBalancer
68+
resource.
69+
displayName: LoadBalancer
70+
kind: LoadBalancer
71+
name: loadbalancers.elbv2.services.k8s.aws
72+
version: v1alpha1
73+
- description: Rule represents the state of an AWS elbv2 Rule resource.
74+
displayName: Rule
75+
kind: Rule
76+
name: rules.elbv2.services.k8s.aws
77+
version: v1alpha1
78+
- description: TargetGroup represents the state of an AWS elbv2 TargetGroup resource.
79+
displayName: TargetGroup
80+
kind: TargetGroup
81+
name: targetgroups.elbv2.services.k8s.aws
82+
version: v1alpha1
83+
description: |-
84+
Manage Amazon Elastic Load Balancing (ELB) resources in AWS from within your Kubernetes cluster.
85+
86+
**About Amazon ELB**
87+
88+
Elastic Load Balancing automatically distributes your incoming traffic across multiple targets, such as EC2 instances, containers, and IP addresses, in one or more Availability Zones. It monitors the health of its registered targets, and routes traffic only to the healthy targets. Elastic Load Balancing scales your load balancer capacity automatically in response to changes in incoming traffic.
89+
90+
**About the AWS Controllers for Kubernetes**
91+
92+
This controller is a component of the [AWS Controller for Kubernetes](https://github.com/aws/aws-controllers-k8s) project.
93+
94+
**Pre-Installation Steps**
95+
96+
Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/)
97+
displayName: AWS Controllers for Kubernetes - Amazon ELB
98+
icon:
99+
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==
100+
mediatype: image/svg+xml
101+
install:
102+
spec:
103+
clusterPermissions:
104+
- rules:
105+
- apiGroups:
106+
- ""
107+
resources:
108+
- configmaps
109+
- secrets
110+
verbs:
111+
- get
112+
- list
113+
- patch
114+
- watch
115+
- apiGroups:
116+
- ""
117+
resources:
118+
- namespaces
119+
verbs:
120+
- get
121+
- list
122+
- watch
123+
- apiGroups:
124+
- ec2.services.k8s.aws
125+
resources:
126+
- securitygroups
127+
- securitygroups/status
128+
- subnets
129+
- subnets/status
130+
- vpcs
131+
- vpcs/status
132+
verbs:
133+
- get
134+
- list
135+
- apiGroups:
136+
- elbv2.services.k8s.aws
137+
resources:
138+
- listeners
139+
- loadbalancers
140+
- rules
141+
- targetgroups
142+
verbs:
143+
- create
144+
- delete
145+
- get
146+
- list
147+
- patch
148+
- update
149+
- watch
150+
- apiGroups:
151+
- elbv2.services.k8s.aws
152+
resources:
153+
- listeners/status
154+
- loadbalancers/status
155+
- targetgroups/status
156+
verbs:
157+
- get
158+
- list
159+
- patch
160+
- update
161+
- apiGroups:
162+
- elbv2.services.k8s.aws
163+
resources:
164+
- rules/status
165+
verbs:
166+
- get
167+
- patch
168+
- update
169+
- apiGroups:
170+
- services.k8s.aws
171+
resources:
172+
- adoptedresources
173+
- fieldexports
174+
verbs:
175+
- create
176+
- delete
177+
- get
178+
- list
179+
- patch
180+
- update
181+
- watch
182+
- apiGroups:
183+
- services.k8s.aws
184+
resources:
185+
- adoptedresources/status
186+
- fieldexports/status
187+
verbs:
188+
- get
189+
- patch
190+
- update
191+
serviceAccountName: ack-elbv2-controller
192+
deployments:
193+
- label:
194+
app.kubernetes.io/name: ack-elbv2-controller
195+
app.kubernetes.io/part-of: ack-system
196+
name: ack-elbv2-controller
197+
spec:
198+
replicas: 1
199+
selector:
200+
matchLabels:
201+
app.kubernetes.io/name: ack-elbv2-controller
202+
strategy: {}
203+
template:
204+
metadata:
205+
labels:
206+
app.kubernetes.io/name: ack-elbv2-controller
207+
spec:
208+
containers:
209+
- args:
210+
- --aws-region
211+
- $(AWS_REGION)
212+
- --aws-endpoint-url
213+
- $(AWS_ENDPOINT_URL)
214+
- --enable-development-logging=$(ACK_ENABLE_DEVELOPMENT_LOGGING)
215+
- --log-level
216+
- $(ACK_LOG_LEVEL)
217+
- --resource-tags
218+
- $(ACK_RESOURCE_TAGS)
219+
- --watch-namespace
220+
- $(ACK_WATCH_NAMESPACE)
221+
- --enable-leader-election=$(ENABLE_LEADER_ELECTION)
222+
- --leader-election-namespace
223+
- $(LEADER_ELECTION_NAMESPACE)
224+
- --reconcile-default-max-concurrent-syncs
225+
- $(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)
226+
- --feature-gates
227+
- $(FEATURE_GATES)
228+
command:
229+
- ./bin/controller
230+
env:
231+
- name: ACK_SYSTEM_NAMESPACE
232+
valueFrom:
233+
fieldRef:
234+
fieldPath: metadata.namespace
235+
envFrom:
236+
- configMapRef:
237+
name: ack-elbv2-user-config
238+
optional: false
239+
- secretRef:
240+
name: ack-elbv2-user-secrets
241+
optional: true
242+
image: public.ecr.aws/aws-controllers-k8s/elbv2-controller:1.0.6
243+
livenessProbe:
244+
httpGet:
245+
path: /healthz
246+
port: 8081
247+
initialDelaySeconds: 15
248+
periodSeconds: 20
249+
name: controller
250+
ports:
251+
- containerPort: 8080
252+
name: http
253+
readinessProbe:
254+
httpGet:
255+
path: /readyz
256+
port: 8081
257+
initialDelaySeconds: 5
258+
periodSeconds: 10
259+
resources:
260+
limits:
261+
cpu: 100m
262+
memory: 300Mi
263+
requests:
264+
cpu: 100m
265+
memory: 200Mi
266+
securityContext:
267+
allowPrivilegeEscalation: false
268+
capabilities:
269+
drop:
270+
- ALL
271+
privileged: false
272+
runAsNonRoot: true
273+
dnsPolicy: ClusterFirst
274+
securityContext:
275+
seccompProfile:
276+
type: RuntimeDefault
277+
serviceAccountName: ack-elbv2-controller
278+
terminationGracePeriodSeconds: 10
279+
permissions:
280+
- rules:
281+
- apiGroups:
282+
- coordination.k8s.io
283+
resources:
284+
- leases
285+
verbs:
286+
- get
287+
- list
288+
- watch
289+
- create
290+
- update
291+
- patch
292+
- delete
293+
- apiGroups:
294+
- ""
295+
resources:
296+
- events
297+
verbs:
298+
- create
299+
- patch
300+
serviceAccountName: ack-elbv2-controller
301+
strategy: deployment
302+
installModes:
303+
- supported: true
304+
type: OwnNamespace
305+
- supported: true
306+
type: SingleNamespace
307+
- supported: true
308+
type: MultiNamespace
309+
- supported: true
310+
type: AllNamespaces
311+
keywords:
312+
- elbv2
313+
- aws
314+
- amazon
315+
- ack
316+
links:
317+
- name: AWS Controllers for Kubernetes
318+
url: https://github.com/aws-controllers-k8s/community
319+
- name: Documentation
320+
url: https://aws-controllers-k8s.github.io/community/
321+
- name: Amazon ELB Developer Resources
322+
url: https://aws.amazon.com/elasticloadbalancing
323+
maintainers:
324+
325+
name: elb maintainer team
326+
maturity: alpha
327+
provider:
328+
name: Amazon, Inc.
329+
url: https://aws.amazon.com
330+
version: 1.0.6
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-elbv2-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-elbv2-controller
14+
type: NodePort
15+
status:
16+
loadBalancer: {}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-elbv2-reader
6+
rules:
7+
- apiGroups:
8+
- elbv2.services.k8s.aws
9+
resources:
10+
- listeners
11+
- loadbalancers
12+
- rules
13+
- targetgroups
14+
verbs:
15+
- get
16+
- list
17+
- watch

0 commit comments

Comments
 (0)