https://github.com/twingate/kubernetes-operator
Twingate Kubernetes Operator allows configuring Twingate using Kubernetes assets - OSS
https://github.com/twingate/kubernetes-operator
gitops helm kubernetes kubernetes-operator python twingate
Last synced: about 2 months ago
JSON representation
Twingate Kubernetes Operator allows configuring Twingate using Kubernetes assets - OSS
- Host: GitHub
- URL: https://github.com/twingate/kubernetes-operator
- Owner: Twingate
- License: mpl-2.0
- Created: 2023-10-20T18:02:56.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-05T13:26:43.000Z (2 months ago)
- Last Synced: 2025-09-05T15:31:48.412Z (2 months ago)
- Topics: gitops, helm, kubernetes, kubernetes-operator, python, twingate
- Language: Python
- Homepage: https://www.twingate.com
- Size: 2.75 MB
- Stars: 36
- Watchers: 10
- Forks: 9
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Twingate Kubernetes Operator
[](https://github.com/Twingate/kubernetes-operator/actions/workflows/ci.yaml)
[](https://coveralls.io/github/Twingate/kubernetes-operator?branch=main)
[](https://hub.docker.com/r/twingate/kubernetes-operator)
The Twingate Kubernetes Controller is a custom controller designed to automate
and manage Twingate resources within a Kubernetes environment. It provides
seamless integration between your Kubernetes clusters and the Twingate Zero
Trust Network.
[Wiki][1] | [Getting Started][2] | [API Reference][3]
[1]: https://github.com/Twingate/kubernetes-operator/wiki
[2]: https://github.com/Twingate/kubernetes-operator/wiki/Getting-Started
[3]: https://github.com/Twingate/kubernetes-operator/wiki/API-Reference
## Prerequisites
- Kubernetes cluster (1.16+)
- Twingate account and resources (Gateways, Networks, Applications, etc.)
- Twingate account setup with a `Remote Network` for the Kubernetes cluster and
connectors deployed (see [this Helm chart](https://github.com/Twingate/helm-charts)
if required)
- Twingate API token with `Read/Write/Provision` permissions - this can be generated in the Twingate Admin Console
## Installation
### Helm via OCI (recommended)
The operator's helm chart is published to the following OCI repository:
`oci://ghcr.io/twingate/helmcharts/twingate-operator`
Follow these steps to install the operator:
[default-values-yaml]: https://github.com/Twingate/kubernetes-operator/blob/main/deploy/twingate-operator/values.yaml
1. Create a custom `values.yaml` (You can start by copying the [default values .yaml file][default-values-yaml]):
1. Edit the settings in the file and specifically `twingateOperator`.
1. Deploy (add `-n [namespace]` if you want to install to a specific namespace):
```bash
helm upgrade twop oci://ghcr.io/twingate/helmcharts/twingate-operator --install --wait -f ./values.yaml
```
### Helm by cloning the git repository
1. Clone this repository to your local machine.
1. Use the `helm` chart in `./deploy/twingate-operator`:
1. Create a custom `values.yaml`:
```bash
cp ./deploy/twingate-operator/values.yaml ./deploy/twingate-operator/values.local.yaml
```
1. Edit the settings (`twingateOperator` specifically) in
`./deploy/twingate-operator/values.local.yaml`
1. Deploy (add `-n [namespace]` if you want to install to a specific namespace):
```bash
helm upgrade twop ./deploy/twingate-operator --install --wait -f ./deploy/twingate-operator/values.local.yaml
```
### Upgrading Chart
With Helm v3, CRDs created by this chart are not updated by default
and should be manually updated.
Consult also the [Helm Documentation on CRDs](https://helm.sh/docs/chart_best_practices/custom_resource_definitions).
See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation.
## Changelog
See [CHANGELOG](./CHANGELOG.md)
## Support
- For general issues using this operator please open a GitHub issue.
- For account specific issues, please visit the [Twingate forum](https://forum.twingate.com/)
or open a [support ticket](https://help.twingate.com/)
## Developers
See [developer guide](./DEVELOPER.md)