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

Commit 6d412f7

Browse files
Raul MarreroRulox
Raul Marrero
authored andcommitted
Release 0.0.4
1 parent 781f643 commit 6d412f7

File tree

6 files changed

+352
-4
lines changed

6 files changed

+352
-4
lines changed

Diff for: CHANGELOG.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Changelog
2+
3+
### 0.0.4
4+
5+
FEATURES:
6+
7+
* [4](https://github.com/nginxinc/nginx-ingress-operator/pull/4) Add new CRDs for NGINX Ingress Controller 1.7.0
8+
* [5](https://github.com/nginxinc/nginx-ingress-operator/pull/5) Make NGINX Ingress Operator RedHat certified. Learn more about certified operators for Openshift [here](https://connect.redhat.com/en/partner-with-us/red-hat-openshift-operator-certification).
9+
10+
COMPATIBILITY:
11+
12+
* NGINX Ingress Controller 1.7.0 or newer.
13+
* Openshift 4.3 or newer.

Diff for: Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
OLD_TAG = 0.0.2
2-
TAG = 0.0.3
1+
OLD_TAG = 0.0.3
2+
TAG = 0.0.4
33
IMAGE = nginx-ingress-operator
44

55
RUN_NAMESPACE = default

Diff for: README.md

+5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ Learn more about operators in the [Kubernetes Documentation](https://kubernetes.
1111
* For an NGINX installation see the [NGINX example](./examples/deployment-oss-min).
1212
* For an NGINX Plus installation see the [NGINX Plus example](./examples/deployment-plus-min).
1313

14+
## NGINX Ingress Operator Releases
15+
We publish NGINX Ingress Operator releases on GitHub. See our [releases page](https://github.com/nginxinc/nginx-ingress-operator/releases).
16+
17+
The latest stable release is [0.0.4](https://github.com/nginxinc/nginx-ingress-operator/releases/tag/v0.0.4). For production use, we recommend that you choose the latest stable release.
18+
1419
## Development
1520

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

Diff for: version/version.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package version
22

33
var (
4-
Version = "0.0.3"
4+
Version = "0.0.4"
55
)

0 commit comments

Comments
 (0)