Skip to content

K8S Dev Infrastructure

Description

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.

Quick Start

  • Install prerequisites
  • Install Lens (optionally)
  • Prerequisites
    • Edit you hosts file: add domain names
    • Generate root certificate with mkcert as admin
    • Run generate_certificate.ps1
    • check docker network subnet range (adjust in main.tf -> variable)
  • Run local cluster
    • cluster k3d with terraform init + apply
  • Deploy services
    • Edit the terraform.tfvars to your liking
    • Deploy services: terraform init + terraform apply

Components

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