Embarking on a secure journey in Kubernetes.
KubeVoyage
is a Kubernetes authentication proxy designed to streamline user access to various sites. Built with a Svelte frontend, a Go backend, and an SQL database, it offers a robust solution for managing user access in a Kubernetes environment.
- User Management: Admins can grant or deny access to users.
- Two Roles: Users can either be admins with full access or regular users with specific site access.
- SSO Integration: Single Sign-On with platforms like Google, GitHub, and Microsoft.
- Helm Deployment: Easily deploy on Kubernetes using the provided Helm chart.
- Go (version 1.x+)
- Node.js and npm
- Kubernetes cluster (for deployment)
- Helm (for deployment)
- traefik > 3.0
add annotation `` to your ingress
or for easier usage you can add the annotation kubevoyage-auth=true
to your ingress if you use the accompanying
kubernetes operator. The operator automatically generates the necessary middleware
and ingress annotation.
-
Clone the Repository:
git clone https://github.com/B-urb/kubevoyage.git cd kubevoyage
-
Backend Setup:
Navigate to the backend directory and fetch the required Go modules:
cd backend go mod download
-
Frontend Setup:
Navigate to the frontend directory and install the required npm packages:
cd frontend npm install
-
Backend:
From the backend directory:
go run .
-
Frontend:
From the frontend directory:
npm run dev
Visit http://localhost:8080
in your browser.
Use the provided Helm chart to deploy KubeVoyage
to your Kubernetes cluster:
helm repo add github-burban https://B-urb.github.io/KubeVoyage/
helm install kubevoyage github-burban/kubevoyage
To run tests for the backend:
cd backend
go test ./...
Pull requests are welcome! For major changes, please open an issue first to discuss what you'd like to change.
This project is licensed under the MIT License - see the LICENSE file for details.