Tunack

Kubernetes nginx ingress controller tcp/udp auto configuration

Tunack

:warning: 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