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

Commit 035c0dd

Browse files
committed
Release 0.3.0
Update Makefile Co-authored-by: Luca Comellini <[email protected]> Update README.md Co-authored-by: Luca Comellini <[email protected]> Regenerate bundle
1 parent 542e296 commit 035c0dd

11 files changed

+75
-53
lines changed

CHANGELOG.md

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

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

59
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)

Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ vet: ## Run go vet against code.
9292
lint: ## Run golangci-lint against code.
9393
docker run --pull always --rm -v $(shell pwd):/nginx-ingress-operator -w /nginx-ingress-operator -v $(shell go env GOCACHE):/cache/go -e GOCACHE=/cache/go -e GOLANGCI_LINT_CACHE=/cache/go -v $(shell go env GOPATH)/pkg:/go/pkg golangci/golangci-lint:latest golangci-lint --color always run
9494

95+
unit-test:
96+
go test ./... -coverprofile cover.out
9597

9698
ENVTEST_ASSETS_DIR=$(shell pwd)/testbin
9799
test: manifests generate fmt vet ## Run tests.

README.md

+15-13
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.12.x | 0.3.0 |
1516
| 1.11.x | 0.2.0 |
1617
| 1.10.x | 0.1.0 |
1718
| 1.9.x | 0.0.7 |
@@ -29,10 +30,14 @@ Note: The NGINX Ingress Operator works only for NGINX Ingress Controller version
2930
* For an NGINX installation see the [NGINX example](./examples/deployment-oss-min).
3031
* For an NGINX Plus installation see the [NGINX Plus example](./examples/deployment-plus-min).
3132

