Skip to content
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

Rephrase from ingress controller -> ngrok-operator with required fields #1049

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/guides/api-gateway/kubernetes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
27 changes: 14 additions & 13 deletions docs/integrations/amazon-eks/eks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -77,19 +77,20 @@ 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
```

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}
Expand All @@ -108,7 +109,7 @@ apiVersion: v1
kind: Service
metadata:
name: game-2048
namespace: ngrok-ingress-controller
namespace: ngrok-operator
spec:
ports:
- name: http
Expand All @@ -121,7 +122,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: game-2048
namespace: ngrok-ingress-controller
namespace: ngrok-operator
spec:
replicas: 1
selector:
Expand All @@ -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:
Expand Down Expand Up @@ -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)

Expand All @@ -199,7 +200,7 @@ apiVersion: v1
kind: Service
metadata:
name: game-2048
namespace: ngrok-ingress-controller
namespace: ngrok-operator
spec:
ports:
- name: http
Expand All @@ -212,7 +213,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: game-2048
namespace: ngrok-ingress-controller
namespace: ngrok-operator
spec:
replicas: 1
selector:
Expand All @@ -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
Expand All @@ -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
Expand Down
10 changes: 6 additions & 4 deletions docs/integrations/argocd/apiops.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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}
Expand Down
14 changes: 8 additions & 6 deletions docs/integrations/azure-ad/k8s.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -89,20 +89,22 @@ 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
```

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.
Expand Down Expand Up @@ -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)

Expand Down
24 changes: 13 additions & 11 deletions docs/integrations/azure-aks/k8s.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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**.

Expand Down Expand Up @@ -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.
Expand All @@ -88,23 +88,25 @@ 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
```

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}
Expand Down Expand Up @@ -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:
Expand All @@ -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
Expand Down
25 changes: 13 additions & 12 deletions docs/integrations/consul/k8s.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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.

Expand Down Expand Up @@ -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.

Expand All @@ -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:
Expand All @@ -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
Expand All @@ -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 \
Expand All @@ -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}
Expand Down Expand Up @@ -219,7 +220,7 @@ spec:
name: frontend
sources:
- action: allow
name: ngrok-ingress-controller
name: ngrok-operator
```

```yaml
Expand All @@ -232,7 +233,7 @@ spec:
sources:
- name: frontend
action: allow
- name: ngrok-ingress-controller
- name: ngrok-operator
action: allow
destination:
name: public-api
Expand Down
Loading