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

Commit 7f6151d

Browse files
committed
Release 0.2.0
1 parent f35e77a commit 7f6151d

13 files changed

+1743
-6
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
### 0.2.0
4+
5+
An automatically generated list of changes can be found on Github at: [0.2.0 Release](https://github.com/nginxinc/nginx-ingress-operator/releases/tag/v0.2.0)
6+
37
### 0.1.0
48

59
FEATURES:

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
OLD_TAG = 0.0.7
2-
TAG = 0.1.0
1+
OLD_TAG = 0.1.0
2+
TAG = 0.2.0
33

44
IMAGE = nginx/nginx-ingress-operator
55

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ The following table shows the relation between the versions of the two projects:
1212

1313
| NGINX Ingress Controller | NGINX Ingress Operator |
1414
| --- | --- |
15+
| 1.11.x | 0.2.0 |
1516
| 1.10.x | 0.1.0 |
1617
| 1.9.x | 0.0.7 |
1718
| 1.8.x | 0.0.6 |
@@ -31,7 +32,7 @@ Note: The NGINX Ingress Operator works only for NGINX Ingress Controller version
3132
## NGINX Ingress Operator Releases
3233
We publish NGINX Ingress Operator releases on GitHub. See our [releases page](https://github.com/nginxinc/nginx-ingress-operator/releases).
3334

34-
The latest stable release is [0.1.0](https://github.com/nginxinc/nginx-ingress-operator/releases/tag/v0.1.0). For production use, we recommend that you choose the latest stable release.
35+
The latest stable release is [0.2.0](https://github.com/nginxinc/nginx-ingress-operator/releases/tag/v0.2.0). For production use, we recommend that you choose the latest stable release.
3536

3637
## Development
3738

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: nginxingresscontrollers.k8s.nginx.org
5+
spec:
6+
group: k8s.nginx.org
7+
names:
8+
kind: NginxIngressController
9+
listKind: NginxIngressControllerList
10+
plural: nginxingresscontrollers
11+
singular: nginxingresscontroller
12+
scope: Namespaced
13+
subresources:
14+
status: {}
15+
validation:
16+
openAPIV3Schema:
17+
description: NginxIngressController is the Schema for the nginxingresscontrollers
18+
API
19+
properties:
20+
apiVersion:
21+
description: 'APIVersion defines the versioned schema of this representation
22+
of an object. Servers should convert recognized schemas to the latest
23+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
24+
type: string
25+
kind:
26+
description: 'Kind is a string value representing the REST resource this
27+
object represents. Servers may infer this from the endpoint the client
28+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
29+
type: string
30+
metadata:
31+
type: object
32+
spec:
33+
description: NginxIngressControllerSpec defines the desired state of NginxIngressController
34+
properties:
35+
appProtect:
36+
description: App Protect support configuration. Requires enableCRDs
37+
set to true.
38+
nullable: true
39+
properties:
40+
enable:
41+
description: Enable App Protect.
42+
type: boolean
43+
required:
44+
- enable
45+
type: object
46+
configMapData:
47+
additionalProperties:
48+
type: string
49+
description: Initial values of the Ingress Controller ConfigMap. Check
50+
https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/
51+
for more information about possible values.
52+
nullable: true
53+
type: object
54+
defaultSecret:
55+
description: The TLS Secret for TLS termination of the default server.
56+
The format is namespace/name. The secret must be of the type kubernetes.io/tls.
57+
If not specified, the operator will generate and deploy a TLS Secret
58+
with a self-signed certificate and key.
59+
type: string
60+
enableCRDs:
61+
description: Enables the use of NGINX Ingress Resource Definitions (VirtualServer
62+
and VirtualServerRoute). Default is true.
63+
nullable: true
64+
type: boolean
65+
enableLatencyMetrics:
66+
description: Bucketed response times from when NGINX establishes a connection
67+
to an upstream server to when the last byte of the response body is
68+
received by NGINX. **Note** The metric for the upstream isn't available
69+
until traffic is sent to the upstream.
70+
nullable: true
71+
type: boolean
72+
enableLeaderElection:
73+
description: Enables Leader election to avoid multiple replicas of the
74+
controller reporting the status of Ingress resources – only one replica
75+
will report status. Default is true.
76+
nullable: true
77+
type: boolean
78+
enablePreviewPolicies:
79+
description: Enables preview policies. Requires enableCRDs set to true.
80+
type: boolean
81+
enableSnippets:
82+
description: Enable custom NGINX configuration snippets in VirtualServer,
83+
VirtualServerRoute and TransportServer resources. Requires enableCRDs
84+
set to true.
85+
type: boolean
86+
enableTLSPassthrough:
87+
description: Enable TLS Passthrough on port 443. Requires enableCRDs
88+
set to true.
89+
type: boolean
90+
globalConfiguration:
91+
description: The GlobalConfiguration resource for global configuration
92+
of the Ingress Controller. Format is namespace/name. Requires enableCRDs
93+
set to true.
94+
type: string
95+
healthStatus:
96+
description: Adds a new location to the default server. The location
97+
responds with the 200 status code for any request. Useful for external
98+
health-checking of the Ingress controller.
99+
nullable: true
100+
properties:
101+
enable:
102+
description: Enable the HealthStatus.
103+
type: boolean
104+
uri:
105+
description: URI of the location. Default is `/nginx-health`.
106+
type: string
107+
required:
108+
- enable
109+
type: object
110+
image:
111+
description: The image of the Ingress Controller.
112+
properties:
113+
pullPolicy:
114+
description: The ImagePullPolicy of the image.
115+
enum:
116+
- Never
117+
- Always
118+
- IfNotPresent
119+
type: string
120+
repository:
121+
description: The repository of the image.
122+
type: string
123+
tag:
124+
description: The tag (version) of the image.
125+
type: string
126+
required:
127+
- pullPolicy
128+
- repository
129+
- tag
130+
type: object
131+
ingressClass:
132+
description: A class of the Ingress controller. The Ingress controller
133+
only processes Ingress resources that belong to its class (in other
134+
words, have the annotation “kubernetes.io/ingress.class”). Additionally,
135+
the Ingress controller processes Ingress resources that do not have
136+
that annotation, which can be disabled by setting UseIngressClassOnly
137+
to true. Default is `nginx`.
138+
type: string
139+
logLevel:
140+
description: Log level for V logs. Format is 0 - 3
141+
maximum: 3
142+
minimum: 0
143+
type: integer
144+
nginxDebug:
145+
description: 'Enable debugging for NGINX. Uses the nginx-debug binary.
146+
Requires ‘error-log-level: debug’ in the ConfigMapData.'
147+
type: boolean
148+
nginxPlus:
149+
description: Deploys the Ingress Controller for NGINX Plus. The default
150+
is false meaning the Ingress Controller will be deployed for NGINX
151+
OSS.
152+
type: boolean
153+
nginxReloadTimeout:
154+
description: Timeout in milliseconds which the Ingress Controller will
155+
wait for a successful NGINX reload after a change or at the initial
156+
start.
157+
type: integer
158+
nginxStatus:
159+
description: NGINX stub_status, or the NGINX Plus API.
160+
nullable: true
161+
properties:
162+
allowCidrs:
163+
description: Whitelist IPv4 IP/CIDR blocks to allow access to NGINX
164+
stub_status or the NGINX Plus API. Separate multiple IP/CIDR by
165+
commas. (default “127.0.0.1”)
166+
type: string
167+
enable:
168+
description: Enable the NginxStatus.
169+
type: boolean
170+
port:
171+
description: Set the port where the NGINX stub_status or the NGINX
172+
Plus API is exposed. Default is 8080. Format is 1023 - 65535
173+
maximum: 65535
174+
minimum: 1023
175+
nullable: true
176+
type: integer
177+
required:
178+
- enable
179+
type: object
180+
prometheus:
181+
description: NGINX or NGINX Plus metrics in the Prometheus format.
182+
nullable: true
183+
properties:
184+
enable:
185+
description: Enable Prometheus metrics.
186+
type: boolean
187+
port:
188+
description: Sets the port where the Prometheus metrics are exposed.
189+
Default is 9113. Format is 1023 - 65535
190+
maximum: 65535
191+
minimum: 1023
192+
nullable: true
193+
type: integer
194+
required:
195+
- enable
196+
type: object
197+
replicas:
198+
description: The number of replicas of the Ingress Controller pod. The
199+
default is 1. Only applies if the type is set to deployment.
200+
format: int32
201+
nullable: true
202+
type: integer
203+
reportIngressStatus:
204+
description: Update the address field in the status of Ingresses resources.
205+
nullable: true
206+
properties:
207+
enable:
208+
description: Enable the ReportIngressStatus.
209+
type: boolean
210+
externalService:
211+
description: 'Specifies the name of the service with the type LoadBalancer
212+
through which the Ingress controller pods are exposed externally.
213+
The external address of the service is used when reporting the
214+
status of Ingress resources. Note: if serviceType is LoadBalancer,
215+
the value of this field will be ignored, and the operator will
216+
use the name of the created LoadBalancer service instead.'
217+
type: string
218+
ingressLink:
219+
description: 'Specifies the name of the IngressLink resource, which
220+
exposes the Ingress Controller pods via a BIG-IP system. The IP
221+
of the BIG-IP system is used when reporting the status of Ingress,
222+
VirtualServer and VirtualServerRoute resources. Requires reportIngressStatus.enable
223+
set to true. Note: If serviceType is LoadBalancer or reportIngressStatus.externalService
224+
is set, the value of this field will be ignored.'
225+
type: string
226+
required:
227+
- enable
228+
type: object
229+
service:
230+
description: The service of the Ingress controller.
231+
nullable: true
232+
properties:
233+
extraLabels:
234+
additionalProperties:
235+
type: string
236+
description: Specifies extra labels of the service.
237+
type: object
238+
type: object
239+
serviceType:
240+
description: 'The type of the Service for the Ingress Controller. Valid
241+
Service types are: NodePort and LoadBalancer.'
242+
enum:
243+
- NodePort
244+
- LoadBalancer
245+
type: string
246+
type:
247+
description: The type of the Ingress Controller installation - deployment
248+
or daemonset.
249+
enum:
250+
- deployment
251+
- daemonset
252+
type: string
253+
useIngressClassOnly:
254+
description: Ignore Ingress resources without the “kubernetes.io/ingress.class”
255+
annotation.
256+
type: boolean
257+
watchNamespace:
258+
description: Namespace to watch for Ingress resources. By default the
259+
Ingress controller watches all namespaces.
260+
type: string
261+
wildcardTLS:
262+
description: A Secret with a TLS certificate and key for TLS termination
263+
of every Ingress host for which TLS termination is enabled but the
264+
Secret is not specified. The secret must be of the type kubernetes.io/tls.
265+
If the argument is not set, for such Ingress hosts NGINX will break
266+
any attempt to establish a TLS connection. If the argument is set,
267+
but the Ingress controller is not able to fetch the Secret from Kubernetes
268+
API, the Ingress Controller will fail to start. Format is namespace/name.
269+
type: string
270+
required:
271+
- image
272+
- serviceType
273+
- type
274+
type: object
275+
status:
276+
description: NginxIngressControllerStatus defines the observed state of
277+
NginxIngressController
278+
properties:
279+
deployed:
280+
description: Deployed is true if the Operator has finished the deployment
281+
of the NginxIngressController.
282+
type: boolean
283+
required:
284+
- deployed
285+
type: object
286+
type: object
287+
version: v1alpha1
288+
versions:
289+
- name: v1alpha1
290+
served: true
291+
storage: true

0 commit comments

Comments
 (0)