Tunack
Tunack is under heavy development, NOT SUITABLE FOR PRODUCTION (or at your own risks). PR are warmly welcomed
Tcp and Udp Nginx Auto Config in Kubernetes
Auto configuration service for TCP and UDP services for Kubernetes Nginx ingress manager
Getting Started
Tunack is made to be deployed in your cluster. YAML files are provided in deploy folder.
Prerequisites
You need to have Nginx ingress manager fully functionnal (doc)
Installing
kubectl apply -f https://raw.githubusercontent.com/mafzst/tunack/v0.1.0/deploy/with-rbac.yaml
It will create a deployement in ingress-nginx
namespace
Usage
Tunack uses annotations in services to detect ports to expose.
Synopsis
tunack.dahus.io/[protocol]-service-[proxyPort]: [servicePort]
-
protocol:
tcp|udp
: Specify service type - proxyPort: Port to export to outside (ie. public port)
- servicePort: Target service port (ie. port on which your service is listening to)
ONLY TCP IS IMPLEMENTED YET
Example
apiVersion: v1
kind: Service
metadata:
name: my-tcp-service
annotations:
- tunack.dahus.io/tcp-service-3000: 80
spec:
ports:
- port: 80
targetPort: 8080
selector:
app: my-tcp-service
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Nicolas Perraut - Initial work - Dahus
See also the list of contributors who participated in this project.
License
This project is licensed under the GNU GPLv3 License - see the LICENSE file for details
Acknowledgments
- Kubernetes client-go contributors