ngrok
Versions Supported
- 0.9.x
Configure Ingress Service Definition
To use the ngrok Ingress Controller pack, first create a new add-on cluster profile, search for the ngrok Ingress Controller pack, and overwrite the default pack configuration with your API key and authentication token like the following example YAML content:
charts:
  kubernetes-ingress-controller:
    ...
    credentials:
      apiKey: API_KEY
      authtoken: AUTHTOKEN
Next, you must create an ingress service definition for your application, which requires a new manifest layer. Click on the Add Manifest button to create a new manifest layer.
The following YAML content demonstrates an example ingress service where the ngrok Ingress Controller creates a new edge
to route traffic on your ngrok subdomain example.com to an existing example-app deployed on your Kubernetes cluster
in Palette.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  namespace: ngrok-ingress-controller
spec:
  ingressClassName: ngrok
  rules:
    - host: example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: example-app
                port:
                  number: 80
Once you have defined the ngrok Ingress Controller pack, you can add it to an existing cluster profile, as an add-on profile, or as a new add-on layer to a deployed cluster.
If you have a free ngrok account, you can only have one ngrok agent active at a time. This means that you will need to
set the number of replicas to 1 to ensure that your ngrok agent operates properly.
charts:
  kubernetes-ingress-controller:
    replicaCount: 1
Terraform
You can reference the ngrok Ingress Controller pack in Terraform with a data resource.
data "spectrocloud_registry" "public_registry" {
  name = "Public Repo"
}
data "spectrocloud_pack_simple" "ngrok-ingress" {
  name    = "ngrok-ingress-controller"
  version = "0.9.0"
  type = "operator-instance"
  registry_uid = data.spectrocloud_registry.public_registry.id
}