From ecb79b0f1d94d83918563cd66fccb7f522116a6c Mon Sep 17 00:00:00 2001 From: Harrison Katz Date: Wed, 27 Nov 2024 10:17:02 -0500 Subject: [PATCH] Rephrase from ingress controller -> ngrok-operator with required fields --- docs/guides/api-gateway/kubernetes.mdx | 1 + docs/integrations/amazon-eks/eks.mdx | 27 +++++++++-------- docs/integrations/argocd/apiops.mdx | 10 ++++--- docs/integrations/azure-ad/k8s.mdx | 14 +++++---- docs/integrations/azure-aks/k8s.mdx | 24 ++++++++------- docs/integrations/consul/k8s.mdx | 25 ++++++++-------- docs/integrations/digitalocean/k8s.mdx | 21 ++++++------- .../google-gke/google-kubernetes-engine.mdx | 25 ++++++++-------- docs/integrations/linkerd/k8s.md | 18 ++++++----- docs/integrations/microk8s/k8s.mdx | 24 ++++++++------- docs/integrations/rafay/k8s.mdx | 10 +++---- docs/integrations/rancher/k8s.md | 30 +++++++++---------- docs/integrations/spectro-cloud/k8s.mdx | 6 ++-- docs/k8s/advanced-deployments.mdx | 8 +++-- docs/k8s/deployment-guide.mdx | 8 ++--- docs/k8s/developer-guide/README.md | 4 +-- docs/k8s/developer-guide/releasing.md | 14 ++++----- docs/network-edge/cloud-endpoints.mdx | 2 +- docs/network-edge/edges.mdx | 3 +- docs/tcp/ip-restrictions.mdx | 2 +- docs/tls/ip-restrictions.mdx | 2 +- docs/using-ngrok-with/k8s.md | 21 ++++++------- examples/k8s/install-gateway-api.mdx | 6 ++-- examples/k8s/install-ingress.mdx | 3 +- 24 files changed, 165 insertions(+), 143 deletions(-) diff --git a/docs/guides/api-gateway/kubernetes.mdx b/docs/guides/api-gateway/kubernetes.mdx index 6922d66a6..58a97dcc9 100644 --- a/docs/guides/api-gateway/kubernetes.mdx +++ b/docs/guides/api-gateway/kubernetes.mdx @@ -151,6 +151,7 @@ Gateway API functionality enabled. helm install ngrok-operator ngrok/ngrok-operator \ --namespace ngrok-operator \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN \ --set useExperimentalGatewayApi=true diff --git a/docs/integrations/amazon-eks/eks.mdx b/docs/integrations/amazon-eks/eks.mdx index 5df7df6f7..96f53f0f9 100644 --- a/docs/integrations/amazon-eks/eks.mdx +++ b/docs/integrations/amazon-eks/eks.mdx @@ -77,9 +77,10 @@ Now we can install the ngrok Kubernetes Operator to provide ingress to our servi 3. Next, we'll install the ngrok Kubernetes Operator into our cluster. ```shell - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ - --namespace consul \ - --set fullnameOverride=ngrok-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ + --create-namespace \ + --set fullnameOverride=ngrok-operator \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN ``` @@ -87,9 +88,9 @@ Now we can install the ngrok Kubernetes Operator to provide ingress to our servi 4. Verify the ngrok Kubernetes Operator is installed and all its pods are healthy ```shell - kubectl get pods -l 'app.kubernetes.io/name=kubernetes-ingress-controller' -n consul + kubectl get pods -l 'app.kubernetes.io/name=ngrok-operator' -n ngrok-operator NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-manager-5b796c88f7-k7v6z 2/2 Running 1 (64s ago) 67s + ngrok-operator-manager-5b796c88f7-k7v6z 2/2 Running 1 (64s ago) 67s ``` ## **Step 3**: Install a Sample Application {#install-a-sample-application} @@ -108,7 +109,7 @@ apiVersion: v1 kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -121,7 +122,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -145,7 +146,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ingressClassName: ngrok rules: @@ -174,7 +175,7 @@ spec: ![ingress created](/img/howto/kubernetes-operator/k8s-ingress-app-1.png) -1. Access your ingress URL using the subdomain you chose in the manifest file above (i.e. `https://my-awesome-k8s-cluster.ngrok.app`) to confirm the 2048 app is accessible from the internet. If you forgot what url you chose, you can always run `kubectl get ingresses --namespace=ngrok-ingress-controller` to see what it is. +1. Access your ingress URL using the subdomain you chose in the manifest file above (i.e. `https://my-awesome-k8s-cluster.ngrok.app`) to confirm the 2048 app is accessible from the internet. If you forgot what url you chose, you can always run `kubectl get ingresses --namespace=ngrok-operator` to see what it is. ![application public](/img/howto/kubernetes-operator/k8s-ingress-app-2.png) @@ -199,7 +200,7 @@ apiVersion: v1 kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -212,7 +213,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -234,7 +235,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator # highlight-start annotations: k8s.ngrok.com/modules: oauth-and-circuit-breaking @@ -259,7 +260,7 @@ kind: NgrokModuleSet apiVersion: ingress.k8s.ngrok.com/v1alpha1 metadata: name: oauth-and-circuit-breaking - namespace: ngrok-ingress-controller + namespace: ngrok-operator modules: circuitBreaker: trippedDuration: 10s diff --git a/docs/integrations/argocd/apiops.mdx b/docs/integrations/argocd/apiops.mdx index 9348c54ef..361e8b997 100644 --- a/docs/integrations/argocd/apiops.mdx +++ b/docs/integrations/argocd/apiops.mdx @@ -62,12 +62,13 @@ Start by deploying the [ngrok Kubernetes Operator](https://github.com/ngrok/ngro export NGROK_API_KEY=[YOUR-API-KEY] ``` -1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-ingress-controller` namespace, using the `useExperimentalGatewayApi=true` option. +1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-operator` namespace, using the `useExperimentalGatewayApi=true` option. ```bash - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ --namespace apiops-demo \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN \ --set useExperimentalGatewayApi=true @@ -78,8 +79,9 @@ Start by deploying the [ngrok Kubernetes Operator](https://github.com/ngrok/ngro ```bash kubectl get pods --namespace apiops-demo - NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-kubernetes-ingress-controller-man2fg5p 1/1 Running 0 2m23s + NAME READY STATUS RESTARTS AGE + ngrok-operator-agent-74b65b9-cg4zs 1/1 Running 1 4d21h + ngrok-operator-manager-6fd57968f4-kcfxj 1/1 Running 2 4d21h ``` ## **Step 2**: Deploy Argo CD {#deploy-argo-cd} diff --git a/docs/integrations/azure-ad/k8s.mdx b/docs/integrations/azure-ad/k8s.mdx index 9dbc3968b..4ef88175d 100644 --- a/docs/integrations/azure-ad/k8s.mdx +++ b/docs/integrations/azure-ad/k8s.mdx @@ -89,9 +89,10 @@ Next, you'll configure and deploy the [ngrok Kubernetes Operator](https://github 1. Install the ngrok Kubernetes Operator with Helm. ```bash - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ - --namespace ngrok-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ + --namespace ngrok-operator \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN ``` @@ -99,10 +100,11 @@ Next, you'll configure and deploy the [ngrok Kubernetes Operator](https://github 1. Verify the health of your new Operator pod. ```bash - kubectl get pods -l 'app.kubernetes.io/name=kubernetes-ingress-controller' + kubectl get pods -l 'app.kubernetes.io/name=ngrok-operator' - NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-kubernetes-ingress-controller-man2fg5p 1/1 Running 0 2m23s + NAME READY STATUS RESTARTS AGE + ngrok-operator-agent-74b65b9-cg4zs 1/1 Running 1 4d21h + ngrok-operator-manager-6fd57968f4-kcfxj 1/1 Running 2 4d21h ``` 1. Create a new `boutique-ingress.yml` file, which defines how the ngrok Kubernetes Operator should route traffic on your `NGROK_DOMAIN` to your Online Boutique app. @@ -156,7 +158,7 @@ Next, you'll configure and deploy the [ngrok Kubernetes Operator](https://github Your Kubernetes-based app is now publicly accessible through the ngrok Cloud Edge—to restrict access to only authorized users with proper Entra ID credentials, you first need to enable SAML on your Edge. -1. Navigate to the [**Edges** section](https://dashboard.ngrok.com/cloud-edge/edges) of the ngrok dashboard and click on the Edge created by the ngrok Kubernetes Operator. The domain name should match your `NGROK_DOMAIN`, and you should see **Created by kubernetes-ingress-controller** in the edge's description. +1. Navigate to the [**Edges** section](https://dashboard.ngrok.com/cloud-edge/edges) of the ngrok dashboard and click on the Edge created by the ngrok Kubernetes Operator. The domain name should match your `NGROK_DOMAIN`, and you should see **Created by ngrok-operator** in the edge's description. ![Finding your edge in the ngrok dashboard](img/k8s_edge-dashboard.png) diff --git a/docs/integrations/azure-aks/k8s.mdx b/docs/integrations/azure-aks/k8s.mdx index 4f07fd646..f17f8f966 100644 --- a/docs/integrations/azure-aks/k8s.mdx +++ b/docs/integrations/azure-aks/k8s.mdx @@ -9,7 +9,7 @@ description: Learn how to deploy a new Kubernetes cluster and demo app via AKS, To use the ngrok Kubernetes Operator with Azure Kubernetes Service (AKS): 1. [Create your cluster in AKS](#create-your-cluster-in-AKS) -2. [Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-ingress-controller) +2. [Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-operator) 3. [Deploy a demo microservices app](#deploy-a-demo-microservices-app) 4. [Add ngrok-based ingress to your demo app](#add-ngrok-based-ingress-to-your-demo-app) 5. [Add OAuth authentication to your demo app](#add-oauth-authentication-to-your-demo-app) @@ -36,7 +36,7 @@ Here is what you'll be building with: ## **Step 1**: Create your cluster in AKS {#create-your-cluster-in-AKS} -Start by creating a new managed Kubernetes cluster in AKS. If you already have one, you can skip to [Step 2: Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-ingress-controller). +Start by creating a new managed Kubernetes cluster in AKS. If you already have one, you can skip to [Step 2: Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-ngrok-operator). 1. Go to the [Kubernetes services](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.ContainerService%2FmanagedClusters) section in your Azure console and click **Create**→**Create a Kubernetes cluster**. @@ -64,7 +64,7 @@ Start by creating a new managed Kubernetes cluster in AKS. If you already have o tigera-operator tigera-operator 1/1 1 1 5m ``` -## **Step 2**: Install the ngrok Kubernetes Operator {#install-the-ngrok-kubernetes-ingress-controller} +## **Step 2**: Install the ngrok Kubernetes Operator {#install-the-ngrok-kubernetes-ngrok-operator} We recommend installing the [ngrok Kubernetes Ingress Controller](https://github.com/ngrok/ngrok-operator) before your end-user apps to separate the steps around infrastructure vs. app configuration. @@ -88,12 +88,13 @@ Controller](https://github.com/ngrok/ngrok-operator) before your end-user apps t export NGROK_API_KEY=[YOUR-API-KEY] ``` -1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-ingress-controller` namespace. +1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-operator` namespace. ```bash - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ - --namespace ngrok-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ + --namespace ngrok-operator \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN ``` @@ -101,10 +102,11 @@ Controller](https://github.com/ngrok/ngrok-operator) before your end-user apps t 1. Verify you have successfully installed the ngrok Kubernetes Operator and that pods are healthy. ```bash - kubectl get pods -l 'app.kubernetes.io/name=kubernetes-ingress-controller' --namespace ngrok-ingress-controller + kubectl get pods -l 'app.kubernetes.io/name=ngrok-operator' --namespace ngrok-operator - NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-kubernetes-ingress-controller-man2fg5p 1/1 Running 0 27s + NAME READY STATUS RESTARTS AGE + ngrok-operator-agent-74b65b9-cg4zs 1/1 Running 1 4d21h + ngrok-operator-manager-6fd57968f4-kcfxj 1/1 Running 2 4d21h ``` ## **Step 3**: Deploy a demo microservices app {#deploy-a-demo-microservices-app} @@ -412,7 +414,7 @@ Now that your demo app is publicly accessible through the ngrok Cloud Edge, you apiVersion: ingress.k8s.ngrok.com/v1alpha1 metadata: name: ngrok-managed-google-oauth - namespace: ngrok-ingress-controller + namespace: ngrok-operator modules: oauth: google: @@ -429,7 +431,7 @@ Now that your demo app is publicly accessible through the ngrok Cloud Edge, you kind: Ingress metadata: name: store-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator # highlight-start annotations: k8s.ngrok.com/modules: ngrok-managed-google-oauth diff --git a/docs/integrations/consul/k8s.mdx b/docs/integrations/consul/k8s.mdx index 4b9ba102b..3a0fd9a22 100644 --- a/docs/integrations/consul/k8s.mdx +++ b/docs/integrations/consul/k8s.mdx @@ -8,7 +8,7 @@ description: Setup a local Consul Service mesh to demonstrate how to use the ngr To use the ngrok Kubernetes Operator with Consul in a local demo environment: 1. [Set up a local Consul Service Mesh on Kubernetes](#set-up-a-consul-service-mesh-on-kubernetes) -1. [Install the ngrok Kubernetes Operator](#install-the-ngrok-ingress-controller) +1. [Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-operator) 1. [Install a sample application](#install-a-sample-application) 1. [Configure Public Ingress for the sample application](#configure-public-ingress-for-the-sample-application) 1. [Secure the app with OAuth](#add-oauth-protection-to-the-app) @@ -34,7 +34,7 @@ Together, Consul provides a robust and secure way for Services within a cluster ## **Step 1**: Set up a local Consul Service Mesh on Kubernetes {#set-up-a-consul-service-mesh-on-kubernetes} -For this guide, we'll need access to a remote or local Kubernetes cluster with Consul installed. If you have an existing cluster with Consul set up, you can skip this step and proceed to [Step 2: Install the ngrok Kubernetes Operator](#install-the-ngrok-ingress-controller). +For this guide, we'll need access to a remote or local Kubernetes cluster with Consul installed. If you have an existing cluster with Consul set up, you can skip this step and proceed to [Step 2: Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-operator). If you don't have one set up, we'll set up a local Minikube cluster and install Consul now. @@ -105,7 +105,7 @@ We now have a Kubernetes cluster with a Consul service mesh installed. These steps are based on Consul's Tutorial [Consul Service Discovery and Service Mesh on Minikube](https://developer.hashicorp.com/consul/tutorials/kubernetes/kubernetes-minikube) ::: -## **Step 2**: Install the ngrok Kubernetes Operator {#install-the-ngrok-ingress-controller} +## **Step 2**: Install the ngrok Kubernetes Operator {#install-the-ngrok-kubernetes-operator} Now that we have a Kubernetes cluster with Consul installed, we can install the ngrok Kubernetes Operator to provide ingress to our services. We'll use Helm to install the ngrok Kubernetes Operator into our cluster and use pod annotations to enable the Consul Connect sidecar injector. This will allow us to use Consul Connect to secure the traffic between the ngrok Kubernetes Operator and our services. @@ -115,7 +115,7 @@ Now that we have a Kubernetes cluster with Consul installed, we can install the apiVersion: v1 kind: Service metadata: - name: ngrok-ingress-controller + name: ngrok-operator namespace: consul spec: ports: @@ -124,7 +124,7 @@ spec: protocol: TCP targetPort: 80 selector: - app.kubernetes.io/name: kubernetes-ingress-controller + app.kubernetes.io/name: ngrok-operator ``` 1. Add the ngrok Kubernetes Operator Helm repo @@ -148,9 +148,9 @@ Next, we'll install the ngrok Kubernetes Operator into our cluster. We want the ``` ```bash -helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ +helm install ngrok-operator ngrok/ngrok-operator\ --namespace consul \ - --set fullnameOverride=ngrok-ingress-controller \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN \ --set-string podAnnotations.consul\\.hashicorp\\.com/connect-inject=true \ @@ -168,9 +168,10 @@ helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ 5. Verify the ngrok Kubernetes Operator is installed and all its pods are healthy ```bash -kubectl get pods -l 'app.kubernetes.io/name=kubernetes-ingress-controller' -n consul -NAME READY STATUS RESTARTS AGE -ngrok-ingress-controller-manager-5b796c88f7-k7v6z 2/2 Running 1 (64s ago) 67s +kubectl get pods -l 'app.kubernetes.io/name=ngrok-operator' -n consul +NAME READY STATUS RESTARTS AGE +ngrok-operator-agent-74b65b9-cg4zs 1/1 Running 1 4d21h +ngrok-operator-manager-6fd57968f4-kcfxj 1/1 Running 2 4d21h ``` ## **Step 3**: Install a Sample Application {#install-a-sample-application} @@ -219,7 +220,7 @@ spec: name: frontend sources: - action: allow - name: ngrok-ingress-controller + name: ngrok-operator ``` ```yaml @@ -232,7 +233,7 @@ spec: sources: - name: frontend action: allow - - name: ngrok-ingress-controller + - name: ngrok-operator action: allow destination: name: public-api diff --git a/docs/integrations/digitalocean/k8s.mdx b/docs/integrations/digitalocean/k8s.mdx index 58ea92c14..ed94640b5 100644 --- a/docs/integrations/digitalocean/k8s.mdx +++ b/docs/integrations/digitalocean/k8s.mdx @@ -10,12 +10,12 @@ To use the ngrok Kubernetes Operator with DigitalOcean: 1. [Provision a new cluster on DigitalOcean with `doctl`](#provision-a-new-cluster) 2. [Deploy an example app on your DigitalOcean-managed cluster](#deploy-an-example-app) -3. [Configure the ngrok Kubernetes Operator](#configure-the-ngrok-kubernetes-ingress-controller) +3. [Configure the ngrok Kubernetes Operator](#configure-the-ngrok-kubernetes-kubernetes-operator) 4. [Enable extra features of ngrok's Cloud Edge](#enable-extra-features-of-ngrok) ::: -Using this guide, you'll launch a new cluster on [DigitalOcean](https://digitalocean.com) and use the DigitalOcean Marketplace to provision the [ngrok Kubernetes Operator](https://marketplace.digitalocean.com/apps/ngrok-ingress-controller) to securely ingress public traffic to a demo app. +Using this guide, you'll launch a new cluster on [DigitalOcean](https://digitalocean.com) and use the DigitalOcean Marketplace to provision the [ngrok Kubernetes Operator](https://marketplace.digitalocean.com/apps/ngrok-kubernetes-operator) to securely ingress public traffic to a demo app. In the end, you'll have learned enough to deploy your next production-ready Kubernetes app with Rafay, with the ngrok Kubernetes Operator giving you access to additional features, like observability and resiliency, with no extra configuration complexity. @@ -46,7 +46,7 @@ In this guide, we'll stick with the CLI as much as possible to showcase how tigh 1. Provision your cluster with the command below, replacing `NODE_SIZE` and `CLUSTER_NAME` with your chosen size and a relevant name. ```bash - doctl kubernetes clusters create --size NODE_SIZE CLUSTER_NAME --1-clicks ngrok-ingress-controller + doctl kubernetes clusters create --size NODE_SIZE CLUSTER_NAME --1-clicks ngrok-operator ``` This command not only provisions your cluster, but also installs the [ngrok Kubernetes Operator](https://github.com/ngrok/ngrok-operator) from their [1-Click catalog](https://marketplace.digitalocean.com/apps/ngrok-ingress-controller). @@ -60,16 +60,17 @@ In this guide, we'll stick with the CLI as much as possible to showcase how tigh d62a17ca-32e0-4d8b-9260-2d0d1c582939 ngrokker nyc1 1.29.1-do.0 false running ngrokker-default-pool ``` -1. You can now verify that the cluster is running successfully by looking at the pods in the new `ngrok-ingress-controller` namespace. +1. You can now verify that the cluster is running successfully by looking at the pods in the new `ngrok-operator` namespace. ```bash - kubectl get pods -n ngrok-ingress-controller + kubectl get pods -n ngrok-operator - NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-kubernetes-ingress-controller-mannvs9b 0/1 CreateContainerConfigError 0 6m30s + NAME READY STATUS RESTARTS AGE + ngrok-operator-agent-74b65b9-cg4zs 1/1 Running 1 4d21h + ngrok-operator-manager-6fd57968f4-kcfxj 1/1 Running 2 4d21h ``` - The `CreateContainerConfigError` is to be expected at this point. If you run `kubectl describe pods -n ngrok-ingress-controller YOUR_NGROK_INGRESS_CONTAINER`, you'd see the following error: `kubelet Error: secret "ngrok-auth" not found`. + The `CreateContainerConfigError` is to be expected at this point. If you run `kubectl describe pods -n ngrok-operator YOUR_NGROK_INGRESS_CONTAINER`, you'd see the following error: `kubelet Error: secret "ngrok-auth" not found`. 1. To remedy that, get your `AUTHTOKEN` and `API_KEY`, which the ngrok Kubernetes Operator will use to authenticate against your existing ngrok account. @@ -88,7 +89,7 @@ In this guide, we'll stick with the CLI as much as possible to showcase how tigh kind: Secret metadata: name: ngrok-auth - namespace: ngrok-ingress-controller + namespace: ngrok-operator stringData: API_KEY: "NGROK_API_KEY" AUTHTOKEN: "NGROK_AUTHTOKEN" @@ -117,7 +118,7 @@ Let's explore how you can add apps or services to your DigitalOcean-managed Kube You should see your cluster create a handful of new services, then verify everything is running correctly with `kubectl get all -n bookinfo`. -## **Step 3**: Configure the ngrok Kubernetes Operator {#configure-the-ngrok-kubernetes-ingress-controller} +## **Step 3**: Configure the ngrok Kubernetes Operator {#configure-the-ngrok-kubernetes-operator} Your Bookinfo app is running, but you have no means of accessing it from your local workstation—or anywhere else, for that matter. You _could_ use `kubectl port-forward...`, but that's a fragile method of accessing your new app, and isn't appropriate for production use. diff --git a/docs/integrations/google-gke/google-kubernetes-engine.mdx b/docs/integrations/google-gke/google-kubernetes-engine.mdx index 66ca9b4a5..77ef4e4bd 100644 --- a/docs/integrations/google-gke/google-kubernetes-engine.mdx +++ b/docs/integrations/google-gke/google-kubernetes-engine.mdx @@ -77,9 +77,10 @@ Now we can install the ngrok Kubernetes Operator to provide ingress to our servi 3. Next, we'll install the ngrok Kubernetes Operator into our cluster. ```shell - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ --namespace ngrok \ - --set fullnameOverride=ngrok-ingress-controller \ + --set fullnameOverride=ngrok-operator \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN ``` @@ -87,9 +88,9 @@ Now we can install the ngrok Kubernetes Operator to provide ingress to our servi 4. Verify the ngrok Kubernetes Operator is installed and all its pods are healthy ```shell - kubectl get pods -l 'app.kubernetes.io/name=kubernetes-ingress-controller' -n ngrok + kubectl get pods -l 'app.kubernetes.io/name=kubernetes-operator' -n ngrok NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-manager-5b796c88f7-k7v6z 2/2 Running 1 (64s ago) 67s + ngrok-operator-manager-5b796c88f7-k7v6z 2/2 Running 1 (64s ago) 67s ``` ## **Step 3**: Install a Sample Application {#install-a-sample-application} @@ -108,7 +109,7 @@ apiVersion: v1 kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok spec: ports: - name: http @@ -121,7 +122,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok spec: replicas: 1 selector: @@ -145,7 +146,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok spec: ingressClassName: ngrok rules: @@ -174,7 +175,7 @@ spec: ![ingress created](/img/howto/kubernetes-operator/k8s-ingress-app-1.png) -1. Access your ingress URL using the subdomain you chose in the manifest file above (i.e. `https://my-awesome-k8s-cluster.ngrok.app`) to confirm the 2048 app is accessible from the internet. If you forgot what url you chose, you can always run `kubectl get ingresses --namespace=ngrok-ingress-controller` to see what it is. +1. Access your ingress URL using the subdomain you chose in the manifest file above (i.e. `https://my-awesome-k8s-cluster.ngrok.app`) to confirm the 2048 app is accessible from the internet. If you forgot what url you chose, you can always run `kubectl get ingresses --namespace=ngrok-operator` to see what it is. ![application public](/img/howto/kubernetes-operator/k8s-ingress-app-2.png) @@ -200,7 +201,7 @@ apiVersion: v1 kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -213,7 +214,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -235,7 +236,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator # highlight-start annotations: k8s.ngrok.com/modules: oauth-and-circuit-breaking @@ -260,7 +261,7 @@ kind: NgrokModuleSet apiVersion: ingress.k8s.ngrok.com/v1alpha1 metadata: name: oauth-and-circuit-breaking - namespace: ngrok-ingress-controller + namespace: ngrok-operator modules: circuitBreaker: trippedDuration: 10s diff --git a/docs/integrations/linkerd/k8s.md b/docs/integrations/linkerd/k8s.md index 1f5f5b0a3..6f33cba3e 100644 --- a/docs/integrations/linkerd/k8s.md +++ b/docs/integrations/linkerd/k8s.md @@ -12,7 +12,7 @@ To use the ngrok Kubernetes Operator with Linkerd in a local cluster: 1. [Set up a local testing cluster](#set-up-a-local-development-cluster) 1. [Deploy Linkerd's service mesh to your cluster](#deploy-linkerds-service-mesh) -1. [Install the ngrok Kubernetes Operator](#install-the-ngrok-ingress-controller) +1. [Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-operator) 1. [Deploy an example microservices-based application](#deploy-an-example-microservices-based-application) 1. [Add Linkerd's dashboard and verify mTLS](#add-linkerds-dashboard-and-verify-mtls) @@ -114,7 +114,7 @@ Using this guide, you will launch a local cluster (or use an existing local/remo ::: -## **Step 3**: Install the ngrok Kubernetes Operator {#install-the-ngrok-ingress-controller} +## **Step 3**: Install the ngrok Kubernetes Operator {#install-the-ngrok-kubernetes-operator} Even though you have no applications currently running on your local cluster, you can configure and deploy the [ngrok Kubernetes Ingress Controller](https://github.com/ngrok/ngrok-operator) to simplify how you'll enable ingress in the future. @@ -134,12 +134,13 @@ Controller](https://github.com/ngrok/ngrok-operator) to simplify how you'll enab export NGROK_API_KEY=[YOUR-API-KEY] ``` -1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-ingress-controller` namespace. +1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-operator` namespace. ```bash - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ - --namespace ngrok-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ + --namespace ngrok-operator \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN ``` @@ -147,10 +148,11 @@ Controller](https://github.com/ngrok/ngrok-operator) to simplify how you'll enab 1. Verify you have installed the ngrok Kubernetes Operator successfully and that pods are healthy. ```bash - kubectl get pods -l 'app.kubernetes.io/name=kubernetes-ingress-controller' --namespace ngrok-ingress-controller + kubectl get pods -l 'app.kubernetes.io/name=ngrok-operator' --namespace ngrok-operator - NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-kubernetes-ingress-controller-man2fg5p 1/1 Running 0 2m23s + NAME READY STATUS RESTARTS AGE + ngrok-operator-agent-74b65b9-cg4zs 1/1 Running 1 4d21h + ngrok-operator-manager-6fd57968f4-kcfxj 1/1 Running 2 4d21h ``` ## **Step 4**: Deploy an example microservices-based application {#deploy-an-example-microservices-based-application} diff --git a/docs/integrations/microk8s/k8s.mdx b/docs/integrations/microk8s/k8s.mdx index 42ea7d869..acd7cc242 100644 --- a/docs/integrations/microk8s/k8s.mdx +++ b/docs/integrations/microk8s/k8s.mdx @@ -81,12 +81,13 @@ Now that you have a Kubernetes cluster deployed using MicroK8s, you can install export NGROK_API_KEY=[YOUR-API-KEY] ``` -1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-ingress-controller` namespace, with the `useExperimentalGatewayApi=true` option. +1. Install the ngrok Kubernetes Operator with Helm under a new `ngrok-operator` namespace, with the `useExperimentalGatewayApi=true` option. ```bash - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ - --namespace ngrok-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ + --namespace ngrok-operator \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN \ --set useExperimentalGatewayApi=true @@ -95,10 +96,11 @@ Now that you have a Kubernetes cluster deployed using MicroK8s, you can install 1. Verify you have installed the ngrok Kubernetes Operator successfully via a single running pod. ```bash - kubectl get pods --namespace ngrok-ingress-controller + kubectl get pods --namespace ngrok-operator - NAME READY STATUS RESTARTS AGE - ngrok-ingress-controller-kubernetes-ingress-controller-man2fg5p 1/1 Running 0 2m23s + NAME READY STATUS RESTARTS AGE + ngrok-operator-agent-74b65b9-cg4zs 1/1 Running 1 4d21h + ngrok-operator-manager-6fd57968f4-kcfxj 1/1 Running 2 4d21h ``` ## **Step 3**: Install an example app {#install-example-app} @@ -116,7 +118,7 @@ Now you need a domain and Kubernetes service to ingress traffic to! kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -129,7 +131,7 @@ Now you need a domain and Kubernetes service to ingress traffic to! kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -190,7 +192,7 @@ You'll first create a [GatewayClass](https://gateway-api.sigs.k8s.io/api-types/g kind: Gateway metadata: name: 2048-gateway - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: gatewayClassName: ngrok listeners: @@ -217,12 +219,12 @@ You'll first create a [GatewayClass](https://gateway-api.sigs.k8s.io/api-types/g kind: HTTPRoute metadata: name: 2048-route - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: parentRefs: - kind: Gateway name: 2048-gateway - namespace: ngrok-ingress-controller + namespace: ngrok-operator hostnames: #highlight-start - "NGROK_DOMAIN" diff --git a/docs/integrations/rafay/k8s.mdx b/docs/integrations/rafay/k8s.mdx index 0c21e9e54..db2bb5b7f 100644 --- a/docs/integrations/rafay/k8s.mdx +++ b/docs/integrations/rafay/k8s.mdx @@ -47,7 +47,7 @@ To prepare your cluster for the ngrok Kubernetes Operator and an app you'd like Before you create a Rafay blueprint for ingress managed by ngrok, you need to prepare your infrastructure in a way that works with Rafay's blueprints. -1. In Rafay, create a namespace by clicking **Infrastructure→Namespaces**, then **New Namespace**. Enter **ngrok-ingress-controller** and under **Type**, select **Wizard**. Finally, click **Save**. +1. In Rafay, create a namespace by clicking **Infrastructure→Namespaces**, then **New Namespace**. Enter **ngrok-operator** and under **Type**, select **Wizard**. Finally, click **Save**. ![Create a new namespace](img/namespace-create.png) @@ -55,7 +55,7 @@ Before you create a Rafay blueprint for ingress managed by ngrok, you need to pr ![Publish the namespace](img/namespace-publish.png) -1. Add a repository for the ngrok Kubernetes Operator to Rafay by clicking **Integrations→Repositories**. Give the repository a name like `ngrok-kubernetes-ingress-controller`. +1. Add a repository for the ngrok Kubernetes Operator to Rafay by clicking **Integrations→Repositories**. Give the repository a name like `ngrok-operator`. In the **Endpoints** field, add the Helm repository, `https://charts.ngrok.com`, then click **Save**. @@ -83,7 +83,7 @@ You'll create a custom blueprint for the ngrok Kubernetes Operator that you or o ![Create an Add-On](img/add-on-create.png) - Click **New Version**, name it `v1`, and choose the repository you created in the previous step. The **Chart Name** should be `kubernetes-ingress-controller` and the **Chart Version** `0.12.1` (or a more recent version). + Click **New Version**, name it `v1`, and choose the repository you created in the previous step. The **Chart Name** should be `ngrok-operator` and the **Chart Version** `0.12.1` (or a more recent version). Under the **Values File(s)** section, upload the `ngrok-values.yaml` file with your credentials. @@ -129,7 +129,7 @@ You can deploy workloads directly from Rafay's catalog, but in this example, you kind: Ingress metadata: name: store-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ingressClassName: ngrok rules: @@ -147,7 +147,7 @@ You can deploy workloads directly from Rafay's catalog, but in this example, you number: 80 ``` -1. Create a new workload from **Applications→Workloads**. Call your new workload `aks-store` and choose **K8s YAML** as the package type, ensuring you specify `ngrok-ingress-controller` as the namespace. +1. Create a new workload from **Applications→Workloads**. Call your new workload `aks-store` and choose **K8s YAML** as the package type, ensuring you specify `ngrok-operator` as the namespace. 1. In the **Upload Files** area, upload the `aks-store-workload.yaml` file you created. Under **Placement**, pick your cluster and move ahead to publishing the workload. Give your cluster a few minutes to provision the new AKS Store resources and configure the ngrok Kubernetes Operator. diff --git a/docs/integrations/rancher/k8s.md b/docs/integrations/rancher/k8s.md index af45c858c..bc767fe6c 100644 --- a/docs/integrations/rancher/k8s.md +++ b/docs/integrations/rancher/k8s.md @@ -9,7 +9,7 @@ description: Set up a local installation of Rancher to deploy a new RKE2 cluster To use the ngrok Kubernetes Operator with Rancher in a local cluster: 1. [Install Rancher via Docker](#install-rancher-via-docker) -2. [Install the ngrok Kubernetes Operator](#install-the-ngrok-ingress-controller) +2. [Install the ngrok Kubernetes Operator](#install-the-ngrok-kubernetes-operator) 3. [Install a sample application](#install-a-sample-application) ::: @@ -48,7 +48,7 @@ to ngrok using Rancher's Chart repository, and deploy a demo application, which To follow along with this guide, you need Rancher installed on a local or remote Kubernetes cluster. If you already have an existing cluster running Rancher, you can skip this step and proceed to [Step 2: Install the ngrok Ingress -Controller](#install-the-ngrok-ingress-controller). +Controller](#install-the-ngrok-kubernetes-operator). In the following steps, you'll run Rancher, and create the Kubernetes cluster it runs on, within a Docker container. This simple, local-only installation option should be used only for [test and demonstration @@ -62,7 +62,7 @@ new Kubernetes cluster managed by Rancher. :::note Another viable option is to launch a single Linux virtual machine on your local workstation or with a cloud provider to host a K3s cluster for [installing Rancher with Helm](https://ranchermanager.docs.rancher.com/getting-started/quick-start-guides/deploy-rancher-manager/helm-cli). If you choose that option, you can skip ahead to [Step 2: Install the ngrok Ingress -Controller](#install-the-ngrok-ingress-controller) once you’ve finalized your K3s cluster. +Controller](#install-the-ngrok-kubernetes-operator) once you’ve finalized your K3s cluster. ::: 1. Launch the Rancher server in a detached, privileged Docker container. With this configuration, you'll access Rancher on `localhost` using a specific port. @@ -142,7 +142,7 @@ docker logs [DOCKER_NAME] 2>&1 | grep "Bootstrap Password:" You have now installed Rancher in a Docker container, created a new Kubernetes cluster for your applications, and connected one or more Linux nodes to Rancher for handling future workloads. -## **Step 2**: Install the ngrok Kubernetes Operator using Rancher {#install-the-ngrok-ingress-controller} +## **Step 2**: Install the ngrok Kubernetes Operator using Rancher {#install-the-ngrok-kubernetes-operator} Next, install the [ngrok Kubernetes Operator](https://github.com/ngrok/ngrok-operator), which will then automatically handle public ingress to any properly configured application you add to your cluster. Because @@ -153,10 +153,10 @@ to add the ngrok Kubernetes Operator via the Rancher dashboard. You can also install the ngrok Kubernetes Operator with Helm instead of via Rancher's management platform. See our [Using ngrok with Kubernetes](/docs/using-ngrok-with/k8s/#step-2-setup-your-kubernetes-cluster-and-install-the-ngrok-ingress-controller) guide for details. ::: -1. Create an `ngrok-ingress-controller` namespace. +1. Create an `ngrok-operator` namespace. ```bash - kubectl create namespace ngrok-ingress-controller + kubectl create namespace ngrok-operator ``` 1. Get your ngrok `AUTHTOKEN` and `API_KEY` credentials. @@ -168,12 +168,12 @@ You can also install the ngrok Kubernetes Operator with Helm instead of via Ranc click the **New API Key** button, change the description or owner, and click the **Add API Key** button. Don't close the modal window yet, as you'll need this API key for the next step. -1. Create a Kubernetes Secret named `ngrok-ingress-controller-credentials`, replacing `[YOUR-AUTHTOKEN]` and +1. Create a Kubernetes Secret named `ngrok-operator-credentials`, replacing `[YOUR-AUTHTOKEN]` and `[YOUR_API_KEY]` in the command below with your ngrok credentials. Rancher will use this secret to authenticate the ngrok Kubernetes Operator with your account. ```bash - kubectl create secret generic --namespace ngrok-ingress-controller ngrok-ingress-controller-credentials \ + kubectl create secret generic --namespace ngrok-operator ngrok-operator-credentials \ --from-literal=AUTHTOKEN=[YOUR-AUTHTOKEN] \ --from-literal=API_KEY=[YOUR-API-KEY] ``` @@ -184,19 +184,19 @@ You can also install the ngrok Kubernetes Operator with Helm instead of via Ranc ![Find the ngrok Kubernetes Operator Helm Chart and begin installation](img/rancher_ngrok-chart.png) - In the **Metadata** step, choose `ngrok-ingress-controller` as the namespace, then click **Next**. + In the **Metadata** step, choose `ngrok-operator` as the namespace, then click **Next**. - ![Add the Helm chart to the ngrok-ingress-controller namespace](img/rancher_ngrok-namespace.png) + ![Add the Helm chart to the ngrok-operator namespace](img/rancher_ngrok-namespace.png) In the **Values** step, update the `credentials` portion of the default YAML to include the - `ngrok-ingress-controller-credentials` secret you created previously. + `ngrok-operator-credentials` secret you created previously. ```yaml credentials: apiKey: "" authtoken: "" secret: - name: "ngrok-ingress-controller-credentials" + name: "ngrok-operator-credentials" ``` Click **Install**. Rancher will take a few moments to initialize the necessary resources, then show that the ngrok @@ -229,7 +229,7 @@ simplifying how you route external traffic through your Rancher-managed cluster. kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -242,7 +242,7 @@ simplifying how you route external traffic through your Rancher-managed cluster. kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -265,7 +265,7 @@ simplifying how you route external traffic through your Rancher-managed cluster. kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ingressClassName: ngrok rules: diff --git a/docs/integrations/spectro-cloud/k8s.mdx b/docs/integrations/spectro-cloud/k8s.mdx index 24c8328b7..30ce7101a 100644 --- a/docs/integrations/spectro-cloud/k8s.mdx +++ b/docs/integrations/spectro-cloud/k8s.mdx @@ -120,7 +120,7 @@ For the former, Palette has a [ready-to-apply pack](https://docs.spectrocloud.co kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -146,7 +146,7 @@ For the former, Palette has a [ready-to-apply pack](https://docs.spectrocloud.co kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -165,7 +165,7 @@ For the former, Palette has a [ready-to-apply pack](https://docs.spectrocloud.co kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ingressClassName: ngrok rules: diff --git a/docs/k8s/advanced-deployments.mdx b/docs/k8s/advanced-deployments.mdx index cceff7b1c..7cfbddfea 100644 --- a/docs/k8s/advanced-deployments.mdx +++ b/docs/k8s/advanced-deployments.mdx @@ -17,8 +17,12 @@ However, if opening connectivity is not an option, you can set up a custom ingre To get started with this, go to your dashboard and [create](https://dashboard.ngrok.com/cloud-edge/domains) a custom ingress domain. Once created, you can configure the operator by using the following command: ```bash -helm install my-ingress-controller ngrok/kubernetes-ingress-controller \ - --set serverAddr="ngrok.mydomain.com:443" +helm install ngrok-operator ngrok/ngrok-operator \ + --create-namespace \ + --set serverAddr="ngrok.mydomain.com:443" \ + --set clusterName=my-k8s-cluster \ + --set credentials.apiKey=$NGROK_API_KEY \ + --set credentials.authtoken=$NGROK_AUTHTOKEN ``` ## Multiple Operator Installations diff --git a/docs/k8s/deployment-guide.mdx b/docs/k8s/deployment-guide.mdx index e882d8bd1..13db5d752 100644 --- a/docs/k8s/deployment-guide.mdx +++ b/docs/k8s/deployment-guide.mdx @@ -15,7 +15,7 @@ This guide is meant as the starting point for configuring, deploying, and operat ## Installation -It is recommended to use helm to install the operator. Alternatively, the container is available on Docker Hub at [`ngrok/ingress-controller`](https://hub.docker.com/r/ngrok/kubernetes-ingress-controller) and can be run directly with hand crafted manifests. +It is recommended to use helm to install the operator. Alternatively, the container is available on Docker Hub at [`ngrok/ngrok-operator`](https://hub.docker.com/r/ngrok/ngrok-operator) and can be run directly with hand crafted manifests. @@ -35,7 +35,7 @@ For a more robust _infrastructure as code_ way of passing your credentials, see For a quick install, you can also use the combined manifests directly from the repo and begin changing resources: ```bash -kubectl apply -n ngrok-ingress-controller -f https://raw.githubusercontent.com/ngrok/kubernetes-ingress-controller/main/manifest-bundle.yaml +kubectl apply -n ngrok-operator -f https://raw.githubusercontent.com/ngrok/ngrok-operator/main/manifest-bundle.yaml ``` @@ -78,8 +78,8 @@ Here is an example secret manifest: apiVersion: v1 kind: Secret metadata: - name: ngrok-ingress-controller-credentials - namespace: ngrok-ingress-controller + name: ngrok-operator-credentials + namespace: ngrok-operator data: API_KEY: "YOUR-API-KEY-BASE64" AUTHTOKEN: "YOUR-AUTHTOKEN-BASE64" diff --git a/docs/k8s/developer-guide/README.md b/docs/k8s/developer-guide/README.md index 53d0d16f3..b08695454 100644 --- a/docs/k8s/developer-guide/README.md +++ b/docs/k8s/developer-guide/README.md @@ -22,8 +22,8 @@ Both of these can be obtained via [nix-direnv](https://github.com/nix-community/ export NGROK_API_KEY= export NGROK_AUTHTOKEN= # kubectl can connect to your cluster and images built locally are available to the cluster -kubectl create namespace ngrok-ingress-controller -kubectl config set-context --current --namespace=ngrok-ingress-controller +kubectl create namespace ngrok-operator +kubectl config set-context --current --namespace=ngrok-ngrok-operator make deploy ``` diff --git a/docs/k8s/developer-guide/releasing.md b/docs/k8s/developer-guide/releasing.md index 32d94c274..afa99345a 100644 --- a/docs/k8s/developer-guide/releasing.md +++ b/docs/k8s/developer-guide/releasing.md @@ -18,13 +18,13 @@ docker image can be used to run the Ingress Controller in a Kubernetes cluster w ### Docker Image The Docker image contains the ngrok Ingress Controller binary and is available on -Docker Hub [here](https://hub.docker.com/r/ngrok/kubernetes-ingress-controller). We currently +Docker Hub [here](https://hub.docker.com/r/ngrok/ngrok-operator). We currently support `amd64` and `arm64` architectures, with future plans to build for other architectures. ### Helm Chart The helm chart is packaged and published to its own [helm repository](https://charts.ngrok.com/index.yaml) -and can be installed by following the instructions in the chart's [README](https://github.com/ngrok/ngrok-operator/edit/main/helm/ingress-controller/README.md). +and can be installed by following the instructions in the chart's [README](https://github.com/ngrok/ngrok-operator/edit/main/helm/ngrok-operator/README.md). ## Semantic Versioning @@ -62,9 +62,9 @@ to the semantic versioning spec as described above. #### Controller -Releases of the controller will be tagged with a prefix of `kubernetes-ingress-controller-`. For example, -version `1.2.0` of the docker image will have a git tag of `kubernetes-ingress-controller-1.2.0` which -contains the code used to build the docker image `ngrok/kubernetes-ingress-controller:1.2.0`. +Releases of the controller will be tagged with a prefix of `ngrok-operator-`. For example, +version `1.2.0` of the docker image will have a git tag of `ngrok-operator-1.2.0` which +contains the code used to build the docker image `ngrok/ngrok-operator:1.2.0`. When changes that would affect the controller's docker image are pushed to `main`, a github workflow will trigger. The workflow will build and publish the `ngrok/kubernetes-ingress-controller:latest` docker @@ -72,5 +72,5 @@ image. If the `VERSION` file at the root of the repo is changed, the workflow will also create a git tag for the controller as described above and publish a tagged docker image. For instance when the -`VERSION` is changed to `1.2.0`, the workflow will create a git tag of `kubernetes-ingress-controller-1.2.0` -and publish the docker image `ngrok/kubernetes-ingress-controller:1.2.0`. +`VERSION` is changed to `1.2.0`, the workflow will create a git tag of `ngrok-operator-1.2.0` +and publish the docker image `ngrok/ngrok-operator:1.2.0`. diff --git a/docs/network-edge/cloud-endpoints.mdx b/docs/network-edge/cloud-endpoints.mdx index 378779138..cd86ccfd4 100644 --- a/docs/network-edge/cloud-endpoints.mdx +++ b/docs/network-edge/cloud-endpoints.mdx @@ -28,7 +28,7 @@ Cloud Endpoints enable you to: - Load balance traffic to different ngrok agents - Apply different configurations for each path in your application. For example, you may apply OAuth on `/app` and Compression on `/static/css`. -- Use the [Kubernetes Ingress Controller](/k8s/) +- Use the [ngrok Kubernetes Operator](/k8s/) When you create a Cloud Endpoint, you must specify: diff --git a/docs/network-edge/edges.mdx b/docs/network-edge/edges.mdx index 8f5f1e7ec..63d312881 100644 --- a/docs/network-edge/edges.mdx +++ b/docs/network-edge/edges.mdx @@ -22,8 +22,7 @@ Edges enable you to: - Load balance traffic to different ngrok agents - Apply different configurations for each path in your application. For example, you may apply OAuth on `/app` and Compression on `/static/css`. -- Use the [Kubernetes Ingress Controller](/k8s/). The Ingress Controller is - powered by Edges. +- Use the [ngrok Kubernetes Operator](/k8s/). The Ingress Controller is powered by Edges. When you create an Edge, you must select the protocol corresponding to the endpoints you would like it to create: one of HTTPS, TLS or TCP. diff --git a/docs/tcp/ip-restrictions.mdx b/docs/tcp/ip-restrictions.mdx index e4bd10a2e..f55b2280e 100644 --- a/docs/tcp/ip-restrictions.mdx +++ b/docs/tcp/ip-restrictions.mdx @@ -59,7 +59,7 @@ Allow TCP connections from `110.0.0.0/8` and `220.12.0.0/16` but not from A connection is allowed only if its source IP matches at least one rule with an 'allow' action and does not match any rule with a 'deny' action. -When using Edges and the Kubernetes Ingress Controller, if the IP Restrictions +When using Edges and the ngrok Kubernetes Operator, if the IP Restrictions module references multiple IP Policies, then the rules of all referenced IP Policies are unioned together for evaluation. diff --git a/docs/tls/ip-restrictions.mdx b/docs/tls/ip-restrictions.mdx index 351d210a9..4d3dbea27 100644 --- a/docs/tls/ip-restrictions.mdx +++ b/docs/tls/ip-restrictions.mdx @@ -59,7 +59,7 @@ Allow TCP connections from `110.0.0.0/8` and `220.12.0.0/16` but not from A connection is allowed only if its source IP matches at least one rule with an 'allow' action and does not match any rule with a 'deny' action. -When using Edges and the Kubernetes Ingress Controller, if the IP Restrictions +When using Edges and the ngrok Kubernetes Operator, if the IP Restrictions module references multiple IP Policies, then the rules of all referenced IP Policies are unioned together for evaluation. diff --git a/docs/using-ngrok-with/k8s.md b/docs/using-ngrok-with/k8s.md index 9fdd6a4ed..58c5ca03d 100644 --- a/docs/using-ngrok-with/k8s.md +++ b/docs/using-ngrok-with/k8s.md @@ -59,12 +59,13 @@ To started with the ngrok Kubernetes Operator: 1. Install the ngrok Kubernetes Operator in your cluster, replacing `[AUTHTOKEN]` and `[API_KEY]` with your Authtoken and API key from above: - **Note:** For this tutorial, we're creating and using the namespace `ngrok-ingress-controller`. + **Note:** For this tutorial, we're creating and using the namespace `ngrok-operator`. ```bash - helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ - --namespace ngrok-ingress-controller \ + helm install ngrok-operator ngrok/ngrok-operator \ + --namespace ngrok-operator \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN ``` @@ -83,7 +84,7 @@ apiVersion: v1 kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -96,7 +97,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -120,7 +121,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ingressClassName: ngrok rules: @@ -174,7 +175,7 @@ apiVersion: v1 kind: Service metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: ports: - name: http @@ -187,7 +188,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: game-2048 - namespace: ngrok-ingress-controller + namespace: ngrok-operator spec: replicas: 1 selector: @@ -209,7 +210,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: game-2048-ingress - namespace: ngrok-ingress-controller + namespace: ngrok-operator # highlight-start annotations: k8s.ngrok.com/modules: oauth-and-circuit-breaking @@ -234,7 +235,7 @@ kind: NgrokModuleSet apiVersion: ingress.k8s.ngrok.com/v1alpha1 metadata: name: oauth-and-circuit-breaking - namespace: ngrok-ingress-controller + namespace: ngrok-operator modules: circuitBreaker: trippedDuration: 10s diff --git a/examples/k8s/install-gateway-api.mdx b/examples/k8s/install-gateway-api.mdx index 85642a258..2b4c43143 100644 --- a/examples/k8s/install-gateway-api.mdx +++ b/examples/k8s/install-gateway-api.mdx @@ -17,12 +17,14 @@ export NAMESPACE=[YOUR_K8S_NAMESPACE] export NGROK_AUTHTOKEN=[AUTHTOKEN] export NGROK_API_KEY=[API_KEY] -helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ +helm install ngrok-operator ngrok/ngrok-operator \ --namespace $NAMESPACE \ --create-namespace \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN \ - --set useExperimentalGatewayApi=true + --set clusterName=my-k8s-cluster \ + --set ingress.enabled=true \ + --set gateway.enabled=true ``` Install the GatewayClass object: diff --git a/examples/k8s/install-ingress.mdx b/examples/k8s/install-ingress.mdx index 2c76c4b17..2a7e91625 100644 --- a/examples/k8s/install-ingress.mdx +++ b/examples/k8s/install-ingress.mdx @@ -11,9 +11,10 @@ export NAMESPACE=[YOUR_K8S_NAMESPACE] export NGROK_AUTHTOKEN=[AUTHTOKEN] export NGROK_API_KEY=[API_KEY] -helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \ +helm install ngrok-operator ngrok/ngrok-operator \ --namespace $NAMESPACE \ --create-namespace \ + --set clusterName=my-k8s-cluster \ --set credentials.apiKey=$NGROK_API_KEY \ --set credentials.authtoken=$NGROK_AUTHTOKEN ```