diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 828721cadb..5281f1e1f0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,9 +4,9 @@ Describe the use case and detail of the change. If this PR addresses an issue on ### Checklist Before creating a PR, run through this checklist and mark each as complete. -- [ ] I have read the [CONTRIBUTING](https://github.com/nginxinc/kubernetes-ingress/blob/master/CONTRIBUTING.md) doc +- [ ] I have read the [CONTRIBUTING](https://github.com/nginxinc/kubernetes-ingress/blob/main/CONTRIBUTING.md) doc - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have checked that all unit tests pass after adding my changes - [ ] I have updated necessary documentation -- [ ] I have rebased my branch onto master -- [ ] I will ensure my PR is targeting the master branch and pulling from my branch from my own fork +- [ ] I have rebased my branch onto main +- [ ] I will ensure my PR is targeting the main branch and pulling from my branch from my own fork diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 70376d33f0..5ed19a7b3f 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -71,8 +71,6 @@ autolabeler: - 'vendor*' branch: - '/deps\/.+/' -filter-by-commitish: true -commitish: master template: | *Help make the NGINX Ingress Controller better by participating in our [survey](https://forms.office.com/Pages/ResponsePage.aspx?id=L_093Ttq0UCb4L-DJ9gcUKLQ7uTJaE1PitM_37KR881UMEs0Rk5PMkYzMTJTWVA0V1hUVTRLUUMyNS4u)!* diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 539a813be9..74ef951db2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,7 @@ name: Continuous Integration on: push: branches: - - master + - main - release-* paths-ignore: - 'docs/**' @@ -13,7 +13,7 @@ on: - 'v[0-9]+.[0-9]+.[0-9]+' pull_request: branches: - - master + - main - release-* paths-ignore: - 'docs/**' @@ -360,7 +360,7 @@ jobs: org.opencontainers.image.description=NGINX Ingress Controller for Kubernetes org.opencontainers.image.documentation=https://docs.nginx.com/nginx-ingress-controller org.opencontainers.image.vendor=NGINX Inc - io.artifacthub.package.readme-url=https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/master/README.md + io.artifacthub.package.readme-url=https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/main/README.md io.artifacthub.package.logo-url=https://docs.nginx.com/nginx-ingress-controller/images/icons/NGINX-Ingress-Controller-product-icon.svg io.artifacthub.package.maintainers=[{"name":"NGINX Inc","email":"kubernetes@nginx.com"}] io.artifacthub.package.license=Apache-2.0 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0ac86d68ca..499ef70732 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -2,10 +2,10 @@ name: "CodeQL" on: push: - branches: [ master, release-* ] + branches: [ main, release-* ] pull_request: # The branches below must be a subset of the branches above - branches: [ master ] + branches: [ main ] schedule: - cron: '36 6 * * 4' diff --git a/.github/workflows/dockerhub-description.yml b/.github/workflows/dockerhub-description.yml index ec4e6f4c03..ef2793a835 100644 --- a/.github/workflows/dockerhub-description.yml +++ b/.github/workflows/dockerhub-description.yml @@ -2,7 +2,7 @@ name: Update Docker Hub Description on: push: branches: - - master + - main paths: - README.md - .github/workflows/dockerhub-description.yml diff --git a/.github/workflows/fossa.yml b/.github/workflows/fossa.yml index df3e9b8907..9ec7a19581 100644 --- a/.github/workflows/fossa.yml +++ b/.github/workflows/fossa.yml @@ -3,7 +3,7 @@ name: Fossa on: push: branches: - - master + - main paths-ignore: - 'docs/**' - 'examples/**' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ce265ae4b4..8874132a12 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -3,7 +3,7 @@ name: Lint on: pull_request: branches: - - master + - main paths-ignore: - 'docs/**' - 'examples/**' diff --git a/.github/workflows/notifications.yml b/.github/workflows/notifications.yml index 0db497d698..09b20bb16f 100644 --- a/.github/workflows/notifications.yml +++ b/.github/workflows/notifications.yml @@ -2,7 +2,7 @@ name: Notification on: workflow_run: - branches: [master, release-*] + branches: [main, release-*] workflows: - "Continuous Integration" - "CodeQL" diff --git a/.github/workflows/release-drafter-master.yml b/.github/workflows/release-drafter-branches.yml similarity index 80% rename from .github/workflows/release-drafter-master.yml rename to .github/workflows/release-drafter-branches.yml index 0782339cc6..9cc9fdcd89 100644 --- a/.github/workflows/release-drafter-master.yml +++ b/.github/workflows/release-drafter-branches.yml @@ -1,9 +1,10 @@ -name: Release Drafter +name: Release Drafter (branches) on: push: branches: - - master + - main + - release-* jobs: update_release_draft: diff --git a/.github/workflows/release-drafter-pr.yml b/.github/workflows/release-drafter-pr.yml index 3ee0a9c172..75c8abc517 100644 --- a/.github/workflows/release-drafter-pr.yml +++ b/.github/workflows/release-drafter-pr.yml @@ -1,4 +1,4 @@ -name: Release Drafter +name: Release Drafter (labels) on: pull_request: diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index a32630b997..e953453c48 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -2,7 +2,7 @@ name: Sync on: workflow_run: - branches: master + branches: main workflows: - "Continuous Integration" types: @@ -21,9 +21,9 @@ jobs: uses: wei/git-sync@v3 with: source_repo: "nginxinc/kubernetes-ingress" - source_branch: "master" + source_branch: "main" destination_repo: ${{ secrets.SYNC_DEST_REPO_URL }} - destination_branch: "master" + destination_branch: "main" ssh_private_key: ${{ secrets.SYNC_SSH_PRIVATE_KEY }} # This job open a PR to sync the generated CRD files across to nginx-ingress-operator diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9c702821a8..bc53f6fb9b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ The following is a set of guidelines for contributing to the NGINX Ingress Contr * [Git Style Guide](#git-style-guide) * [Go Style Guide](#go-style-guide) -[Code of Conduct](https://github.com/nginxinc/kubernetes-ingress/blob/master/CODE_OF_CONDUCT.md) +[Code of Conduct](https://github.com/nginxinc/kubernetes-ingress/blob/main/CODE_OF_CONDUCT.md) ## Ask a Question @@ -23,9 +23,9 @@ We will have a public forum soon where you can come and ask questions and have a ## Getting Started -Follow our [Installation Guide](https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/content/installation) to get the NGINX Ingress Controller up and running. +Follow our [Installation Guide](https://github.com/nginxinc/kubernetes-ingress/blob/main/docs/content/installation) to get the NGINX Ingress Controller up and running. -Read the [documentation](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs) and [configuration](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples) examples +Read the [documentation](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs) and [configuration](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples) examples ### Project Structure @@ -50,7 +50,7 @@ To suggest an enhancement, please create an issue on GitHub with the label `enha ### Open a Pull Request * Fork the repo, create a branch, submit a PR when your changes are tested and ready for review -* Fill in [our pull request template](https://github.com/nginxinc/kubernetes-ingress/blob/master/.github/PULL_REQUEST_TEMPLATE.md) +* Fill in [our pull request template](https://github.com/nginxinc/kubernetes-ingress/blob/main/.github/PULL_REQUEST_TEMPLATE.md) Note: if you’d like to implement a new feature, please consider creating a feature request issue first to start a discussion about the feature. diff --git a/Makefile b/Makefile index 6d8902d91e..d08482939a 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ all: test lint verify-codegen update-crds debian-image .PHONY: lint lint: ## Run linter @git fetch - docker run --pull always --rm -v $(shell pwd):/kubernetes-ingress -w /kubernetes-ingress -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 git diff -p origin/master > /tmp/diff.patch && golangci-lint --color always run -v --new-from-patch=/tmp/diff.patch + docker run --pull always --rm -v $(shell pwd):/kubernetes-ingress -w /kubernetes-ingress -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 git diff -p origin/main > /tmp/diff.patch && golangci-lint --color always run -v --new-from-patch=/tmp/diff.patch .PHONY: test test: ## Run tests diff --git a/README.md b/README.md index 5c06e9979e..cfed9753bb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![Continuous Integration](https://github.com/nginxinc/kubernetes-ingress/actions/workflows/ci.yml/badge.svg)](https://github.com/nginxinc/kubernetes-ingress/actions/workflows/ci.yml) [![FOSSA Status](https://app.fossa.com/api/projects/custom%2B5618%2Fgithub.com%2Fnginxinc%2Fkubernetes-ingress.svg?type=shield)](https://app.fossa.com/projects/custom%2B5618%2Fgithub.com%2Fnginxinc%2Fkubernetes-ingress?ref=badge_shield) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Go Report Card](https://goreportcard.com/badge/github.com/nginxinc/kubernetes-ingress)](https://goreportcard.com/report/github.com/nginxinc/kubernetes-ingress) [![codecov](https://codecov.io/gh/nginxinc/kubernetes-ingress/branch/master/graph/badge.svg?token=snCn7Y0zC7)](https://codecov.io/gh/nginxinc/kubernetes-ingress) +[![Continuous Integration](https://github.com/nginxinc/kubernetes-ingress/actions/workflows/ci.yml/badge.svg)](https://github.com/nginxinc/kubernetes-ingress/actions/workflows/ci.yml) [![FOSSA Status](https://app.fossa.com/api/projects/custom%2B5618%2Fgithub.com%2Fnginxinc%2Fkubernetes-ingress.svg?type=shield)](https://app.fossa.com/projects/custom%2B5618%2Fgithub.com%2Fnginxinc%2Fkubernetes-ingress?ref=badge_shield) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Go Report Card](https://goreportcard.com/badge/github.com/nginxinc/kubernetes-ingress)](https://goreportcard.com/report/github.com/nginxinc/kubernetes-ingress) [![codecov](https://codecov.io/gh/nginxinc/kubernetes-ingress/branch/main/graph/badge.svg?token=snCn7Y0zC7)](https://codecov.io/gh/nginxinc/kubernetes-ingress) # 🚀 *Help make the NGINX Ingress Controller better by participating in our [survey](https://forms.office.com/Pages/ResponsePage.aspx?id=L_093Ttq0UCb4L-DJ9gcUKLQ7uTJaE1PitM_37KR881UMEs0Rk5PMkYzMTJTWVA0V1hUVTRLUUMyNS4u)!* 🚀 @@ -43,9 +43,9 @@ Read [this doc](https://docs.nginx.com/nginx-ingress-controller/intro/nginx-plus 1. Install the NGINX Ingress controller using the Kubernetes [manifests](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/) or the [helm chart](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-helm/). 1. Configure load balancing for a simple web application: - * Use the Ingress resource. See the [Cafe example](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example). - * Or the VirtualServer resource. See the [Basic configuration](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/custom-resources/basic-configuration) example. -1. See additional configuration [examples](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples). + * Use the Ingress resource. See the [Cafe example](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/complete-example). + * Or the VirtualServer resource. See the [Basic configuration](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/custom-resources/basic-configuration) example. +1. See additional configuration [examples](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples). 1. Learn more about all available configuration and customization in the [docs](https://docs.nginx.com/nginx-ingress-controller/). @@ -53,7 +53,7 @@ Read [this doc](https://docs.nginx.com/nginx-ingress-controller/intro/nginx-plus We publish Ingress controller releases on GitHub. See our [releases page](https://github.com/nginxinc/kubernetes-ingress/releases). -The latest stable release is [2.1.1](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v2.1.1). For production use, we recommend that you choose the latest stable release. As an alternative, you can choose the *edge* version built from the [latest commit](https://github.com/nginxinc/kubernetes-ingress/commits/master) from the master branch. The edge version is useful for experimenting with new features that are not yet published in a stable release. +The latest stable release is [2.1.1](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v2.1.1). For production use, we recommend that you choose the latest stable release. As an alternative, you can choose the *edge* version built from the [latest commit](https://github.com/nginxinc/kubernetes-ingress/commits/main) from the main branch. The edge version is useful for experimenting with new features that are not yet published in a stable release. To use the Ingress controller, you need to have access to: * An Ingress controller image. @@ -67,7 +67,7 @@ The table below summarizes the options regarding the images, manifests, helm cha | Version | Description | Image for NGINX | Image for NGINX Plus | Installation Manifests and Helm Chart | Documentation and Examples | | ------- | ----------- | --------------- | -------------------- | ---------------------------------------| -------------------------- | | Latest stable release | For production use | Use the 2.1.1 images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress) or [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | Use the 2.1.1 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image/) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v2.1.1/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v2.1.1/deployments/helm-chart). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). | -| Edge/Nightly | For testing and experimenting | Use the edge or nightly images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress) or [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs/content/installation/building-ingress-controller-image.md). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs/content/installation/building-ingress-controller-image.md). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments/helm-chart). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs/content). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples). | +| Edge/Nightly | For testing and experimenting | Use the edge or nightly images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress) or [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs/content/installation/building-ingress-controller-image.md). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs/content/installation/building-ingress-controller-image.md). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/main/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/main/deployments/helm-chart). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs/content). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples). | ## Contacts diff --git a/docs/content/configuration/security.md b/docs/content/configuration/security.md index c89c8ffcc3..471541ca7c 100644 --- a/docs/content/configuration/security.md +++ b/docs/content/configuration/security.md @@ -8,8 +8,8 @@ docs: "DOCS-597" --- -The security of the Ingress Controller is paramount to the success of our Users, however, the Ingress Controller is deployed by a User in their environment, and as such, the User takes responsibility -for securing a deployment of the Ingress Controller. +The security of the Ingress Controller is paramount to the success of our Users, however, the Ingress Controller is deployed by a User in their environment, and as such, the User takes responsibility +for securing a deployment of the Ingress Controller. We strongly recommend every User read and understand the following security concerns. ## Kubernetes @@ -17,28 +17,28 @@ We recommend the Kubernetes [guide to securing a cluster](https://kubernetes.io/ In addition, the following relating more specifically to Ingress Controller. ### RBAC and Service Account -The Ingress Controller is deployed within a Kubernetes environment, this environment must be secured. +The Ingress Controller is deployed within a Kubernetes environment, this environment must be secured. Kubernetes uses [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) to control the resources and operations available to different types of users. -The Ingress Controller requires a service account which is configured using RBAC. -We strongly recommend using the [RBAC configuration](https://github.com/nginxinc/kubernetes-ingress/blob/master/deployments/rbac/rbac.yaml) provided in our standard deployment configuration. +The Ingress Controller requires a service account which is configured using RBAC. +We strongly recommend using the [RBAC configuration](https://github.com/nginxinc/kubernetes-ingress/blob/main/deployments/rbac/rbac.yaml) provided in our standard deployment configuration. It is configured with the least amount of privilege required for the Ingress Controller to work. -We strongly recommend inspecting the RBAC configuration (for [manifests installation](https://github.com/nginxinc/kubernetes-ingress/blob/master/deployments/rbac/rbac.yaml) -or for [helm](https://github.com/nginxinc/kubernetes-ingress/blob/master/deployments/helm-chart/templates/rbac.yaml)) -to understand what access the Ingress Controller service account has and to which resources. +We strongly recommend inspecting the RBAC configuration (for [manifests installation](https://github.com/nginxinc/kubernetes-ingress/blob/main/deployments/rbac/rbac.yaml) +or for [helm](https://github.com/nginxinc/kubernetes-ingress/blob/main/deployments/helm-chart/templates/rbac.yaml)) +to understand what access the Ingress Controller service account has and to which resources. For example, by default the service account has access to all Secret resources in the cluster. ### Certificates and Privacy Keys -Secrets are required by the Ingress Controller for some configurations. -[Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) are stored by Kubernetes unencrypted by default. -We strongly recommend configuring Kubernetes to store these Secrets encrypted at rest. +Secrets are required by the Ingress Controller for some configurations. +[Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) are stored by Kubernetes unencrypted by default. +We strongly recommend configuring Kubernetes to store these Secrets encrypted at rest. Kubernetes has [documentation](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/) on how to configure this. ## Ingress Controller ### Recommended Secure Defaults We recommend the following for the most secure configuration: - * If Prometheus metrics are [enabled](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#cmdoption-enable-prometheus-metrics), + * If Prometheus metrics are [enabled](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#cmdoption-enable-prometheus-metrics), we recommend [configuring HTTPS](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#cmdoption-prometheus-tls-secret) for Prometheus. ### Snippets diff --git a/docs/content/installation/building-ingress-controller-image.md b/docs/content/installation/building-ingress-controller-image.md index 781665588e..844c4fa328 100644 --- a/docs/content/installation/building-ingress-controller-image.md +++ b/docs/content/installation/building-ingress-controller-image.md @@ -110,4 +110,4 @@ The **Makefile** contains the following main variables for you to customize (eit * **PREFIX** -- the name of the image. The default is `nginx/nginx-ingress`. * **TAG** -- the tag added to the image. It's set to the version of the Ingress Controller by default. * **DOCKER_BUILD_OPTIONS** -- the [options](https://docs.docker.com/engine/reference/commandline/build/#options) for the `docker build` command. For example, `--pull`. -* **TARGET** -- By default, the Ingress Controller is compiled locally using a `local` golang environment. If you want to compile the Ingress Controller using your local golang environment, make sure that the Ingress Controller repo is in your `$GOPATH`. To compile the Ingress Controller using the Docker [golang](https://hub.docker.com/_/golang/) container, specify `TARGET=container`. If you checked out a tag or are on the latest commit on `master` you can specify `TARGET=download` to avoid compiling the binary. +* **TARGET** -- By default, the Ingress Controller is compiled locally using a `local` golang environment. If you want to compile the Ingress Controller using your local golang environment, make sure that the Ingress Controller repo is in your `$GOPATH`. To compile the Ingress Controller using the Docker [golang](https://hub.docker.com/_/golang/) container, specify `TARGET=container`. If you checked out a tag or are on the latest commit on `main` you can specify `TARGET=download` to avoid compiling the binary. diff --git a/docs/content/installation/installation-with-operator.md b/docs/content/installation/installation-with-operator.md index 94cffd8e12..80c60d2f84 100644 --- a/docs/content/installation/installation-with-operator.md +++ b/docs/content/installation/installation-with-operator.md @@ -1,7 +1,7 @@ --- title: Installation with the NGINX Ingress Operator -description: "This document describes how to install the NGINX Ingress Controller in your Kubernetes cluster using the NGINX Ingress Operator." +description: "This document describes how to install the NGINX Ingress Controller in your Kubernetes cluster using the NGINX Ingress Operator." weight: 2000 doctypes: [""] toc: true @@ -19,7 +19,7 @@ This document describes how to install the NGINX Ingress Controller in your Kube * For NGINX Plus Ingress controller, see [here](/nginx-ingress-controller/installation/pulling-ingress-controller-image) for details on how to pull the image from the F5 Docker registry. * To pull from the F5 Container registry, configure a docker registry secret using your JWT token from the MyF5 portal by following the instructions from [here](/nginx-ingress-controller/installation/using-the-jwt-token-docker-secret). * It is also possible to build your own image and push it to your private Docker registry by following the instructions from [here](/nginx-ingress-controller/installation/building-ingress-controller-image). -1. Install the NGINX Ingress Operator following the [instructions](https://github.com/nginxinc/nginx-ingress-operator/blob/master/docs/installation.md). +1. Install the NGINX Ingress Operator following the [instructions](https://github.com/nginxinc/nginx-ingress-operator/blob/main/docs/installation.md). ## 1. Create the NginxIngressController manifest @@ -51,4 +51,4 @@ $ kubectl apply -f nginx-ingress-controller.yaml A new instance of the NGINX Ingress Controller will be deployed by the NGINX Ingress Operator in the `default` namespace with default parameters. -To configure other parameters of the NginxIngressController resource, check the [documentation](https://github.com/nginxinc/nginx-ingress-operator/blob/master/docs/nginx-ingress-controller.md). +To configure other parameters of the NginxIngressController resource, check the [documentation](https://github.com/nginxinc/nginx-ingress-operator/blob/main/docs/nginx-ingress-controller.md). diff --git a/docs/content/intro/how-nginx-ingress-controller-works.md b/docs/content/intro/how-nginx-ingress-controller-works.md index 40c0170977..1e9639a369 100644 --- a/docs/content/intro/how-nginx-ingress-controller-works.md +++ b/docs/content/intro/how-nginx-ingress-controller-works.md @@ -11,7 +11,7 @@ docs: "DOCS-609" This document explains how NGINX Ingress Controller works. The target audience includes the following two main groups: * *Operators* who would like to know how the software works and also better understand how it can fail. -* *Developers* who would like to [contribute](https://github.com/nginxinc/kubernetes-ingress/blob/master/CONTRIBUTING.md) to the project. +* *Developers* who would like to [contribute](https://github.com/nginxinc/kubernetes-ingress/blob/main/CONTRIBUTING.md) to the project. We assume that the reader is familiar with core Kubernetes concepts, such as Pod, Deployment, Service, and Endpoints. Additionally, we recommend reading [this blog post](https://www.nginx.com/blog/inside-nginx-how-we-designed-for-performance-scale/) for an overview of the NGINX architecture. @@ -102,7 +102,7 @@ The preceding diagram depicts the IC with NGINX. The IC also supports NGINX Plus This section covers the architecture of the IC process, including: * How the IC processes a new Ingress resource created by a user. -* The summary of how the IC works and how it relates to Kubernetes Controllers. +* The summary of how the IC works and how it relates to Kubernetes Controllers. * The different components of the IC process. ### Processing a New Ingress Resource diff --git a/docs/content/intro/nginx-ingress-controllers.md b/docs/content/intro/nginx-ingress-controllers.md index fa60157346..6aa0747a4d 100644 --- a/docs/content/intro/nginx-ingress-controllers.md +++ b/docs/content/intro/nginx-ingress-controllers.md @@ -26,7 +26,7 @@ The table below summarizes the key difference between nginxinc/kubernetes-ingres | --- | --- | --- | --- | | **Fundamental** | | Authors | Kubernetes community | NGINX Inc and community | NGINX Inc and community | -| NGINX version | [Custom](https://github.com/kubernetes/ingress-nginx/tree/master/images/nginx) NGINX build that includes several third-party modules | NGINX official mainline [build](https://github.com/nginxinc/docker-nginx) | NGINX Plus | +| NGINX version | [Custom](https://github.com/kubernetes/ingress-nginx/tree/main/images/nginx) NGINX build that includes several third-party modules | NGINX official mainline [build](https://github.com/nginxinc/docker-nginx) | NGINX Plus | | Commercial support | N/A | N/A | Included | | **Load balancing configuration via the Ingress resource** | | Merging Ingress rules with the same host | Supported | Supported via [Mergeable Ingresses](https://github.com/nginxinc/kubernetes-ingress/tree/v2.1.1/examples/mergeable-ingress-types) | Supported via [Mergeable Ingresses](https://github.com/nginxinc/kubernetes-ingress/tree/v2.1.1/examples/mergeable-ingress-types) | @@ -38,7 +38,7 @@ The table below summarizes the key difference between nginxinc/kubernetes-ingres | JWT validation | Not supported | Not supported | Supported | | Session persistence | Supported via a third-party module | Not supported | Supported | | Canary testing (by header, cookie, weight) | Supported via annotations | Supported via custom resources | Supported via custom resources | -| Configuration templates *1 | See the [template](https://github.com/kubernetes/ingress-nginx/blob/master/rootfs/etc/nginx/template/nginx.tmpl) | See the [templates](../internal/configs/version1) | See the [templates](../internal/configs/version1) | +| Configuration templates *1 | See the [template](https://github.com/kubernetes/ingress-nginx/blob/main/rootfs/etc/nginx/template/nginx.tmpl) | See the [templates](../internal/configs/version1) | See the [templates](../internal/configs/version1) | | **Load balancing configuration via Custom Resources** | | HTTP load balancing | Not supported | See [VirtualServer and VirtualServerRoute](https://docs.nginx.com/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/) resources | See [VirtualServer and VirtualServerRoute](https://docs.nginx.com/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/) resources | | TCP/UDP load balancing | Not supported | See [TransportServer](https://docs.nginx.com/nginx-ingress-controller/configuration/transportserver-resource/) resource | See [TransportServer](https://docs.nginx.com/nginx-ingress-controller/configuration/transportserver-resource/) resource | diff --git a/hack/docker.sh b/hack/docker.sh index bf221a7aad..8707c51693 100755 --- a/hack/docker.sh +++ b/hack/docker.sh @@ -13,7 +13,7 @@ if [[ ${commit_tag} == ${git_tag} ]]; then exit 0 else - # we're on master or a branch, try to download the latest edge and see if sha matches + # we're on main or a branch, try to download the latest edge and see if sha matches docker pull nginx/nginx-ingress:${docker_tag} >/dev/null 2>&1 DOCKER_SHA=$(docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.revision" }}' nginx/nginx-ingress:${docker_tag}) if [[ ${DOCKER_SHA} == ${git_commit} ]]; then