Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

ngrok/kubernetes-ingress-controller

Repository files navigation

ngrok Logo Kubernetes logo

CI Status License Status Slack Twitter

ngrok Kubernetes Ingress Controller

Leverage ngrok for your Kubernetes Ingress. Instantly add load balancing, authentication, and observability to your services via ngrok Cloud Edge modules using Custom Resource Definitions (CRDs) and Kubernetes-native tooling.

Installation | Getting Started | Documentation | Developer Guide | Known Issues

Installation

Helm

Note We recommend using the Helm chart to install the controller for a better experience for upgrades.

Add the ngrok Ingress Controller Helm chart:

helm repo add ngrok https://ngrok.github.io/kubernetes-ingress-controller

Then, install the latest version (setting the appropriate values for your environment):

export NAMESPACE=[YOUR_K8S_NAMESPACE]
export NGROK_AUTHTOKEN=[AUTHTOKEN]
export NGROK_API_KEY=[API_KEY]

helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \
  --namespace $NAMESPACE \
  --create-namespace \
  --set credentials.apiKey=$NGROK_API_KEY \
  --set credentials.authtoken=$NGROK_AUTHTOKEN

Note The values for NGROK_API_KEY and NGROK_AUTHTOKEN can be found in your ngrok dashboard and are used by your ingress controller to authenticate with ngrok for configuring and running your network ingress traffic at the edge.

For a more in-depth installation guide follow our step-by-step Getting Started guide.

YAML Manifests

Apply the sample combined manifest from our repo:

kubectl apply -n ngrok-ingress-controller \
  -f https://raw.githubusercontent.com/ngrok/kubernetes-ingress-controller/main/manifest-bundle.yaml

For a more in-depth installation guide follow our step-by-step Getting Started guide.

Documentation

The full documentation for the ngrok Ingress Controller can be found under the docs directory. Pull requests for corrections and additions are always welcomed.

Guides and Tutorials

  • Deployment Guide: for installing the controller for the first time
  • User Guide: for an in depth view of the ngrok ingress configuration options and primitives
  • Examples: for examples of how to configure ingress in different scenarios (e.g. Hello World, Consul, OAuth, etc.)
  • Developer Guide: for those interested in contributing to the project

Known Issues

Note

This project is currently in beta as we continue testing and receiving feedback. The functionality and CRD contracts may change. It is currently used internally at ngrok for providing ingress to some of our production workloads.

  1. Current issues of concern for production workloads are being tracked here and here.

Support

The best place to get support using the ngrok Ingress Controller is through the ngrok Slack Community. If you find bugs or would like to contribute code, please follow the instructions in the contributing guide.

License

The ngrok ingress controller is licensed under the terms of the MIT license.

See LICENSE for details.

About

The official ngrok Ingress Controller for Kubernetes

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.2%
  • Makefile 2.0%
  • Shell 1.8%
  • Other 1.0%