-
Notifications
You must be signed in to change notification settings - Fork 101
feat: Set up NGF integration to N1 Console #902
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
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview will be available once build job completes!
|
Co-authored-by: bjee19 <[email protected]>
### Create a Kubernetes secret with the data plane key | ||
<!-- Maybe this is wrong. I'm assuming that we need to follow this step from the current version of https://docs.nginx.com/nginx-one/k8s/add-nic/#before-you-begin --> | ||
To create a Kubernetes secret with the data play key, use the following command: | ||
|
||
```shell | ||
kubectl create secret generic dataplane-key \ | ||
--from-literal=dataplane.key=<Your Dataplane Key> \ | ||
-n <namespace> | ||
``` | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This step is good, can we just specify somewhere in a note that the secret needs to be created in the same namespace as NGF.
And that the secret's key has to be named dataplane.key
like it is in the example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll note that the default NGF namespace is nginx-gateway
, so most users will be installing it there.
### Install cert-manager | ||
|
||
Add the Helm repository: | ||
|
||
```shell | ||
helm repo add jetstack https://charts.jetstack.io | ||
helm repo update | ||
``` | ||
|
||
Install cert-manager: | ||
|
||
```shell | ||
helm install \ | ||
cert-manager jetstack/cert-manager \ | ||
--namespace cert-manager \ | ||
--create-namespace \ | ||
--set config.apiVersion="controller.config.cert-manager.io/v1alpha1" \ | ||
--set config.kind="ControllerConfiguration" \ | ||
--set config.enableGatewayAPI=true \ | ||
--set crds.enabled=true | ||
``` | ||
|
||
This also enables Gateway API features for cert-manager, which can be useful for [securing your workload traffic]({{< ref "/ngf/traffic-security/integrate-cert-manager.md" >}}). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Am I right in thinking that this portion isn't necessary? @sjberman
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not necessary for anything related to N1C, that's correct.
After deploying NGINX Gateway Fabric with NGINX Agent, you can verify the connection to NGINX One Console. | ||
Log in to your F5 Distributed Cloud Console account. Select **NGINX One > Visit Service**. In the dashboard, go to **Manage > Instances**. You should see your instances listed by name. The instance name matches both the hostname and the pod name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to be revised a little.
After deploying NGF, it will show up as a control plane in Manage > Control Planes.
After a user deploys a Gateway/NGINX Resource, it will show up in the Manage > Instances.
Not sure how you'd want to word that, or if you need more input from my end.
## Install from the OCI registry | ||
<!-- Corresponds to step 3 in the UX --> | ||
{{< include "/ngf/installation/install-oci-registry.md" >}} | ||
|
||
### Install from sources {#install-from-sources} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need to include setting the flag specifying the secret name when installing through Helm for all the commands,
--set nginx.nginxOneConsole.dataplaneKeySecretName=<data_plane_key_secret_name>
Like they do in NIC.
We can also specify through manifests they need to add the --nginx-one-dataplane-key-secret=<data_plane_key_secret_name>
argument on the NGF deployment.
I'm calling this a Working draft, to make it easier for our developers to use this as a test template of sorts
Proposed changes
Set up NGF integration into N1 Console.
<!-- in comments -->
to the UI and steps that we're using in that processThe primary build page is here: https://frontdoor-test-docs.nginx.com/previews/docs/902/nginx-one/k8s/add-ngf/
I think there's work to be done w/r/t data plane keys. We have a bunch of different ways to create them
This might close issue 660.
Closes #ISSUE
Checklist
Before merging a pull request, run through this checklist and mark each as complete.
README.md
Footnotes
Potentially sensitive changes include anything involving code, personally identify information (PII), live URLs or significant amounts of new or revised documentation. Please refer to our style guide for guidance about placeholder content. ↩