generated from nginx/template-repository
-
Notifications
You must be signed in to change notification settings - Fork 125
feat: Rework Manifest installation cases #1551
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ADubhlaoich
wants to merge
29
commits into
main
Choose a base branch
from
ngf/rework-manifest-install
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+2,341
−277
Open
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
d014b72
nic: add docs for sslVerify in JWT policy (#1198)
vepatel d718d30
nic: add ssl cipher annotations (#1353)
vepatel 30991bc
feat: helm HorizontalPodAutoscaler creation flag (#1355)
pdabelf5 3735ffb
feat: add OIDC timeout config options to NIC ConfigMap (#1413)
AlexFenlon 8853b37
feat: add documentation for new ingress annotation(#1415)
vepatel df3490f
Merge branch 'main' into nic-release-5.3
ADubhlaoich ec13f84
update docs for upstream service in foreign namespace (#1419)
haywoodsh 5348a6e
feat: Add client-body-buffer-size directive to NIC Ingress Annotation…
AlexFenlon 92fe573
Merge branch 'main' into nic-release-5.3
ADubhlaoich 47d13db
Merge branch 'main' into nic-release-5.3
ADubhlaoich 6f0ad96
feat: Add OIDC Policy sslVerify parameters (#1479)
pdabelf5 94d397c
nic: update policy resource with new fields (#1495)
vepatel 77ef1b8
Merge branch 'main' into nic-release-5.3
ADubhlaoich 3a0e6e7
Merge branch 'main' into nic-release-5.3
ADubhlaoich 278864c
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich d39a1fa
feat: Rework Manifest installation paths
ADubhlaoich 3fb8f54
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich 90dc768
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich 9abdbf6
feat: Add current work
ADubhlaoich 0e0a8de
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich f9e4db1
feat: Finish core Plus manifest deployment instructions
ADubhlaoich 6549688
feat: Finish experimental document
ADubhlaoich c7d1c36
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich 43630ba
Apply suggestions from code review
ADubhlaoich 9e2b8e5
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich 2cec96c
fix: Address feedback
ADubhlaoich f29cf0f
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich 7dd08e4
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich cd0a034
Merge branch 'main' into ngf/rework-manifest-install
ADubhlaoich File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| --- | ||
| nd-product: MISCEL | ||
| --- | ||
|
|
||
| If your deployment used NGINX Plus, you should also remove the secrets created for your license and the F5 registry. | ||
|
|
||
| ```shell | ||
| kubectl delete secret nplus-license | ||
| ``` | ||
|
|
||
| {{< details summary="Example output" >}} | ||
|
|
||
| ```text | ||
| secret "nplus-license" deleted | ||
| ``` | ||
|
|
||
| {{< /details >}} | ||
|
|
||
| ```shell | ||
| kubectl delete secret regcred | ||
| ``` | ||
|
|
||
| {{< details summary="Example output" >}} | ||
|
|
||
| ```text | ||
| secret "regcred" deleted | ||
| ``` | ||
|
|
||
| {{< /details >}} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| --- | ||
| --- | ||
|
|
||
| {{< call-out "important" >}} | ||
|
|
||
| You can view the [Milestone Roadmap](https://github.com/orgs/nginx/projects/10/views/5) in the NGINX Gateway Fabric GitHub project to see what API resources will be supported in upcoming releases. | ||
|
|
||
| {{< /call-out >}} | ||
|
|
||
| {{< table >}} | ||
|
|
||
| | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | | ||
| |---------------------------------------|---------------------|------------------------|---------------------------------------|-------------|---------------------| | ||
| | [GatewayClass]({{< ref "/ngf/overview/gateway-api-compatibility.md#gatewayclass" >}}) | Supported | Not supported | Supported | v1 | Standard | | ||
| | [Gateway]({{< ref "/ngf/overview/gateway-api-compatibility.md#gateway" >}}) | Supported | Partially supported | Not supported | v1 | Standard | | ||
| | [HTTPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#httproute" >}}) | Supported | Partially supported | Not supported | v1 | Standard | | ||
| | [GRPCRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#grpcroute" >}}) | Supported | Partially supported | Not supported | v1 | Standard | | ||
| | [ReferenceGrant]({{< ref "/ngf/overview/gateway-api-compatibility.md#referencegrant" >}}) | Supported | N/A | Not supported | v1beta1 | Standard | | ||
| | [TLSRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#tlsroute" >}}) | Supported | Not supported | Not supported | v1alpha2 | Experimental | | ||
| | [TCPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#tcproute" >}}) | Not supported | Not supported | Not supported | v1alpha2 | Experimental | | ||
| | [UDPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#udproute" >}}) | Not supported | Not supported | Not supported | v1alpha2 | Experimental | | ||
| | [BackendTLSPolicy]({{< ref "/ngf/overview/gateway-api-compatibility.md#backendtlspolicy" >}}) | Partially Supported | Supported | Partially supported | v1alpha3 | Experimental | | ||
| | [Custom policies]({{< ref "/ngf/overview/gateway-api-compatibility.md#custom-policies" >}}) | N/A | N/A | Supported | N/A | N/A | | ||
|
|
||
| {{< /table >}} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
content/includes/ngf/installation/manifests/api-resources.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| --- | ||
|
|
||
| {{< call-out "note" >}} If you have already installed Gateway API resources in your cluster, ensure they are a version [supported by NGINX Gateway Fabric]({{< ref "/ngf/overview/technical-specifications.md" >}}) {{< /call-out >}} | ||
|
|
||
| To install the Gateway API resources, use `kubectl kustomize`: | ||
|
|
||
| ```shell | ||
| kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v{{< version-ngf >}}" | kubectl apply -f - | ||
| ``` | ||
|
|
||
| {{< details summary="Example output" >}} | ||
|
|
||
| ```text | ||
| customresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io created | ||
| customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io created | ||
| customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io created | ||
| customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io created | ||
| customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io created | ||
| ``` | ||
|
|
||
| {{< /details >}} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| --- | ||
| --- | ||
|
|
||
| Deploy the NGINX Gateway Fabric CRDs using `kubectl apply`: | ||
|
|
||
| ```shell | ||
| kubectl apply --server-side -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/crds.yaml | ||
| ``` | ||
|
|
||
| {{< details summary="Example output" >}} | ||
|
|
||
| ```text | ||
| customresourcedefinition.apiextensions.k8s.io/clientsettingspolicies.gateway.nginx.org serverside-applied | ||
| customresourcedefinition.apiextensions.k8s.io/nginxgateways.gateway.nginx.org serverside-applied | ||
| customresourcedefinition.apiextensions.k8s.io/nginxproxies.gateway.nginx.org serverside-applied | ||
| customresourcedefinition.apiextensions.k8s.io/observabilitypolicies.gateway.nginx.org serverside-applied | ||
| customresourcedefinition.apiextensions.k8s.io/snippetsfilters.gateway.nginx.org serverside-applied | ||
| customresourcedefinition.apiextensions.k8s.io/upstreamsettingspolicies.gateway.nginx.org serverside-applied | ||
ADubhlaoich marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ``` | ||
|
|
||
| {{< /details >}} | ||
127 changes: 127 additions & 0 deletions
127
content/includes/ngf/installation/manifests/secure-certificates.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,127 @@ | ||
| --- | ||
| --- | ||
|
|
||
| {{< call-out "note" >}} These steps use a self-signed issuer, which should not be used in production environments. For production environments, you should use a real [CA issuer](https://cert-manager.io/docs/configuration/ca/). {{< /call-out >}} | ||
|
|
||
| First, create a CA (certificate authority) issuer: | ||
|
|
||
| ```yaml | ||
| kubectl apply -f - <<EOF | ||
| apiVersion: cert-manager.io/v1 | ||
| kind: Issuer | ||
| metadata: | ||
| name: selfsigned-issuer | ||
| namespace: nginx-gateway | ||
| spec: | ||
| selfSigned: {} | ||
| --- | ||
| apiVersion: cert-manager.io/v1 | ||
| kind: Certificate | ||
| metadata: | ||
| name: nginx-gateway-ca | ||
| namespace: nginx-gateway | ||
| spec: | ||
| isCA: true | ||
| commonName: nginx-gateway | ||
| secretName: nginx-gateway-ca | ||
| privateKey: | ||
| algorithm: RSA | ||
| size: 2048 | ||
| issuerRef: | ||
| name: selfsigned-issuer | ||
| kind: Issuer | ||
| group: cert-manager.io | ||
| --- | ||
| apiVersion: cert-manager.io/v1 | ||
| kind: Issuer | ||
| metadata: | ||
| name: nginx-gateway-issuer | ||
| namespace: nginx-gateway | ||
| spec: | ||
| ca: | ||
| secretName: nginx-gateway-ca | ||
| EOF | ||
| ``` | ||
|
|
||
| {{< details summary="Example output" >}} | ||
|
|
||
| ```text | ||
| issuer.cert-manager.io/selfsigned-issuer created | ||
| Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`. | ||
| certificate.cert-manager.io/nginx-gateway-ca created | ||
| issuer.cert-manager.io/nginx-gateway-issuer created | ||
| ``` | ||
|
|
||
| {{< /details >}} | ||
|
|
||
| You will then need to create a server certificate for the NGINX Gateway Fabric control plane (server): | ||
|
|
||
| {{< call-out "note" >}} | ||
|
|
||
| The default service name is _nginx-gateway_, and the namespace is _nginx-gateway_, so the `dnsNames` value should be `nginx-gateway.nginx-gateway.svc`. | ||
|
|
||
| This value becomes the name of the NGINX Gateway Fabric control plane service. | ||
|
|
||
| {{< /call-out >}} | ||
|
|
||
| ```yaml {hl_lines=[13]} | ||
| kubectl apply -f - <<EOF | ||
| apiVersion: cert-manager.io/v1 | ||
| kind: Certificate | ||
| metadata: | ||
| name: nginx-gateway | ||
| namespace: nginx-gateway | ||
| spec: | ||
| secretName: server-tls | ||
| usages: | ||
| - digital signature | ||
| - key encipherment | ||
| dnsNames: | ||
| - ngf-nginx-gateway-fabric.nginx-gateway.svc | ||
| issuerRef: | ||
| name: nginx-gateway-issuer | ||
| EOF | ||
| ``` | ||
|
|
||
| Since the TLS Secrets are mounted into each pod that uses them, the NGINX agent (client) Secret is duplicated by the NGINX Gateway Fabric control plane into whichever namespace NGINX is deployed into. | ||
|
|
||
| All updates to the source Secret are propagated to the duplicate Secrets. | ||
|
|
||
| Add the certificate for the NGINX agent (client): | ||
|
|
||
| ```yaml | ||
| kubectl apply -f - <<EOF | ||
| apiVersion: cert-manager.io/v1 | ||
| kind: Certificate | ||
| metadata: | ||
| name: nginx | ||
| namespace: nginx-gateway | ||
| spec: | ||
| secretName: agent-tls | ||
| usages: | ||
| - "digital signature" | ||
| - "key encipherment" | ||
| dnsNames: | ||
| - "*.cluster.local" | ||
| issuerRef: | ||
| name: nginx-gateway-issuer | ||
| EOF | ||
| ``` | ||
|
|
||
| `agent-tls` is the default name: if you use a different name, provide it when installing NGINX Gateway Fabric with the `agent-tls-secret` argument. | ||
|
|
||
| You should see the Secrets created in the `nginx-gateway` namespace: | ||
|
|
||
| ```shell | ||
| kubectl -n nginx-gateway get secrets | ||
| ``` | ||
|
|
||
| {{< details summary="Example output" >}} | ||
|
|
||
| ```text | ||
| agent-tls kubernetes.io/tls 3 3s | ||
| nginx-gateway-ca kubernetes.io/tls 3 15s | ||
| server-tls kubernetes.io/tls 3 8s | ||
| ``` | ||
|
|
||
| {{< /details >}} |
15 changes: 15 additions & 0 deletions
15
content/includes/ngf/installation/manifests/verify-deployment.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| --- | ||
| --- | ||
|
|
||
| To confirm that NGINX Gateway Fabric is running, check the pods in the `nginx-gateway` namespace: | ||
|
|
||
| ```shell | ||
| kubectl get pods -n nginx-gateway | ||
| ``` | ||
|
|
||
| The output should look similar to this (The pod name will include a unique string): | ||
|
|
||
| ```text | ||
| NAME READY STATUS RESTARTS AGE | ||
| nginx-gateway-694897c587-bbz62 1/1 Running 0 29s | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| --- | ||
|
|
||
| - [Deploy a Gateway for data plane instances]({{< ref "/ngf/install/deploy-data-plane.md" >}}) | ||
| - [Routing traffic to applications]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) | ||
| - [Secure traffic using Let's Encrypt]({{< ref "/ngf/traffic-security/integrate-cert-manager.md" >}}) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.