Skip to content

Commit b11624f

Browse files
authored
operator ack-apigateway-controller (1.0.5)
1 parent 71c3949 commit b11624f

12 files changed

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

0 commit comments

Comments
 (0)