33+
## Upgrades
34+
35+
See [upgrade docs](./docs/upgrades)
36+
3237
## NGINX Ingress Operator Releases
3338
We publish NGINX Ingress Operator releases on GitHub. See our [releases page](https://github.com/nginxinc/nginx-ingress-operator/releases).
3439

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.
40+
The latest stable release is [0.3.0](https://github.com/nginxinc/nginx-ingress-operator/releases/tag/v0.3.0). For production use, we recommend that you choose the latest stable release.
3641

3742
## Development
3843

@@ -41,28 +46,25 @@ It is possible to run the operator in your local machine. This is useful for tes
4146
### Run Operator locally
4247

4348
1. Have access to a Kubernetes/Openshift cluster.
44-
1. Apply the latest CRD:
45-
```
46-
kubectl apply -f deploy/crds/k8s.nginx.org_nginxingresscontrollers_crd.yaml
47-
```
48-
1. Apply the NGINX Ingress Controller CRDs:
49-
```
50-
kubectl apply -f build/kic_crds
49+
1. Apply the latest CRDs:
50+
```
51+
make install
52+
kubectl apply -f config/crd/kic/
5153
```
52-
1. Run `make run-local`.
54+
2. Run `make run`.
5355
54-
The operator will run in your local machine but will be communicating with the cluster. The operator will only watch the `default` namespace when deployed locally.
56+
The operator will run in your local machine but will be communicating with the cluster.
5557
5658
### Update CRD
5759
5860
If any change is made in the CRD in the go code, run the following commands to update the changes in the CRD yaml:
5961
60-
1. `make generate-crds`
61-
1. Apply the new CRD definition again in your cluster `kubectl apply -f deploy/crds/k8s.nginx.org_nginxingresscontrollers_crd.yaml`.
62+
1. `make manifests`
63+
2. Apply the new CRD definition again in your cluster `make install`.
6264
6365
### Run tests
6466
65-
Run `make test` to run unit tests locally.
67+
Run `make test` to run the full test suite including envtest, or `make unit-test` to run just the unit tests locally.
6668
6769
## Contributing
6870

bundle/manifests/k8s.nginx.org_nginxingresscontrollers.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -197,10 +197,10 @@ spec:
197197
type: integer
198198
secret:
199199
description: A Secret with a TLS certificate and key for TLS termination
200-
of the Prometheus endpoint. If the argument is set,
201-
but the Ingress controller is not able to fetch the Secret from
202-
Kubernetes API, the Ingress Controller will fail to start. Format
203-
is namespace/name.
200+
of the Prometheus endpoint. The secret must be of the type kubernetes.io/tls.
201+
If specified, but the Ingress controller is not able to fetch
202+
the Secret from Kubernetes API, the Ingress Controller will
203+
fail to start. Format is namespace/name.
204204
type: string
205205
required:
206206
- enable

bundle/manifests/nginx-ingress-operator.clusterserviceversion.yaml

+7-7
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ metadata:
1414
"image": {
1515
"pullPolicy": "Always",
1616
"repository": "docker.io/nginx/nginx-ingress",
17-
"tag": "1.11.3-ubi"
17+
"tag": "1.12.0-ubi"
1818
},
1919
"ingressClass": "nginx",
2020
"nginxPlus": false,
@@ -353,7 +353,7 @@ spec:
353353
- --upstream=http://127.0.0.1:8080/
354354
- --logtostderr=true
355355
- --v=10
356-
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
356+
image: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.7
357357
name: kube-rbac-proxy
358358
ports:
359359
- containerPort: 8443
@@ -365,7 +365,7 @@ spec:
365365
- --leader-elect
366366
command:
367367
- /manager
368-
image: nginx/nginx-ingress-operator:0.3.0
368+
image: registry.connect.redhat.com/nginx/nginx-ingress-operator:0.3.0
369369
livenessProbe:
370370
httpGet:
371371
path: /healthz
@@ -381,11 +381,11 @@ spec:
381381
periodSeconds: 10
382382
resources:
383383
limits:
384-
cpu: 100m
385-
memory: 30Mi
384+
cpu: 500m
385+
memory: 128Mi
386386
requests:
387-
cpu: 100m
388-
memory: 20Mi
387+
cpu: 250m
388+
memory: 64Mi
389389
securityContext:
390390
allowPrivilegeEscalation: false
391391
securityContext:

config/samples/k8s_v1alpha1_nginxingresscontroller.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ spec:
77
nginxPlus: false
88
image:
99
repository: docker.io/nginx/nginx-ingress
10-
tag: 1.11.3-ubi
10+
tag: 1.12.0-ubi
1111
pullPolicy: Always
1212
serviceType: NodePort
1313
ingressClass: nginx

docs/manual-installation.md

+10-23
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,24 @@
22

33
### 1. Deploy the operator
44

5-
This will deploy the operator in the `default` namespace.
5+
This will deploy the operator in the `nginx-ingress-operator-system` namespace.
66

7-
1. Deploy the NginxIngressController Custom Resource Definition:
8-
```
9-
kubectl apply -f deploy/crds/k8s.nginx.org_nginxingresscontrollers_crd.yaml
10-
```
117

12-
1. Deploy the ServiceAccount:
8+
1. Deploy the Operator and associated resources:
9+
1. <Openshift> To deploy the Operator and associated resources to an OpenShift environment, run:
1310
```
14-
kubectl apply -f deploy/service_account.yaml
11+
make openshift-deploy IMG=registry.connect.redhat.com/nginx/nginx-ingress-operator:0.3.0
1512
```
1613
17-
1. Deploy the Role:
14+
2. To deploy the Operator and associated resources to all other environments:
1815
```
19-
kubectl apply -f deploy/role.yaml
16+
make deploy IMG=nginx/nginx-ingress-operator:0.3.0
2017
```
2118
22-
1. Deploy the RoleBinding:
23-
```
24-
kubectl apply -f deploy/role_binding.yaml
19+
2. Check that the Operator is running:
2520
```
21+
kubectl get deployments -n nginx-ingress-operator-system
2622
27-
1. Deploy the Operator:
28-
```
29-
kubectl apply -f deploy/operator.yaml
23+
NAME READY UP-TO-DATE AVAILABLE AGE
24+
nginx-ingress-operator-controller-manager 1/1 1 1 15s
3025
```
31-
32-
1. Check that the Operator is running:
33-
```
34-
kubectl get deployment nginx-ingress-operator
35-
36-
NAME READY UP-TO-DATE AVAILABLE AGE
37-
nginx-ingress-operator 1/1 1 1 15s
38-
```

docs/upgrades.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Upgrade - 0.2.0 to 0.3.0
2+
3+
Release 0.3.0 includes a major upgrade of the Operator-SDK which has resulted in a number of changes in the layout of the project
4+
(see [the operator-sdk docs](https://sdk.operatorframework.io/docs/building-operators/golang/migration/) for more information).
5+
6+
## Manual upgrade - 0.2.0 to 0.3.0
7+
8+
### 1. Deploy the new operator
9+
10+
Deploy the operator following the steps outlined in [manual installation doc](./manual-installation.md).
11+
12+
### 2. Cleanup the existing operator
13+
14+
Uninstall the existing operator deployment:
15+
16+
1. Checkout the previous version of the nginx-ingress-operator [0.3.0](https://github.com/nginxinc/nginx-ingress-operator/releases/tag/v0.3.0).
17+
1. Uninstall the resources by running the following commands (be sure to edit files to suit your environment, if required):
18+
```
19+
kubectl delete -f deploy/operator.yaml
20+
kubectl delete -f deploy/role_binding.yaml
21+
kubectl delete -f deploy/role.yaml
22+
kubectl delete -f deploy/service_account.yaml
23+
```
24+
25+
### 3. Upgrade the existing ingress controller deployments
26+
27+
Upgrade to the latest 1.12.0 Ingress Controller image - see the release notes [here](https://docs.nginx.com/nginx-ingress-controller/releases/#nginx-ingress-controller-1-12-0)

examples/deployment-oss-min/nginx-ingress-controller.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ spec:
77
type: deployment
88
nginxPlus: false
99
image:
10-
repository: registry.hub.docker.com/nginx/nginx-ingress
11-
tag: edge-ubi
10+
repository: nginx/nginx-ingress
11+
tag: 1.12.0-ubi
1212
pullPolicy: Always
1313
replicas: 1
1414
serviceType: NodePort
15-
15+

examples/deployment-plus-min/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ In this example we deploy the NGINX Ingress Controller (edge) as a [Deployment](
77
1. Have the NGINX Ingress Operator deployed in your cluster. Follow [installation](../../README.md#installation) steps.
88
2. Build the NGINX Ingress Controller for Plus image and push it to a private repository following
99
[these instructions](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/#building-the-image-and-pushing-it-to-the-private-registry)
10-
(**Note**: For the build process, if using Openshift, use the `DOCKERFILE=openshift/DockerfileForPlus` variable).
10+
(**Note**: For the build process, if using Openshift, use the `openshift-image-plus` or `openshift-image-nap-plus` targets).
1111

1212
If you would like to use TransportServers, refer to [this section](README.md#TransportServers) for additional pre-requisites.
1313

examples/deployment-plus-min/nginx-ingress-controller.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ spec:
88
nginxPlus: true
99
image:
1010
repository: nginx-plus-ingress
11-
tag: edge
11+
tag: 1.12.0-ubi
1212
pullPolicy: IfNotPresent
1313
replicas: 1
1414
serviceType: NodePort

0 commit comments

Comments
 (0)