Skip to content
This repository was archived by the owner on May 24, 2023. It is now read-only.

Commit 1b74e1e

Browse files
authored
Add Bundle files and generation
1 parent 110be46 commit 1b74e1e

15 files changed

+2463
-10
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
build/_output
33
build/_test
44
bundle.zip
5-
bundle/
65
# Created by https://www.gitignore.io/api/go,vim,emacs,visualstudiocode
76
### Emacs ###
87
# -*- mode: gitignore; -*-

Makefile

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,13 @@ generate-metadata: generate-crds
2626
echo "Metadata generated, please make sure you add/update fields in nginx-ingress-operator.v$(TAG).clusterserviceversion.yaml"
2727

2828
generate-bundle:
29-
-rm -rf bundle
30-
mkdir bundle
31-
cp deploy/crds/* bundle/
32-
cp deploy/olm-catalog/nginx-ingress-operator/nginx-ingress-operator.package.yaml bundle/
33-
./hack/copy_manifests.sh
34-
-rm bundle.zip
35-
zip -j bundle.zip bundle/*.yaml
36-
37-
.PHONY: build
29+
@mkdir bundle/$(TAG)
30+
@cp deploy/crds/* bundle/$(TAG)
31+
@cp deploy/olm-catalog/nginx-ingress-operator/nginx-ingress-operator.package.yaml bundle/
32+
@cp -R deploy/olm-catalog/nginx-ingress-operator/$(TAG)/ bundle/$(TAG)/
33+
cd bundle && opm alpha bundle generate -d ./$(TAG)/ -u ./$(TAG)/
34+
@mv bundle/bundle.Dockerfile bundle/bundle-$(TAG).Dockerfile
35+
@echo '\nLABEL com.redhat.openshift.versions="v4.5,v4.6"\nLABEL com.redhat.delivery.operator.bundle=true\nLABEL com.redhat.delivery.backport=true' >> bundle/bundle-$(TAG).Dockerfile
36+
docker build -t bundle:$(TAG) -f bundle/bundle-$(TAG).Dockerfile ./bundle
37+
38+
.PHONY: build
Lines changed: 335 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,335 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: '[{ "apiVersion": "k8s.nginx.org/v1alpha1", "kind": "NginxIngressController",
6+
"metadata": { "name": "my-nginx-ingress-controller", "namespace": "my-nginx-ingress"
7+
}, "spec": { "enableCRDs": true, "image": { "pullPolicy": "Always", "repository":
8+
"docker.io/nginx/nginx-ingress", "tag": "1.6.3-ubi" }, "nginxPlus": false, "replicas":
9+
1, "serviceType": "NodePort", "type": "deployment" } }]'
10+
capabilities: Basic Install
11+
categories: Networking
12+
certified: 'true'
13+
containerImage: registry.connect.redhat.com/nginx/nginx-ingress-operator:0.0.4
14+
createdAt: 2020-03-03 12:59:59+00:00
15+
description: The NGINX Ingress Operator is a Kubernetes/OpenShift component which
16+
deploys and manages one or more NGINX/NGINX Plus Ingress Controllers
17+
repository: https://github.com/nginxinc/nginx-ingress-operator
18+
support: NGINX
19+
name: nginx-ingress-operator.v0.0.4
20+
namespace: placeholder
21+
spec:
22+
apiservicedefinitions: {}
23+
customresourcedefinitions:
24+
owned:
25+
- description: NginxIngressController is the Schema for the nginxingresscontrollers
26+
API
27+
displayName: NginxIngressController
28+
kind: NginxIngressController
29+
name: nginxingresscontrollers.k8s.nginx.org
30+
resources:
31+
- kind: Deployment
32+
name: A Kubernetes Deployment
33+
version: v1
34+
- kind: ReplicaSet
35+
name: A Kubernetes ReplicaSet
36+
version: v1beta2
37+
- kind: Pod
38+
name: A Kubernetes Pod
39+
version: v1
40+
specDescriptors:
41+
- description: Initial values of the Ingress Controller ConfigMap. Check https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/
42+
for more information about possible values.
43+
displayName: Config Map Data
44+
path: configMapData
45+
- description: The TLS Secret for TLS termination of the default server. The
46+
format is namespace/name. If not specified, the operator will generate and
47+
deploy a TLS Secret with a self-signed certificate and key.
48+
displayName: Default Secret
49+
path: defaultSecret
50+
- description: Enables the use of NGINX Ingress Resource Definitions (VirtualServer
51+
and VirtualServerRoute).
52+
displayName: Enable CRDs
53+
path: enableCRDs
54+
- description: "Enables Leader election to avoid multiple replicas of the controller\
55+
\ reporting the status of Ingress resources \u2013 only one replica will\
56+
\ report status."
57+
displayName: Enable Leader Election
58+
path: enableLeaderElection
59+
- description: Enable TLS Passthrough on port 443. Requires enableCRDs set to
60+
true.
61+
displayName: Enable TLSPassthrough
62+
path: enableTLSPassthrough
63+
- description: The GlobalConfiguration resource for global configuration of
64+
the Ingress Controller. Format is namespace/name. Requires enableCRDs set
65+
to true.
66+
displayName: Global Configuration
67+
path: globalConfiguration
68+
- description: Adds a new location to the default server. The location responds
69+
with the 200 status code for any request. Useful for external health-checking
70+
of the Ingress controller.
71+
displayName: Health Status
72+
path: healthStatus
73+
- description: The image of the Ingress Controller.
74+
displayName: Image
75+
path: image
76+
- description: "A class of the Ingress controller. The Ingress controller only\
77+
\ processes Ingress resources that belong to its class (in other words,\
78+
\ have the annotation \u201Ckubernetes.io/ingress.class\u201D). Additionally,\
79+
\ the Ingress controller processes Ingress resources that do not have that\
80+
\ annotation, which can be disabled by setting UseIngressClassOnly to true.\
81+
\ Default is `nginx`."
82+
displayName: Ingress Class
83+
path: ingressClass
84+
- description: Log level for V logs. Format is 0 - 3
85+
displayName: Log Level
86+
path: logLevel
87+
- description: "Enable debugging for NGINX. Uses the nginx-debug binary. Requires\
88+
\ \u2018error-log-level: debug\u2019 in the ConfigMapData."
89+
displayName: Nginx Debug
90+
path: nginxDebug
91+
- description: Deploys the Ingress Controller for NGINX Plus. The default is
92+
false meaning the Ingress Controller will be deployed for NGINX OSS.
93+
displayName: Nginx Plus
94+
path: nginxPlus
95+
- description: NGINX stub_status, or the NGINX Plus API.
96+
displayName: Nginx Status
97+
path: nginxStatus
98+
- description: NGINX or NGINX Plus metrics in the Prometheus format.
99+
displayName: Prometheus
100+
path: prometheus
101+
- description: The number of replicas of the Ingress Controller pod. The default
102+
is 1. Only applies if the type is set to deployment.
103+
displayName: Replicas
104+
path: replicas
105+
- description: Update the address field in the status of Ingresses resources.
106+
displayName: Report Ingress Status
107+
path: reportIngressStatus
108+
- description: 'The type of the Service for the Ingress Controller. Valid Service
109+
types are: NodePort and LoadBalancer.'
110+
displayName: Service Type
111+
path: serviceType
112+
- description: The type of the Ingress Controller installation - deployment
113+
or daemonset.
114+
displayName: Type
115+
path: type
116+
- description: "Ignore Ingress resources without the \u201Ckubernetes.io/ingress.class\u201D\
117+
\ annotation."
118+
displayName: Use Ingress Class Only
119+
path: useIngressClassOnly
120+
- description: Namespace to watch for Ingress resources. By default the Ingress
121+
controller watches all namespaces.
122+
displayName: Watch Namespace
123+
path: watchNamespace
124+
- description: A Secret with a TLS certificate and key for TLS termination of
125+
every Ingress host for which TLS termination is enabled but the Secret is
126+
not specified. If the argument is not set, for such Ingress hosts NGINX
127+
will break any attempt to establish a TLS connection. If the argument is
128+
set, but the Ingress controller is not able to fetch the Secret from Kubernetes
129+
API, the Ingress Controller will fail to start. Format is namespace/name.
130+
displayName: Wildcard TLS
131+
path: wildcardTLS
132+
statusDescriptors:
133+
- description: Deployed is true if the Operator has finished the deployment
134+
of the NginxIngressController.
135+
displayName: Deployed
136+
path: deployed
137+
version: v1alpha1
138+
description: The NGINX Ingress Operator is a Kubernetes/OpenShift component which
139+
deploys and manages one or more NGINX/NGINX Plus Ingress Controllers
140+
displayName: Nginx Ingress Operator
141+
icon:
142+
- base64data: PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2My4zNiA3My40NCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMwMDk2Mzk7fS5jbHMtMntmaWxsOiNmZmY7fS5jbHMtM3tmaWxsOiM5OTk7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5OR0lOWC1oZXgtc291cmNlLVJHQi0wMjwvdGl0bGU+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNLjUwMjcyLDU0LjcyMWEzLjYzNywzLjYzNywwLDAsMCwxLjM2NjQxLDEuMzU1OTNMMjkuODIxOTIsNzIuMjE1NDlsLjAwMDg3LS4wMDA4N2EzLjY2NzkzLDMuNjY3OTMsMCwwLDAsMy43MTUyOSwwTDYxLjQ5MTc1LDU2LjA3NjA2YTMuNjY1NjgsMy42NjU2OCwwLDAsMCwxLjg1Njc3LTMuMjE2MTlWMjAuNTgyNzVsLS4wMDA4Ny0uMDAwODdBMy42NjY4NSwzLjY2Njg1LDAsMCwwLDYxLjQ5LDE3LjM2NDgxTDMzLjUzNjM0LDEuMjI2MjVWMS4yMjUzOGEzLjY2MzEzLDMuNjYzMTMsMCwwLDAtMy43MTI2OCwwdi4wMDA4N0wxLjg3MDg3LDE3LjM2NDgxQTMuNjY1MywzLjY2NTMsMCwwLDAsLjAxMjM1LDIwLjU4MTg4bC0uMDAwODcuMDAwODdWNTIuODU5ODdBMy42NDQyNiwzLjY0NDI2LDAsMCwwLC41MDE4NSw1NC43MjEiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yMi43MzAxNSw0OS4wMDhhMy41OTQ4OCwzLjU5NDg4LDAsMCwxLTcuMTg5NzYsMGwuMDAwODguMDAwODguMDAzNDktMjQuNjc3MjdjMC0xLjkxMTc0LDEuNjg5MjQtMy40OTI3OSw0LjA4MTc1LTMuNDkyNzlhNi4zOTI4Miw2LjM5MjgyLDAsMCwxLDQuOTAwMjEsMi4xOTFMMjUuNjEzLDI0LjMyOTg5LDQwLjYzMTI0LDQyLjMwMjUzVjI0LjQzMkg0MC42Mjk1YTMuNTk0ODgsMy41OTQ4OCwwLDAsMSw3LjE4OTc1LDBoLS4wMDA4N2wtLjAwMzQ5LDI0LjY3NTUyYzAsMS45MTE3NS0xLjY5MDExLDMuNDkyNzktNC4wODE3NSwzLjQ5Mjc5YTYuMzg4NTcsNi4zODg1NywwLDAsMS00LjkwMDIxLTIuMTkxTDIyLjcyODQsMzEuMTM2NTlWNDkuMDA4OVoiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik01OS45NzQ3OCw2Ni4wMzQxaC40NTkzNFY2NS4wMTFoLjM2MzM1YTEuMDM2NzQsMS4wMzY3NCwwLDAsMSwuNTEwMzcuMDg1MjIuNjM5MTcuNjM5MTcsMCwwLDEsLjI0MjU1LjU5NTEzdi4yMDk3NmwuMDEwMjkuMDc4MmEuMTU3ODEuMTU3ODEsMCwwLDEsLjAwNy4wMzI3OGMuMDAyMzQuMDEyNjQuMDAzMjguMDE2MzguMDEwMy4wMjJoLjQyNTYzbC0uMDE1NDYtLjAyOWEuMjk4NjMuMjk4NjMsMCwwLDEtLjAyMDYtLjEzM2MtLjAwNjA5LS4wNzM1MS0uMDA2MDktLjEzNjI1LS4wMDYwOS0uMTk0MzF2LS4xOTM4NWEuNzQxOTQuNzQxOTQsMCwwLDAtLjE0MjM0LS40MDU0OS42NjEyOS42NjEyOSwwLDAsMC0uNDUzMjUtLjI1NDcyLDEuMTE4ODQsMS4xMTg4NCwwLDAsMCwuMzc3ODctLjEyMjY4LjU2NjczLjU2NjczLDAsMCwwLC4yNTM3OC0uNTE1MDUuNjQwMDguNjQwMDgsMCwwLDAtLjQwMTc0LS42NjA2OCwxLjk5OTA2LDEuOTk5MDYsMCwwLDAtLjcxMjE5LS4wOTMxOGgtLjkwODg0Wm0xLjMwNjM3LTEuNDAyODJhMS4xODgyLDEuMTg4MiwwLDAsMS0uNDM2ODYuMDU4MDZoLS40MTAxN1Y2My43NDIxaC4zOTE0NGExLjE1NTUsMS4xNTU1LDAsMCwxLC41NTIuMTAxNjEuMzk0MTMuMzk0MTMsMCwwLDEsLjE3Mjc4LjM3OTc0LjQwMDg3LjQwMDg3LDAsMCwxLS4yNjkyNC40MDc4M20xLjMzNC0xLjU2MzlhMi4zMDc5MiwyLjMwNzkyLDAsMCwwLTEuNjg3LS42ODk3MSwyLjM3MywyLjM3MywwLDAsMCwwLDQuNzQ2LDIuMzc3MjQsMi4zNzcyNCwwLDAsMCwxLjY4Ny00LjA1NjNtLS4yNDExNC4yMzU1MmExLjk0MzU5LDEuOTQzNTksMCwwLDEsLjU5NTU5LDEuNDQzNTYsMi4wMzkyMiwyLjAzOTIyLDAsMCwxLTMuNDg1NTIsMS40NTA1OSwyLjAxMzExLDIuMDEzMTEsMCwwLDEtLjU5Mjc5LTEuNDUwNTlBMi4wNDYyNywyLjA0NjI3LDAsMCwxLDYwLjkyODEsNjIuNjk3YTEuOTQ2LDEuOTQ2LDAsMCwxLDEuNDQ1OTEuNjA1ODkiLz48L3N2Zz4=
143+
mediatype: image/svg+xml
144+
install:
145+
spec:
146+
clusterPermissions:
147+
- rules:
148+
- apiGroups:
149+
- ''
150+
resources:
151+
- pods
152+
- services
153+
- services/finalizers
154+
- endpoints
155+
- persistentvolumeclaims
156+
- events
157+
- configmaps
158+
- secrets
159+
- serviceaccounts
160+
- namespaces
161+
verbs:
162+
- create
163+
- delete
164+
- get
165+
- list
166+
- patch
167+
- update
168+
- watch
169+
- apiGroups:
170+
- apps
171+
resources:
172+
- deployments
173+
- daemonsets
174+
- replicasets
175+
- statefulsets
176+
verbs:
177+
- create
178+
- delete
179+
- get
180+
- list
181+
- patch
182+
- update
183+
- watch
184+
- apiGroups:
185+
- monitoring.coreos.com
186+
resources:
187+
- servicemonitors
188+
verbs:
189+
- get
190+
- create
191+
- apiGroups:
192+
- apps
193+
resourceNames:
194+
- nginx-ingress-operator
195+
resources:
196+
- deployments/finalizers
197+
verbs:
198+
- update
199+
- apiGroups:
200+
- ''
201+
resources:
202+
- pods
203+
verbs:
204+
- get
205+
- apiGroups:
206+
- apps
207+
resources:
208+
- replicasets
209+
- deployments
210+
verbs:
211+
- get
212+
- apiGroups:
213+
- k8s.nginx.org
214+
resources:
215+
- '*'
216+
verbs:
217+
- create
218+
- delete
219+
- get
220+
- list
221+
- patch
222+
- update
223+
- watch
224+
- apiGroups:
225+
- rbac.authorization.k8s.io
226+
resources:
227+
- clusterroles
228+
- clusterrolebindings
229+
- roles
230+
- rolebindings
231+
verbs:
232+
- create
233+
- delete
234+
- get
235+
- list
236+
- patch
237+
- update
238+
- watch
239+
- apiGroups:
240+
- apiextensions.k8s.io
241+
resources:
242+
- customresourcedefinitions
243+
verbs:
244+
- create
245+
- delete
246+
- get
247+
- apiGroups:
248+
- extensions
249+
resources:
250+
- ingresses
251+
verbs:
252+
- list
253+
- watch
254+
- get
255+
- apiGroups:
256+
- extensions
257+
resources:
258+
- ingresses/status
259+
verbs:
260+
- update
261+
- apiGroups:
262+
- security.openshift.io
263+
resources:
264+
- securitycontextconstraints
265+
verbs:
266+
- create
267+
- update
268+
- get
269+
- list
270+
- watch
271+
serviceAccountName: nginx-ingress-operator
272+
deployments:
273+
- name: nginx-ingress-operator
274+
spec:
275+
replicas: 1
276+
selector:
277+
matchLabels:
278+
name: nginx-ingress-operator
279+
strategy: {}
280+
template:
281+
metadata:
282+
labels:
283+
name: nginx-ingress-operator
284+
spec:
285+
containers:
286+
- command:
287+
- nginx-ingress-operator
288+
env:
289+
- name: WATCH_NAMESPACE
290+
valueFrom:
291+
fieldRef:
292+
fieldPath: metadata.annotations['olm.targetNamespaces']
293+
- name: POD_NAME
294+
valueFrom:
295+
fieldRef:
296+
fieldPath: metadata.name
297+
- name: OPERATOR_NAME
298+
value: nginx-ingress-operator
299+
image: registry.connect.redhat.com/nginx/nginx-ingress-operator:0.0.4
300+
imagePullPolicy: IfNotPresent
301+
name: nginx-ingress-operator
302+
resources: {}
303+
serviceAccountName: nginx-ingress-operator
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: false
313+
type: AllNamespaces
314+
keywords:
315+
- nginx
316+
- ingress-controller
317+
- ingress
318+
- controller
319+
- kubernetes
320+
- openshift
321+
links:
322+
- name: Documentation for NGINX Plus
323+
url: https://github.com/nginxinc/nginx-ingress-operator/tree/master/examples/deployment-plus-min
324+
- name: Documentation for NGINX Open Source
325+
url: https://github.com/nginxinc/nginx-ingress-operator/tree/master/examples/deployment-oss-min
326+
- name: Documentation for NginxIngressController CR
327+
url: https://github.com/nginxinc/nginx-ingress-operator/blob/master/docs/nginx-ingress-controller.md
328+
maintainers:
329+
330+
name: NGINX Inc
331+
maturity: alpha
332+
provider:
333+
name: NGINX Inc
334+
replaces: nginx-ingress-operator.v0.0.3
335+
version: 0.0.4

0 commit comments

Comments
 (0)