Skip to content

Commit 920052d

Browse files
authored
operator ack-networkfirewall-controller (1.0.6)
1 parent 5503e76 commit 920052d

10 files changed

+1920
-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-networkfirewall-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,298 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: |-
6+
[
7+
{
8+
"apiVersion": "networkfirewall.services.k8s.aws/v1alpha1",
9+
"kind": "Firewall",
10+
"metadata": {
11+
"name": "example"
12+
},
13+
"spec": {}
14+
},
15+
{
16+
"apiVersion": "networkfirewall.services.k8s.aws/v1alpha1",
17+
"kind": "FirewallPolicy",
18+
"metadata": {
19+
"name": "example"
20+
},
21+
"spec": {}
22+
},
23+
{
24+
"apiVersion": "networkfirewall.services.k8s.aws/v1alpha1",
25+
"kind": "RuleGroup",
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/networkfirewall-controller:1.0.6
36+
createdAt: "2025-03-28T07:03:04Z"
37+
description: AWS Network Firewall controller is a service controller for managing
38+
Network Firewall resources 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-networkfirewall-controller.v1.0.6
49+
namespace: placeholder
50+
spec:
51+
apiservicedefinitions: {}
52+
customresourcedefinitions:
53+
owned:
54+
- description: FirewallPolicy represents the state of an AWS networkfirewall FirewallPolicy
55+
resource.
56+
displayName: FirewallPolicy
57+
kind: FirewallPolicy
58+
name: firewallpolicies.networkfirewall.services.k8s.aws
59+
version: v1alpha1
60+
- description: Firewall represents the state of an AWS networkfirewall Firewall
61+
resource.
62+
displayName: Firewall
63+
kind: Firewall
64+
name: firewalls.networkfirewall.services.k8s.aws
65+
version: v1alpha1
66+
- description: RuleGroup represents the state of an AWS networkfirewall RuleGroup
67+
resource.
68+
displayName: RuleGroup
69+
kind: RuleGroup
70+
name: rulegroups.networkfirewall.services.k8s.aws
71+
version: v1alpha1
72+
description: |-
73+
Manage Amazon Network Firewall resources in AWS from within your Kubernetes cluster.
74+
75+
**About Amazon Network Firewall**
76+
77+
AWS Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for your virtual private cloud (VPC) that you create in Amazon Virtual Private Cloud (Amazon VPC).
78+
With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or AWS Direct Connect. Network Firewall uses the open source intrusion prevention system (IPS), Suricata, for stateful inspection. Network Firewall supports Suricata compatible rules. For more information, see [Working with stateful rule groups in AWS Network Firewall](https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-ips.html).
79+
80+
**About the AWS Controllers for Kubernetes**
81+
82+
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**.
83+
84+
**Pre-Installation Steps**
85+
86+
Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/)
87+
displayName: AWS Controllers for Kubernetes - Amazon Network Firewall
88+
icon:
89+
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==
90+
mediatype: image/svg+xml
91+
install:
92+
spec:
93+
clusterPermissions:
94+
- rules:
95+
- apiGroups:
96+
- ""
97+
resources:
98+
- configmaps
99+
- secrets
100+
verbs:
101+
- get
102+
- list
103+
- patch
104+
- watch
105+
- apiGroups:
106+
- ""
107+
resources:
108+
- namespaces
109+
verbs:
110+
- get
111+
- list
112+
- watch
113+
- apiGroups:
114+
- networkfirewall.services.k8s.aws
115+
resources:
116+
- firewallpolicies
117+
- firewalls
118+
- rulegroups
119+
verbs:
120+
- create
121+
- delete
122+
- get
123+
- list
124+
- patch
125+
- update
126+
- watch
127+
- apiGroups:
128+
- networkfirewall.services.k8s.aws
129+
resources:
130+
- firewallpolicies/status
131+
- firewalls/status
132+
- rulegroups/status
133+
verbs:
134+
- get
135+
- patch
136+
- update
137+
- apiGroups:
138+
- services.k8s.aws
139+
resources:
140+
- adoptedresources
141+
- fieldexports
142+
verbs:
143+
- create
144+
- delete
145+
- get
146+
- list
147+
- patch
148+
- update
149+
- watch
150+
- apiGroups:
151+
- services.k8s.aws
152+
resources:
153+
- adoptedresources/status
154+
- fieldexports/status
155+
verbs:
156+
- get
157+
- patch
158+
- update
159+
serviceAccountName: ack-networkfirewall-controller
160+
deployments:
161+
- label:
162+
app.kubernetes.io/name: ack-networkfirewall-controller
163+
app.kubernetes.io/part-of: ack-system
164+
name: ack-networkfirewall-controller
165+
spec:
166+
replicas: 1
167+
selector:
168+
matchLabels:
169+
app.kubernetes.io/name: ack-networkfirewall-controller
170+
strategy: {}
171+
template:
172+
metadata:
173+
labels:
174+
app.kubernetes.io/name: ack-networkfirewall-controller
175+
spec:
176+
containers:
177+
- args:
178+
- --aws-region
179+
- $(AWS_REGION)
180+
- --aws-endpoint-url
181+
- $(AWS_ENDPOINT_URL)
182+
- --enable-development-logging=$(ACK_ENABLE_DEVELOPMENT_LOGGING)
183+
- --log-level
184+
- $(ACK_LOG_LEVEL)
185+
- --resource-tags
186+
- $(ACK_RESOURCE_TAGS)
187+
- --watch-namespace
188+
- $(ACK_WATCH_NAMESPACE)
189+
- --enable-leader-election=$(ENABLE_LEADER_ELECTION)
190+
- --leader-election-namespace
191+
- $(LEADER_ELECTION_NAMESPACE)
192+
- --reconcile-default-max-concurrent-syncs
193+
- $(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)
194+
- --feature-gates
195+
- $(FEATURE_GATES)
196+
command:
197+
- ./bin/controller
198+
env:
199+
- name: ACK_SYSTEM_NAMESPACE
200+
valueFrom:
201+
fieldRef:
202+
fieldPath: metadata.namespace
203+
envFrom:
204+
- configMapRef:
205+
name: ack-networkfirewall-user-config
206+
optional: false
207+
- secretRef:
208+
name: ack-networkfirewall-user-secrets
209+
optional: true
210+
image: public.ecr.aws/aws-controllers-k8s/networkfirewall-controller:1.0.6
211+
livenessProbe:
212+
httpGet:
213+
path: /healthz
214+
port: 8081
215+
initialDelaySeconds: 15
216+
periodSeconds: 20
217+
name: controller
218+
ports:
219+
- containerPort: 8080
220+
name: http
221+
readinessProbe:
222+
httpGet:
223+
path: /readyz
224+
port: 8081
225+
initialDelaySeconds: 5
226+
periodSeconds: 10
227+
resources:
228+
limits:
229+
cpu: 100m
230+
memory: 300Mi
231+
requests:
232+
cpu: 100m
233+
memory: 200Mi
234+
securityContext:
235+
allowPrivilegeEscalation: false
236+
capabilities:
237+
drop:
238+
- ALL
239+
privileged: false
240+
runAsNonRoot: true
241+
dnsPolicy: ClusterFirst
242+
securityContext:
243+
seccompProfile:
244+
type: RuntimeDefault
245+
serviceAccountName: ack-networkfirewall-controller
246+
terminationGracePeriodSeconds: 10
247+
permissions:
248+
- rules:
249+
- apiGroups:
250+
- coordination.k8s.io
251+
resources:
252+
- leases
253+
verbs:
254+
- get
255+
- list
256+
- watch
257+
- create
258+
- update
259+
- patch
260+
- delete
261+
- apiGroups:
262+
- ""
263+
resources:
264+
- events
265+
verbs:
266+
- create
267+
- patch
268+
serviceAccountName: ack-networkfirewall-controller
269+
strategy: deployment
270+
installModes:
271+
- supported: true
272+
type: OwnNamespace
273+
- supported: true
274+
type: SingleNamespace
275+
- supported: true
276+
type: MultiNamespace
277+
- supported: true
278+
type: AllNamespaces
279+
keywords:
280+
- networkfirewall
281+
- aws
282+
- amazon
283+
- ack
284+
links:
285+
- name: AWS Controllers for Kubernetes
286+
url: https://github.com/aws-controllers-k8s/community
287+
- name: Documentation
288+
url: https://aws-controllers-k8s.github.io/community/
289+
- name: Amazon Network Firewall Developer Resources
290+
url: https://aws.amazon.com/network-firewall/resources/
291+
maintainers:
292+
293+
name: network firewall maintainer team
294+
maturity: alpha
295+
provider:
296+
name: Amazon, Inc.
297+
url: https://aws.amazon.com
298+
version: 1.0.6
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-networkfirewall-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-networkfirewall-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-networkfirewall-reader
6+
rules:
7+
- apiGroups:
8+
- networkfirewall.services.k8s.aws
9+
resources:
10+
- firewalls
11+
- firewallpolicies
12+
- rulegroups
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-networkfirewall-writer
6+
rules:
7+
- apiGroups:
8+
- networkfirewall.services.k8s.aws
9+
resources:
10+
- firewalls
11+
- firewallpolicies
12+
- rulegroups
13+
verbs:
14+
- create
15+
- delete
16+
- get
17+
- list
18+
- patch
19+
- update
20+
- watch
21+
- apiGroups:
22+
- networkfirewall.services.k8s.aws
23+
resources:
24+
- firewalls
25+
- firewallpolicies
26+
- rulegroups
27+
verbs:
28+
- get
29+
- patch
30+
- update

0 commit comments

Comments
 (0)