Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngrok/ngrok-operator
The official ngrok Kubernetes Operator
https://github.com/ngrok/ngrok-operator
api-gateway gateway-api ingress-controller kubernetes ngrok reverse-proxy
Last synced: 15 days ago
JSON representation
The official ngrok Kubernetes Operator
- Host: GitHub
- URL: https://github.com/ngrok/ngrok-operator
- Owner: ngrok
- License: mit
- Created: 2022-07-21T23:35:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-20T05:47:55.000Z (26 days ago)
- Last Synced: 2024-12-25T04:54:57.529Z (21 days ago)
- Topics: api-gateway, gateway-api, ingress-controller, kubernetes, ngrok, reverse-proxy
- Language: Go
- Homepage: https://ngrok.com
- Size: 3.07 MB
- Stars: 209
- Watchers: 18
- Forks: 27
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-repositories - ngrok/ngrok-operator - The official ngrok Kubernetes Operator (Go)
README
# ngrok Kubernetes Operator
Leverage [ngrok](https://ngrok.com/) 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](https://kubernetes.io/docs/concepts/services-networking/ingress/) and the [Kubernetes Gateway API](https://gateway-api.sigs.k8s.io/)
[Installation](#installation) | [Getting Started](https://ngrok.com/docs/using-ngrok-with/k8s/) | [Documentation](#documentation) | [Developer Guide](https://github.com/ngrok/ngrok-operator/blob/main/docs/developer-guide/README.md) | [Known Issues](#known-issues)
## 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:
```sh
helm repo add ngrok https://charts.ngrok.com
```Then, install the latest version (setting the appropriate values for your environment):
```sh
export NAMESPACE=[YOUR_K8S_NAMESPACE]
export NGROK_AUTHTOKEN=[AUTHTOKEN]
export NGROK_API_KEY=[API_KEY]helm install ngrok-operator ngrok/ngrok-operator \
--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] (https://dashboard.ngrok.com/get-started/setup). The ngrok Kubernetes Operator uses them 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](https://ngrok.com/docs/using-ngrok-with/k8s/) guide.
#### Gateway API Preview
To install the developer preview of the gateway api we'll make the following changes to the above instructions.
Install the v1 gateway CRD before the helm installation.
```sh
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml
```Then, during the helm install set the experimental gateway flag.
```sh
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 # gateway preview
```
### YAML ManifestsApply the [sample combined manifest](manifest-bundle.yaml) from our repo:
```sh
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](https://ngrok.com/docs/using-ngrok-with/k8s/) guide.
## Documentation
The full documentation for the ngrok Kubernetes Operator can be found on our [k8s docs](https://ngrok.com/docs/k8s/)
## 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 can be found in the GitHub issues. [Known/suspected bugs](https://github.com/ngrok/ngrok-operator/issues?q=is%3Aopen+is%3Aissue+label%3Abug) are labeled as `bug`.
## Support
The best place to get support using the ngrok Kubernetes Operator is through the [ngrok Slack Community](https://ngrok.com/slack). If you find bugs or would like to contribute code, please follow the instructions in the [contributing guide](./docs/CONTRIBUTING.md).
## License
The ngrok Kubernetes Operator is licensed under the terms of the MIT license.
See [LICENSE](./LICENSE.txt) for details.