Releases: nginxinc/kubernetes-ingress
v1.12.0
Help make the NGINX Ingress Controller better by participating in our survey!
New in NGINX Ingress Controller v1.12.0
🚀 Features
- Add HTTPS option to prometheus endpoint (#1652) @soneillf5
- Support multiple log security configs in Ingresses (#1513) @rafwegv
- Support match in TransportServer health checks (#1633) @pleshakov
- Add AWS Marketplace Entitlement verification (#1619) @lucacome
- Add load balancing method to TransportServer (#1479) @soneillf5
- Add support for user defined browsers in APPolicy (#1481) @rafwegv
- Add support for CSRF protection in APPolicy (#1578) @rafwegv
- Feature transportserver udp tests (#1553) @soneillf5
- Add unary gRPC support in APPolicy (#1411) @rafwegv
- Support snippets in TransportServer (#1466) @soneillf5
- Feature transport server status tests (#1516) @soneillf5
- Don't require default server TLS secret (#1512) @pleshakov
- Support ssl_reject_handshake in Ingress and VS (#1500) @pleshakov
- Add logs around NGINX Plus binary/flag mismatch (#1494) @lucacome
🐛 Bug Fixes
- fix: fix for latest container scanning vulnerabilities (#1684) @ciarams87
- Update liblz4-1 to fix CVE-2021-3520 (#1676) @lucacome
- Fix ungraceful shutdown of NGINX (#1501) @pleshakov
- Fix incorrect configuration and unexpected warnings about Secrets at the IC start (#1654) @pleshakov
- Add missing njs module to the openshift-image-nap-plus image (#1658) @ciarams87
- Fix caching in Edge workflow (#1648) @lucacome
- Fix env vars in edge workflow (#1647) @lucacome
- Fix Nightly job (#1623) @lucacome
- Check helm folder for updated CRDs in workflow (#1588) @lucacome
- Fix Docker Hub link (#1586) @lucacome
- fix policy example in web docs (#1563) @vepatel
- Setup QEMU before building for multiple architectures (#1560) @lucacome
- NGINX only builds CentOS 8 packages for amd64/arm64 (#1557) @lucacome
- Red Hat UBI 8 doesn't support armv7 (#1552) @lucacome
- Fix link to ingress-nginx template (#1551) @lucacome
- fix: Update openssl libs in UBI base image & update nginx version (#1499) @ciarams87
📝 Documentation
- Release 1.12.0 (#1695) @ciarams87
- Publish IngressLink doc (#1694) @pleshakov
- Add HTTPS option to prometheus endpoint (#1652) @soneillf5
- Fix Building the Ingress Controller Image doc (#1668) @pleshakov
- Add how NGINX IC works doc (#1649) @pleshakov
- Support multiple log security configs in Ingresses (#1513) @rafwegv
- fix some App Protect logs links (#1594) @shaggy245
- Support match in TransportServer health checks (#1633) @pleshakov
- Update NGINX Plus to R24 (#1604) @lucacome
- Update repo files for release 1.11.3 (#1629) @pleshakov
- Add Docker image for Alpine with NGINX Plus (#1574) @lucacome
- Update repo files for release 1.11.2 (#1609) @ciarams87
- Add load balancing method to TransportServer (#1479) @soneillf5
- Feature transportserver udp tests (#1553) @soneillf5
- Update grpc notes (#1468) @rafwegv
- Add max connections to TransportServer (#1480) @soneillf5
- fix policy example in web docs (#1563) @vepatel
- Support snippets in TransportServer (#1466) @soneillf5
- Add test for TransportServer load balancing config (#1543) @soneillf5
- Fix link to ingress-nginx template (#1551) @lucacome
- Merge release branch to master (#1544) @lucacome
- Update badge for Fossa (#1546) @lucacome
- Support running tests in kind (#1540) @pleshakov
- Feature transport server status tests (#1516) @soneillf5
- Don't require default server TLS secret (#1512) @pleshakov
- Update repo files for release 1.11.1 (#1515) @ciarams87
- Release 1.11.1 (#1514) @ciarams87
- Support ssl_reject_handshake in Ingress and VS (#1500) @pleshakov
- Use latest tag in docs and manifests (#1495) @lucacome
- Update the IC so that GlobalConfiguration is not mandatory when configured (#1492) @soneillf5
- chore: update nginx version to 1.19.9 (#1498) @ciarams87
- Retire vendoring (#1502) @lucacome
- fix: Update openssl libs in UBI base image & update nginx version (#1499) @ciarams87
- docs: update the helm install instructions (#1497) @ciarams87
- Add golangci-lint as a dependency (#1419) @lucacome
- docs: update docs for release (#1488) @ciarams87
🔨 Maintenance
- Add gofumpt linter (#1693) @lucacome
- chore: add k8s 1.21 to the matrix and bump the patch versions (#1698) @ciarams87
- Add errorlint (#1688) @lucacome
- Enable default linters and gosec (#1687) @lucacome
- Update Release workflow (#1670) @lucacome
- Simplify Dockerfile stages for Debian (#1671) @lucacome
- Update CRDs folder after Operator upgrade (#1659) @lucacome
- Add UBI with NAP to Dockerfile (#1661) @lucacome
- Enable Docker scan result upload on PR (#1663) @lucacome
- Add jq and git to the gitlab test dockerfile (#1662) @ciarams87
- Improve Dockerfile (#1646) @lucacome
- AppProtect gRPC automation tests (#1603) @vepatel
- Add smoke test for user defined browser AP policy (#1638) @vepatel
- Chore/fix nightly image (#1636) @ciarams87
- Switch to new NGINX Plus repo for UBI (#1596) @lucacome
- Add smoke test for appprotect csrf policy (#1627) @vepatel
- Filter previous releases only on master branch (#1632) @lucacome
- Add Docker image for Alpine with NGINX Plus (#1574) @lucacome
- Add gitlab pipeline and remove plus building from github (#1601) @ciarams87
- Revert dependabot to daily checks (#1605) @lucacome
- Improve nap unit tests (#1589) @pleshakov
- Add NGINX version to ubi image building (#1592) @ciarams87
- Fix ubi image name (#1591) @ciarams87
- Update NGINX Plus builds (#1576) @lucacome
- Add container scanning for OSS images (#1580) @ciarams87
- Update formatting of AppProtect CRDs (#1587) @pleshakov
- Use UBI 8 minimal to reduce image size (#1575) @lucacome
- Add labels to Dockerfile, minor improvements (#1572) @lucacome
- Add automatic response for issues (#1577) @lucacome
- Add workflow to push README to Docker Hub (#1573) @lucacome
- add ts snippet tests (#1568) @vepatel
- Chore: Don't notify on cancelled edge pipeline (#1559) @ciarams87
- Ingress MTLS tests (#1555) @vepatel
- Updated regex for create tag release workflow (#1556) @soneillf5
- Add GoReleaser (#1549) @lucacome
- tests-ts-tls-passthrough (#1550) @vepatel
- Merge release branch to master (#1544) @lucacome
- Revert changes in nightly for now (#1547) @ciarams87
- Fix ensure connections (#1539) @pleshakov
- Update badge for Fossa (#1546) @lucacome
- Add tests for default server (#1537) @pleshakov
- Test all images (#1533) @ciarams87
- Upgrade kubernetes-python client to 12.0.1 (#1522) @soneillf5
- Improve tests Dockerfile (#1536) @pleshakov
- Add tests for Ingress TLS termination (#1525) @pleshakov
- Cancel redundant pipelines and remove redundant build jobs (#1524) @ciarams87
- Use Fossa action in the workflow (#1523) @lucacome
- Rename read_crds to read_custom_resource (#1519) @soneillf5
- Create codeql-analysis.yml (#1520) @lucacome
- Use latest tag in docs and manifests (#1495) @lucacome
- Remove NGINX_VERSION from base images (#1503) @lucacome
- Use master as target branch, move deps into separate category (#1493) @lucacome
- AP: bump AppProtect Version to 3.1 (#1496) @rafwegv
- Read Go version from go.mod in workflows (#1504) @lucacome
- chore: update nginx version to 1.19.9 (#1498) @ciarams87
- Retire vendoring (#1502) @lucacome
⬆️ Dependencies
- Bump urllib3 from 1.26.5 to 1.26.6 in /perf-tests (#1700) @dependabot
- Bump github.com/aws/aws-sdk-go-v2/service/marketplacemetering from 1.3.1 to 1.4.0 (#1704) @dependabot
- Bump github.com/aws/aws-sdk-go-v2/config from 1.3.0 to 1.4.0 (#1705) @dependabot
- Bump urllib3 from 1.26.5 to 1.26.6 in /tests (#1699) @dependabot
- Bump sigs.k8s.io/controller-tools from 0.6.0 to 0.6.1 (#1691) @dependabot
- Use latest Docker image for golangci-lint (#1686) @lucacome
- Bump grpcio-tools from 1.38.0 to 1.38.1 in /tests (#1690) @dependabot
- Bump grpcio from 1.38.0 to 1.38.1 in /tests (#1689) @dependabot
- fix: fix for latest container scanning vulnerabilities (#1684) @ciarams87
- Bump k8s.io/code-generator from 0.21.1 to 0.21.2 (#1680) @dependabot
- Bump k8s.io/client-go from 0.21.1 to 0.21.2 (#1678) @dependabot
- Update liblz4-1 to fix CVE-2021-3520 (#1676) @lucacome
- Bump sigs.k8s.io/controller-tools from 0.5.0 to 0.6.0 (#1653) @dependabot
- Bump github.com/prometheus/client_golang from 1.10.0 to 1.11.0 (#1650) @dependabot
- Bump certifi from 2020.12.5 to 2021.5.30 in /tests (#1640) @dependabot
- Bump certifi from 2020.12.5 to 2021.5.30 in /perf-tests (#1641) @dependabot
- Bump urllib3 from 1.26.4 to 1.26.5 in /perf-tests (#1634) @dependabot
- Bump urllib3 from 1.26.4 to 1.26.5 in /tests (#1635) @dependabot
- Add AWS Marketplace Entitlement verification (#1619) @lucacome
- Bump more-itertools from 8.7.0 to 8.8.0 in /tests (#1622) @dependabot
- Update NGINX Plus to R24 (#1604) @lucacome
- Bump library/nginx from 1.19.10-alpine to 1.21.0-alpine in /build (#1630) @dependabot
- Bump nginx from 1.19.10 to 1.21.0 in /build (#1631) @dependabot
- Bump github.com/google/go-cmp from 0.5.5 to 0.5.6 (#1625) @dependabot
- Bump github.com/golangci/golangci-lint from 1.39.0 to 1.40.1 (#1612) @dependabot
- Bump k8s.io/client-go from 0.21.0 to 0.21.1 (#1613) @dependabot
- Bump k8s.io/code-generator from 0.21.0 to 0.21.1 (#1615) @dependabot
- Bump nginx from 1.19.9 to 1.19.10 in /build (#1542) @dependabot
- Bump library/nginx from 1.19.9-alpine to 1.19.10-alpine in /build (#1595) @dependabot
- Workaround for bug in Dependabot for Docker (#1593) @lucacome
- Bump pytest from 6.2.3 to 6.2.4 in /tests (#1583) @dependabot
- Bump actions/cache from v2.1.4 to v2.1.5 (#1541) @dependabot
- Bump k8s.io/code-generator from 0.20.5 to 0.21.0 (#1531) @dependabot
- Bump k8s.io/client-go from 0.20.5 to 0.21.0 (#1530) @dependabot
- Remove patch ...
v1.11.3
Help make the NGINX Ingress Controller better by participating in our survey!
New in NGINX Ingress Controller v1.11.3
🔨 Maintenance
- Release 1.11.3 (#1628) @pleshakov The release includes NGINX 1.21.0
Upgrade
- For NGINX, use the v1.11.3 image from our DockerHub: nginx/nginx-ingress:1.11.3, nginx/nginx-ingress:1.11.3-alpine or nginx/nginx-ingress:1.11.3-ubi
- For NGINX Plus, please build your own image using the v1.11.3 source code.
- For Helm, use version 0.9.3 of the chart.
Resources
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.3/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.3/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.3/deployments/helm-chart
- Operator -- https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-operator/
v1.11.2
Help make the NGINX Ingress Controller better by participating in our survey!
New in NGINX Ingress Controller v1.11.2
📝 Documentation
- Release 1.11.2 (#1608) @ciarams87
🔨 Maintenance
- chore: update nginx plus version to R23 P1 (#1607) @ciarams87
Upgrade
- For NGINX, use the v1.11.2 image from our DockerHub: nginx/nginx-ingress:1.11.2, nginx/nginx-ingress:1.11.2-alpine or nginx/nginx-ingress:1.11.2-ubi
- For NGINX Plus, please build your own image using the v1.11.2 source code.
- For Helm, use version 0.9.2 of the chart.
Resources
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.2/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.2/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.2/deployments/helm-chart
- Operator -- https://github.com/nginxinc/nginx-ingress-operator/
v1.11.1
Help make the NGINX Ingress Controller better by participating in our survey!
New in NGINX Ingress Controller v1.11.1
- Update NGINX version to 1.19.9.
- Update the OpenSSL libraries used in the UBI images
- Fixed documentation in the Helm README
Helm Chart
- The version of the Helm chart is now 0.9.1.
Upgrade
- For NGINX, use the 1.11.1 image from our DockerHub:
nginx/nginx-ingress:1.11.1
,nginx/nginx-ingress:1.11.1-alpine
ornginx/nginx-ingress:1.11.1-ubi
- For NGINX Plus, please build your own image using the 1.11.1 source code.
- For Helm, use version 0.9.1 of the chart.
Resources
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.1/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.1/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.1/deployments/helm-chart
- Operator -- a compatible Operator version for this release will be published shortly.
v1.11.0
Help make the NGINX Ingress Controller better by participating in our survey!
New in NGINX Ingress Controller v1.11.0
- tests/waf-policy-appprotect (#1451) @vepatel
- Update NGINX version to 1.19.8 (#1455) @lucacome
- Add status update to Delete handling (#1447) @soneillf5
- Add status checks in policy tests (#1412) @vepatel
- Add WAF policy (#1378) @Dean-Coakley
- Ap uds tests (#1352) @vepatel
- Add status field to policy resource (#1317) @LorcanMcVeigh
🚀 Features
- Add support for ClusterIP in upstreams in VirtualServers/VirtualServerRoutes (#1449) @lucacome
- Add serverSnippets to TransportServer (#1413) @LorcanMcVeigh
- Add status field to TransportServer resource (#1425) @soneillf5
- Support IngressClassName in TransportServer (#1420) @pleshakov
- Handle host and listener collisions for TransportServer resource (#1415) @pleshakov
- Add active health checks to TransportServer (#1384) @LorcanMcVeigh
- Add passive health checks to TransportServer (#1382) @LorcanMcVeigh
- Add configurable timeouts to TransportServer (#1346) @LorcanMcVeigh
- Improve VirtualServer/VirtualServerRoute warnings for policies (#1322) @pleshakov
- Add stricter validation for some ingress annotations (#1288) @mikestephen
💣 Breaking Change
🐛 Bug Fixes
- Temporary fix for release 1.11 (#1490) @lucacome
- Wait for caches to sync when the Ingress Controller starts (#1457) @pleshakov
- Fix type in transport server rbac (#1453) @soneillf5
- Add whitespace to invalid values for time fields in resources (#1445) @soneillf5
- Fix transport server description (#1446) @soneillf5
- Fix setting host header in action proxy in VirtualServer/VirtualServerRoute (#1444) @pleshakov
- Add rbac config for transport server status (#1442) @soneillf5
- Tests/fix test data (#1441) @vepatel
- Fix python tests (#1426) @pleshakov
- GitHub action fixes (#1429) @lucacome
- Add IC version to images pushed to Docker Hub (#1423) @lucacome
- Add VS/VSR status update upon WAF policy User Defined Signature update (#1418) @Dean-Coakley
- Fix bug in TS health check (#1417) @LorcanMcVeigh
- Fix virtual server health check to generate time correctly (#1409) @soneillf5
- Fix reload timeout calculation for verifying NGINX reloads (#1396) @soneillf5
- Time values have whitespace stripped and seconds have units added (#1371) @mikestephen
📝 Documentation
- Update docs (#1486) @pleshakov
- Add notes about CRDs requirement (#1482) @pleshakov
- Add tech support statement (#1478) @pleshakov
- docs: remove broken opentracing example for now (#1467) @ciarams87
- Update docs (#1465) @pleshakov
- Add support for ClusterIP in upstreams in VirtualServers/VirtualServerRoutes (#1449) @lucacome
- Fix setting host header in action proxy in VirtualServer/VirtualServerRoute (#1444) @pleshakov
- Add serverSnippets to TransportServer (#1413) @LorcanMcVeigh
- Clarify AppProtect gRPC support (#1438) @pleshakov
- Add status field to TransportServer resource (#1425) @soneillf5
- Support IngressClassName in TransportServer (#1420) @pleshakov
- Refactor Dockerfile and Makefile (#1241) @lucacome
- Handle host and listener collisions for TransportServer resource (#1415) @pleshakov
- Add active health checks to TransportServer (#1384) @LorcanMcVeigh
- Add Kubernetes 1.20 support, Remove Kubernetes 1.15 support (#1385) @Dean-Coakley
- Bump sigs.k8s.io/controller-tools from 0.4.1 to 0.5.0 (#1405) @dependabot
- Fix WAF policy example (#1398) @Dean-Coakley
- Improve Image build instructions (#1377) @jasonwilliams14
- Update index.rst (#1379) @jputrino
- Docs: Add removal of trailing CRDs to uninstall notes (#1320) @Dean-Coakley
- Fix link to custom log format example in docs (#1326) @Dean-Coakley
🔨 Maintenance
- Temporary fix for release 1.11 (#1490) @lucacome
- chore: Auto sync crds (#1487) @ciarams87
- Bump github.com/prometheus/client_golang from 1.9.0 to 1.10.0 (#1474) @dependabot
- Bump k8s.io/code-generator from 0.20.4 to 0.20.5 (#1475) @dependabot
- Bump k8s.io/client-go from 0.20.4 to 0.20.5 (#1473) @dependabot
- Update files for release 1.10.1 (#1462) @lucacome
- Use variables in Makefile to reduce noise (#1463) @lucacome
- Prune labels (#1443) @lucacome
- Add in_review label (#1452) @pleshakov
- Bump pytest-html from 2.1.1 to 3.1.1 in /perf-tests (#1370) @dependabot
- Update Go version to 1.16 (#1456) @lucacome
- Increase operations per run to 100 in actions/stale (#1450) @lucacome
- Bump github.com/google/go-cmp from 0.5.4 to 0.5.5 (#1437) @dependabot
- Add GitHub workflow to check for stale PRs and issues (#1430) @lucacome
- Add labels and label syncer (#1433) @lucacome
- GitHub action fixes (#1429) @lucacome
- Update Nginx App Protect version to 3.0 (#1428) @rafwegv
- Bump python from 3.9.1-slim to 3.9.2-slim in /tests/docker (#1404) @dependabot
- Improve Makefile usage message (#1424) @lucacome
- Refactor Dockerfile and Makefile (#1241) @lucacome
- Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#1416) @dependabot
- Update CRDs with controller-tools 0.5.0 (#1408) @lucacome
- Add Kubernetes 1.20 support, Remove Kubernetes 1.15 support (#1385) @Dean-Coakley
- Bump sigs.k8s.io/controller-tools from 0.4.1 to 0.5.0 (#1405) @dependabot
- Bump k8s.io/code-generator from 0.20.3 to 0.20.4 (#1403) @dependabot
- Bump k8s.io/client-go from 0.20.3 to 0.20.4 (#1401) @dependabot
- Bump golangci/golangci-lint-action from v2 to v2.4.0 (#1381) @dependabot
- Remove PR labeler, use autolabeler (#1400) @lucacome
- Bump k8s.io/code-generator from 0.20.2 to 0.20.3 (#1389) @dependabot
- Bump k8s.io/client-go from 0.20.2 to 0.20.3 (#1390) @dependabot
- Change dependabot interval to weekly (#1394) @lucacome
- Bump cffi from 1.12.3 to 1.14.5 in /perf-tests (#1375) @dependabot
- Update NGINX version to 1.19.7 (#1392) @Dean-Coakley
- Bump urllib3 from 1.25.3 to 1.26.3 in /perf-tests (#1368) @dependabot
- Prom metrics test (#1383) @vepatel
- Fix configmap tests. Fix Helm chart pipeline (#1376) @Dean-Coakley
- Bump cffi from 1.14.4 to 1.14.5 in /tests (#1374) @dependabot
- Automate release (#1344) @lucacome
- Bump more-itertools from 8.6.0 to 8.7.0 in /tests (#1362) @dependabot
- Bump locust from 1.1.1 to 1.4.3 in /perf-tests (#1357) @dependabot
- Bump pyyaml from 5.1.2 to 5.4.1 in /perf-tests (#1363) @dependabot
- Bump requests from 2.22.0 to 2.25.1 in /perf-tests (#1354) @dependabot
- Bump certifi from 2019.6.16 to 2020.12.5 in /tests (#1349) @dependabot
- Bump pytest-repeat from 0.8.0 to 0.9.1 in /perf-tests (#1359) @dependabot
- Bump python from 3.7.2-slim to 3.9.1-slim in /tests/docker (#1356) @dependabot
- Bump ipaddress from 1.0.22 to 1.0.23 in /perf-tests (#1355) @dependabot
- Bump certifi from 2019.6.16 to 2020.12.5 in /perf-tests (#1358) @dependabot
- Bump actions/cache from v2 to v2.1.4 (#1353) @dependabot
- Add dependabot config for tests (#1345) @lucacome
- Bump requests from 2.22.0 to 2.25.1 in /tests (#1347) @dependabot
- Bump urllib3 from 1.25.3 to 1.26.3 in /tests (#1350) @dependabot
- Bump ipaddress from 1.0.22 to 1.0.23 in /tests (#1351) @dependabot
- Bump pytest-html from 2.1.1 to 3.1.1 in /tests (#1338) @dependabot
- Bump pyyaml from 5.1.2 to 5.4.1 in /tests (#1340) @dependabot
- Bump pyopenssl from 20.0.0 to 20.0.1 in /tests (#1341) @dependabot
- Bump cffi from 1.12.3 to 1.14.4 in /tests (#1339) @dependabot
- Bump k8s.io/code-generator from 0.20.0 to 0.20.2 (#1334) @dependabot
- Bump k8s.io/client-go from 0.20.0 to 0.20.2 (#1335) @dependabot
- Bump k8s.io/apimachinery from 0.20.0 to 0.20.2 (#1333) @dependabot
- Bump pytest from 6.0.1 to 6.2.2 in /tests (#1342) @dependabot
- Add dependabot config for tests (#1337) @lucacome
- Add dependabot (#1332) @lucacome
- Run nightly k8s tests on 1.20.0; drop testing on 1.15.12 (#1329) @ciarams87
- Enable repo sync (#1328) @ciarams87
- Release 1.10.0 in master (#1325) @mikestephen
Upgrade
- For NGINX, use the v1.11.0 image from our DockerHub:
nginx/nginx-ingress:1.11.0
,nginx/nginx-ingress:1.11.0-alpine
ornginx/nginx-ingress:1.11.0-ubi
- For NGINX Plus, please build your own image using the v1.11.0 source code.
- For Helm, use version 0.9.0 of the chart.
Resources
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.0/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.0/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.0/deployments/helm-chart
- Operator -- a compatible Operator version for this release will be published shortly.
v1.10.1
Help make the NGINX Ingress Controller better by participating in our survey!
New in NGINX Ingress Controller v1.10.1
🐛 Bug Fixes
Fix various issues in the Makefile. In 1.10.0, a bug was introduced that prevented building Ingress Controller images on versions of make < 4.1. (#1373) (#1439) (#1440)
📝 Documentation
- Add Kubernetes 1.20 support. (#1386)
🔨 Maintenance
Upgrade
- For NGINX, use the v1.10.1 image from our DockerHub:
nginx/nginx-ingress:1.10.1
,nginx/nginx-ingress:1.10.1-alpine
ornginx/nginx-ingress:1.10.1-ubi
- For NGINX Plus, please build your own image using the v1.10.1 source code.
- For Helm, use version 0.8.1 of the chart.
Resources
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.10.1/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.10.1/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.10.1/deployments/helm-chart
- Operator -- https://github.com/nginxinc/nginx-ingress-operator/
NGINX Ingress Controller 1.10.0
🚀 Help make the NGINX Ingress Controller better by participating in our survey! 🚀
OVERVIEW:
Release 1.10.0 includes:
- Open ID Connect authentication policy.
- Improved handling of Secret resources with extended validation and error reporting.
- Improved visibility with Prometheus metrics for the configuration workqueue and the ability to annotate NGINX logs with the metadata of Kubernetes resources.
- NGINX App Protect User-Defined signatures support.
- Improved validation of Ingress annotations.
You will find the complete changelog for release 1.10.0, including bug fixes, improvements, and changes below.
FEATURES FOR POLICY RESOURCE:
- 1304 Add Open ID Connect policy.
FEATURES FOR NGINX APP PROTECT:
- 1281 Add support for App Protect User Defined Signatures.
FEATURES:
- 1266 Add workqueue metrics to Prometheus metrics.
- 1233 Annotate tcp metrics with k8s object labels.
- 1231 Support k8s objects variables in log format.
IMPROVEMENTS:
- 1270 and 1277 Improve validation of Ingress annotations.
- 1265 Report warnings for misconfigured TLS and JWK secrets.
- 1262 Use setcap(8) only once. 1263 Use chown(8) only once. 1264 Use mkdir(1) only once. Thanks to Sergey A. Osokin.
- 1256 and 1260 Improve handling of secret resources.
- 1240 Validate TLS and CA secrets.
- 1235 Use buildkit secret flag for NGINX plus images.
- Documentation improvements: 1282, 1293, 1303, 1315.
HELM CHART:
- The version of the helm chart is now 0.8.0.
- 1290 Add new preview policies parameter to chart.
controller.enablePreviewPolicies
was added. - 1232 Replace deprecated imagePullSecrets helm setting.
controller.serviceAccount.imagePullSecrets
was removed.controller.serviceAccount.imagePullSecretName
was added. - 1228 Fix installation of ingressclass on Kubernetes versions
v1.18.x-*
CHANGES:
- 1299 Update NGINX App Protect version to 2.3 and debian distribution to
debian:buster-slim
. - 1291 Update NGINX OSS to
1.19.6
. Update NGINX Plus toR23
. - 1290 Graduate policy resource and accessControl policy to generally available.
- 1225 Require secrets to have types.
- 1237 Deprecate support for helm2 clients.
UPGRADE:
-
For NGINX, use the 1.10.0 image from our DockerHub:
nginx/nginx-ingress:1.10.0
,nginx/nginx-ingress:1.10.0-alpine
ornginx-ingress:1.10.0-ubi
-
For NGINX Plus, please build your own image using the 1.10.0 source code.
-
For Helm, use version 0.8.0 of the chart.
-
As a result of 1270 and 1277, the Ingress Controller improved validation of Ingress annotations: more annotations are validated and validation errors are reported via events for Ingress resources. Additionally, the default behavior for invalid annotation values was changed: instead of using the default values, the Ingress Controller will reject a resource with an invalid annotation value, which will make clients see
404
responses from NGINX. See this document to learn more. Before upgrading, ensure the Ingress resources don't have annotations with invalid values. Otherwise, after the upgrade, the Ingress Controller will reject such resources. -
In 1232
controller.serviceAccount.imagePullSecrets
was removed. Use the newcontroller.serviceAccount.imagePullSecretName
instead. -
The Policy resource was promoted to
v1
. If you used thealpha1
version, the policies are needed to be recreated with thev1
version. Before upgrading the Ingress Controller, run the following command to remove thealpha1
policies CRD (that will also remove all existingalpha1
policies):kubectl delete crd policies.k8s.nginx.org
As part of the upgrade, make sure to create the
v1
policies CRD. See the corresponding instructions for the manifests and Helm installations.Also note that all policies except for
accessControl
are still in preview. To enable them, run the Ingress Controller with- -enable-preview-policies
command-line argument (controller.enablePreviewPolicies
Helm parameter). -
It is necessary to update secret resources. See the section UPDATING SECRETS below.
UPDATING SECRETS:
In 1225, as part of improving how the Ingress Controller handles secret resources, we added a requirement for secrets to be of one of the following types:
kubernetes.io/tls
for TLS secrets.nginx.org/jwk
for JWK secrets.nginx.org/ca
for CA secrets.
The Ingress Controller now ignores secrets that are not of a supported type. As a consequence, special upgrade steps are required.
Before upgrading, ensure that the secrets referenced in Ingress, VirtualServer or Policies resources are of a supported type, which is configured via the type
field. Because that field is immutable, it is necessary to either:
- Recreate the secrets. Note that in this case, the client traffic for the affected resources will be rejected for the period during which a secret doesn't exist in the cluster.
- Create copies of the secrets and update the affected resources to reference the copies. The copies need to be of a supported type. In contrast with the previous options, this will not make NGINX reject the client traffic.
It is also necessary to update the default server secret and the wildcard secret (if it was configured) in case their type is not kubernetes.io/tls
. The steps depend on how you installed the Ingress Controller: via manifests or Helm. Performing the steps will not lead to a disruption of the client traffic, as the Ingress Controller retains the default and wildcard secrets if they are removed.
For manifests installation:
- Recreate the default server secret and the wildcard secret with the type
kubernetes.io/tls
. - Upgrade the Ingress Controller.
For Helm installation, there two cases:
- If Helm created the secrets (you configured
controller.defaultTLS.cert
andcontroller.defaultTLS.key
for the default secret andcontroller.wildcardTLS.cert
andcontroller.wildcardTLS.key
for the wildcard secret), then no special upgrade steps are required: during the upgrade, the Helm will remove the existing default and wildcard secrets and create new ones with different names with the typekubernetes.io/tls
. - If you created the secrets separately from Helm (you configured
controller.defaultTLS.secret
for the default secret andcontroller.wildcardTLS.secret
for the wildcard secret):- Recreate the secrets with the type
kubernetes.io/tls
. - Upgrade to the new Helm release.
- Recreate the secrets with the type
NOTES:
- Helm 2 clients are no longer supported due to reaching End of Life: https://helm.sh/blog/helm-2-becomes-unsupported/
RESOURCES:
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.10.0/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.10.0/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.10.0/deployments/helm-chart
- Operator -- a compatible Operator version for this release will be published shortly.
NGINX Ingress Controller 1.9.1
CHANGES:
- Fix deployment of ingressclass resource via helm on some versions of Kubernetes.
- Update the base ubi images to 8.3.
- Renew CA cert for egress-mtls example.
- Add
controller.serviceAccount.imagePullSecretName
parameter to the helm chart. Note:controller.serviceAccount.imagePullSecrets
is deprecated and will be removed in the future1.10.0
release.
HELM CHART:
- The version of the Helm chart is now 0.7.1.
UPGRADE:
- For NGINX, use the 1.9.1 image from our DockerHub:
nginx/nginx-ingress:1.9.1
,nginx/nginx-ingress:1.9.1-alpine
ornginx/nginx-ingress:1.9.1-ubi
- For NGINX Plus, please build your own image using the 1.9.1 source code.
- For Helm, use version 0.7.1 of the chart.
RESOURCES:
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.9.1/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.9.1/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.9.1/deployments/helm-chart
- Operator -- https://github.com/nginxinc/nginx-ingress-operator/
NGINX Ingress Controller 1.9.0
🚀 Help make the NGINX Ingress Controller better by participating in our survey! 🚀
OVERVIEW:
Release 1.9.0 includes:
- Support for new Prometheus metrics and enhancements of the existing ones, including configuration reload reason, NGINX worker processes count, upstream latency, and more.
- Support for rate limiting, JWT authentication, ingress(client) and egress(upstream) mutual TLS via the Policy resource.
- Support for the latest Ingress resource features and the IngressClass resource.
- Support for NGINX Service Mesh.
You will find the complete changelog for release 1.9.0, including bug fixes, improvements, and changes below.
FEATURES FOR POLICY RESOURCE:
- 1180 Add support for EgressMTLS.
- 1166 Add IngressMTLS policy support.
- 1154 Add JWT policy support.
- 1120 Add RateLimit policy support.
- 1058 Support policies in VS routes and VSR subroutes.
FEATURES FOR NGINX APP PROTECT:
- 1147 Add option to specify other log destinations in AppProtect.
- 1131 Update packages and CRDs to AppProtect 2.0. This update includes features such as: JSON Schema Validation, User-Defined URLs and User-Defined Parameters. See the release notes for a complete feature list.
- 1100 Add external references to AppProtect.
- 1085 Add installation of threat campaigns package.
FEATURES:
- 1133 Add support for IngressClass resources.
- 1130 Add prometheus latency collector.
- 1076 Add prometheus worker process metrics.
- 1075 Add support for NGINX Service Mesh internal routes.
IMPROVEMENTS:
- 1178 Resolve host collisions in VirtualServer and Ingresses.
- 1158 Support variables in action proxy headers.
- 1137 Add pod_owner label to metrics when -spire-agent-address is set.
- 1107 Extend Upstream Servers with pod_name label.
- 1099 Add reason label to total_reload metrics.
- 1088 Extend Upstream Servers and Server Zones metrics, thanks to Raúl.
- 1080 Support pathType field in the Ingress resource.
- 1078 Remove trailing blank lines in vs/vsr snippets.
- Documentation improvements: 1083, 1092, 1089, 1174, 1175, 1171.
BUGFIXES:
- 1179 Fix TransportServers in debian AppProtect image.
- 1129 Support real-ip in default server.
- 1110 Add missing threat campaigns key to AppProtect CRD.
HELM CHART:
- The version of the helm chart is now 0.7.0
- 1105 Fix GlobalConfiguration support in helm chart.
- Add new parameters to the Chart:
controller.setAsDefaultIngress
,controller.enableLatencyMetrics
. Added in 1133 and 1148.
CHANGES:
- 1182 Update NGINX version to 1.19.3.
UPGRADE:
- For NGINX, use the 1.9.0 image from our DockerHub:
nginx/nginx-ingress:1.9.0
,nginx/nginx-ingress:1.9.0-alpine
ornginx-ingress:1.9.0-ubi
- For NGINX Plus, please build your own image using the 1.9.0 source code.
- For Helm, use version 0.7.0 of the chart.
For Kubernetes >= 1.18, when upgrading using the manifests, make sure to update the ClusterRole and create the IngressClass resource, which is required for Kubernetes >= 1.18. Otherwise, the Ingress Controller will fail to start. If you run multiple NGINX Ingress Controllers in the cluster, each Ingress Controller has to have its own IngressClass resource. As the -use-ingress-class-only
argument is now ignored (see NOTES), make sure your Ingress resources have the ingressClassName
field or the kubernetes.io/ingress.class
annotation set to the name of the IngressClass resource. Otherwise, the Ingress Controller will ignore them.
HELM UPGRADE:
- If you're using custom resources like VirtualServer and TransportServer (
controller.enableCustomResources
is set totrue
), after you run thehelm upgrade
command, the CRDs will not be upgraded. After running thehelm upgrade
command, runkubectl apply -f deployments/helm-chart/crds
to upgrade the CRDs. - For Kubernetes >= 1.18, a dedicated IngressClass resource, which is configured by
controller.ingressClass
, is required per helm release. Ensurecontroller.ingressClass
is not set to the name of the IngressClass of other releases or Ingress Controllers. As thecontroller.useIngressClassOnly
parameter is now ignored (see NOTES), make sure your Ingress resources have theingressClassName
field or thekubernetes.io/ingress.class
annotation set to the value ofcontroller.ingressClass
. Otherwise, the Ingress Controller will ignore them.
NOTES:
- When using Kubernetes >= 1.18, the
-use-ingress-class-only
command-line argument is now ignored, and the Ingress Controller will only process resources that belong to its class. See IngressClass doc to learn more. - For Kubernetes >= 1.18, a dedicated IngressClass resource, which is configured by
controller.ingressClass
, is required per helm release. When upgrading or installing releases, ensurecontroller.ingressClass
is not set to the name of the IngressClass of other releases or Ingress Controllers.
RESOURCES:
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.9.0/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.9.0/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.9.0/deployments/helm-chart
- Operator -- https://github.com/nginxinc/nginx-ingress-operator/
NGINX Ingress Controller 1.8.1
CHANGES:
- Update NGINX version to 1.19.2.
HELM CHART:
- The version of the Helm chart is now 0.6.1.
UPGRADE:
- For NGINX, use the 1.8.1 image from our DockerHub:
nginx/nginx-ingress:1.8.1
,nginx/nginx-ingress:1.8.1-alpine
ornginx/nginx-ingress:1.8.1-ubi
- For NGINX Plus, please build your own image using the 1.8.1 source code.
- For Helm, use version 0.6.1 of the chart.
KNOWN ISSUES:
- Ingress Controller pods fails to start when deployed using Helm with
controller.globalConfiguration.create
set totrue
. A workaround is described here.
RESOURCES:
- Documentation -- https://docs.nginx.com/nginx-ingress-controller/
- Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.8.1/examples and https://github.com/nginxinc/kubernetes-ingress/tree/v1.8.1/examples-of-custom-resources
- Helm Chart -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.8.1/deployments/helm-chart
- Operator -- https://github.com/nginxinc/nginx-ingress-operator/