This repository contains a kubernetes dev infrastructure, providing both crosscutting concerns as well as Saas services. This is provided through terraform scripts deploying (mostly) helm charts and custom configuration.
| Category | Service | Description |
|---|---|---|
| Networking | traefik | Reverse Proxy |
| Networking | linkerd | Service Mesh |
| Networking | cert-manager | Certificates |
| Monitoring | seq | Logging |
| Monitoring | loki | Logging |
| Monitoring | jaeger | Tracing |
| Monitoring | tempo | Tracing |
| Monitoring | prometheus | Metrics |
| Monitoring | grafana | Dashboards |
| Monitoring | k8s dashboard | Dashboards |
| Monitoring | metrics-server | Metrics |
| Monitoring | vpa | Autoscaling |
| Monitoring | opentelemetry-collector | Telemetry Ingestion |
| Saas Cache | redis | Caching |
| Saas Cloud | localstack | AWS emulator |
| Saas Config | etcd | Key-Value service |
| Saas Config | vault | Secrets management |
| Saas Database | mongodb | Document database |
| Saas Database | mariadb | Relational database |
| Saas Database | mysql | Relational database |
| Saas Database | oracle | Relational database |
| Saas Database | postgres | Relational database |
| Saas Database | sqlserver | Relational database |
| Saas Deployment | fluxcd | GitOps |
| Saas Deployment | argocd | GitOps |
| Saas Messaging | kafka | Messaging |
| Saas Messaging | rabbitmq | Messaging |
| Saas Search | elasticsearch | Search Engine |
| Saas Auth | identityserver | IDP |
| Saas Auth | keycloak | IDP |
| Saas Storage | minio | S3 compatible storage |
| Saas Storage | azurite | Azure compatible storage |
| Saas Storage | docker-registry | Docker Registry |
- Install the tooling
- Install a
Dockerenvironment : Docker desktop or Rancher desktop - Install the tooling prerequisites. A couple of binaries are required to run this.
- Install Lens, a K8S GUI (optional)
- Install a
- Prepare your local setup (create certificates, DNS, a running cluster, etc..). Just follow the docs.
- Final step: Deploy!
-
edit
terraform.tfvars. You can uncomment the install booleans to choose what to install on your cluster. -
deploy services:
cd ./src/terraform terraform init terraform apply --auto-approve
-
The full docs are available at Github Pages
pip install --upgrade --user -r requirements.txt
mkdocs build
mkdocs serve