Skip to content

source code of roussev.com - a reproducible setup for deploying web apps/services on Kubernetes and Hetzner Cloud.

Notifications You must be signed in to change notification settings

nextinterfaces/roussev.com

Repository files navigation

roussev.com Website

Features

  • K3s Kubernetes cluster on Hetzner Cloud
  • Nginx Ingress Controller
  • Sample REST Service exposed publicly with HTTPS
  • Terraform for infrastructure as code
  • Let's Encrypt SSL certificates with cert-manager
  • Distributed Tracing with Jaeger and OpenTelemetry

Prerequisites

  1. Hetzner Cloud Account
  2. Hetzner API Token: Available in Hetzner Cloud Console > Security > API Tokens

Local Development

This project uses Task to common development workflows, Run task to see all available tasks.

task local:setup
task local:start

  🧊 Tilt UI:               http://localhost:10350
  🔧 Items Service:         http://localhost:8081
     - Health:              http://localhost:8081/v1/health
     - API Docs:            http://localhost:8081/docs
     - Metrics:             http://localhost:8081/metrics
  🌐 Website App:           http://localhost:8082
     - Health:              http://localhost:8082/health
  📊 Jaeger UI:             http://localhost:16686
  📦 PostgreSQL:            localhost:5432
     - Connection:          psql postgresql://{.env.POSTGRES_USER}:{.env.POSTGRES_PASSWORD}@localhost:5432/

Production URLs

Next Steps

  • Set up monitoring with Prometheus/Grafana
  • Add more worker nodes for high availability
  • Implement GitOps with ArgoCD or Flux
  • Set up automatic backups with Velero

About

source code of roussev.com - a reproducible setup for deploying web apps/services on Kubernetes and Hetzner Cloud.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages