ngrok-operator

command module
v0.0.0-...-c9caeee Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2026 License: MIT Imports: 1 Imported by: 0

README

ngrok Logo Kubernetes logo

CI Status License Status Gateway API Supported Twitter Artifacthub

ngrok Kubernetes Operator

Leverage ngrok for your ingress in your Kubernetes cluster. Instantly add load balancing, authentication, and observability to your services via ngrok Cloud Edge modules using Custom Resource Definitions (CRDs) and Kubernetes-native tooling. This repo contains both our Kubernetes Ingress Controller and the Kubernetes Gateway API

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

Note

The ngrok-operator is production-ready and supported for use in production environments. However, it is currently pre-1.0.0, and as such, the public API (including helm values and CRDs) should be considered unstable.

While we aim to minimize disruption, breaking changes may be introduced in minor or patch releases prior to the 1.0.0 release. Users are encouraged to pin versions and review release notes when upgrading.

Installation

Helm

Note We recommend using the Helm chart to install the operator for a better upgrade experience.

Add the ngrok Kubernetes Operator Helm chart:

helm repo add ngrok https://charts.ngrok.com

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

export NAMESPACE=[YOUR_K8S_NAMESPACE]
export NGROK_ACCESS_TOKEN=[PERSONAL_ACCESS_TOKEN]

helm install ngrok-operator ngrok/ngrok-operator \
  --namespace $NAMESPACE \
  --create-namespace \
  --set credentials.accessToken=$NGROK_ACCESS_TOKEN

** Note ** You can create an access token in your ngrok dashboard. The ngrok Kubernetes Operator uses it to authenticate with ngrok and configure and run your network ingress traffic at the edge.

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

Gateway API

To enable using the ngrok-operator with the Kubernetes Gateway API, you need to install the Gateway CRDs if you haven't already, and then include ngrok.features.gateway.enabled in your helm --set or values.yaml.

See the Kubernetes Gateway API Quickstart for setup and installation steps.

YAML Manifests

Apply the sample combined manifest from our repo:

kubectl apply -n ngrok-operator \
  -f https://raw.githubusercontent.com/ngrok/ngrok-operator/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 Kubernetes Operator can be found on our k8s docs

Uninstalling

For guidance on safely uninstalling the operator, including cleanup of ngrok API resources and finalizers, see the Uninstall Guide.

Known Issues

  1. Current issues can be found in the GitHub issues. Known/suspected bugs are labeled as bug.

Support

The best place to get support using the ngrok Kubernetes Operator is by opening an issue. For account or billing questions, contact ngrok support. If you find bugs or would like to contribute code, please follow the instructions in the contributing guide.

License

The ngrok Kubernetes Operator is licensed under the terms of the MIT license.

See LICENSE for details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
bindings/v1alpha1
Package v1alpha1 contains API Schema definitions for the bindings v1alpha1 API group +kubebuilder:object:generate=true +groupName=bindings.k8s.ngrok.com
Package v1alpha1 contains API Schema definitions for the bindings v1alpha1 API group +kubebuilder:object:generate=true +groupName=bindings.k8s.ngrok.com
ingress/v1alpha1
Package v1alpha1 contains API Schema definitions for the ingress v1alpha1 API group +kubebuilder:object:generate=true +groupName=ingress.k8s.ngrok.com
Package v1alpha1 contains API Schema definitions for the ingress v1alpha1 API group +kubebuilder:object:generate=true +groupName=ingress.k8s.ngrok.com
ngrok/v1
Package v1 contains API Schema definitions for the ngrok.com/v1 API group.
Package v1 contains API Schema definitions for the ngrok.com/v1 API group.
ngrok/v1alpha1
Package v1alpha1 contains API Schema definitions for the ngrok v1alpha1 API group +kubebuilder:object:generate=true +groupName=ngrok.k8s.ngrok.com
Package v1alpha1 contains API Schema definitions for the ngrok v1alpha1 API group +kubebuilder:object:generate=true +groupName=ngrok.k8s.ngrok.com
internal
annotations/testutil
Test Utilities for Ingress Annotations
Test Utilities for Ingress Annotations
controller
Package controller contains controller utilities.
Package controller contains controller utilities.
controller/gateway
MIT License
MIT License
controller/ngrok
MIT License
MIT License
controller/privateendpoints
Package privateendpoints reconciles PrivateEndpoint CRs from the ngrok API and wires them to in-cluster Services.
Package privateendpoints reconciles PrivateEndpoint CRs from the ngrok API and wires them to in-cluster Services.
controller/service
MIT License
MIT License
deprecation
Package deprecation emits user-visible signals when deprecated k8s.ngrok.com/* annotation keys are in use, so users can find and migrate their manifests before the legacy read support is removed.
Package deprecation emits user-visible signals when deprecated k8s.ngrok.com/* annotation keys are in use, so users can find and migrate their manifests before the legacy read support is removed.
drain
MIT License
MIT License
flags
Package flags defines every operator setting once: its flag name, environment variable, default and help.
Package flags defines every operator setting once: its flag name, environment variable, default and help.
flags/flagstest
Package flagstest helps tests that read settings from the environment.
Package flagstest helps tests that read settings from the environment.
healthcheck
healthcheck is a package that provides a simple health check interface for services via a singleton instance
healthcheck is a package that provides a simple health check interface for services via a singleton instance
ippolicy
Package ippolicy holds the kind-agnostic contract shared by the canonical ngrok.com/v1 IPPolicy and the deprecated ingress.k8s.ngrok.com/v1alpha1 IPPolicy, following the same shape as internal/trafficpolicy for the TrafficPolicy kind + group migration (see docs/developer-guide/passivity-shims.md §"Per-shim catalog: TrafficPolicy CRD kind + group rename" — IPPolicy follows the same LEGACY-KIND-MIGRATION pattern documented there, tagged LEGACY-ippolicy-kind).
Package ippolicy holds the kind-agnostic contract shared by the canonical ngrok.com/v1 IPPolicy and the deprecated ingress.k8s.ngrok.com/v1alpha1 IPPolicy, following the same shape as internal/trafficpolicy for the TrafficPolicy kind + group migration (see docs/developer-guide/passivity-shims.md §"Per-shim catalog: TrafficPolicy CRD kind + group rename" — IPPolicy follows the same LEGACY-KIND-MIGRATION pattern documented there, tagged LEGACY-ippolicy-kind).
ir
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mux
privateendpoints
Package privateendpoints holds the naming and URL rules shared by the PrivateEndpoint poller, controller, and forwarder.
Package privateendpoints holds the naming and URL rules shared by the PrivateEndpoint poller, controller, and forwarder.
privateendpoints/forwarder
Package forwarder forwards in-cluster connections to ngrok private endpoints over private dial.
Package forwarder forwards in-cluster connections to ngrok private endpoints over private dial.
trafficpolicy
Package trafficpolicy provides shared traffic-policy resolution and condition management for endpoint controllers.
Package trafficpolicy provides shared traffic-policy resolution and condition management for endpoint controllers.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL