Personal Infra Update
Moving to Kubernetes
Previously my website hosted in multiple free services available in the Internet. For my application/development experiment finally i moved to Kubernetes cluster hosted in Vultr, since at the end of 2022.
Comparing the old and the new version.
|Website||https://dash.deno.com (Deno Deploy)||Django|
|Blog||https://prose.sh/||Django + Wagtail|
|DNS||Route 53||Cloudflare DNS|
Updated deployment diagram:
The diagram created using `diagrams` package, diagram as code https://diagrams.mingrammer.com/
Gitops, The configuration
The k8s cluster managed by Flux in Github private repository
github.com/sakti/personal-infra with alert from Flux defined as commit status.
- ingress-nginx for Ingress
- cert-manager for manage TLS cerficate from Let's Encrypt
- PGO, for PostgreSQL Operator; self managed PostgreSQL database running in k8s
- Minio, for s3 compatible storage
web; this web app (pages, blogs, etc) build using Django + Wagtail, using async as much as possible in Django and using experimental Granian a Rust HTTP server for Python app
katze; https://katze.saktidwicahyono.name, cat ascii web app from this series from fasterthanlime "Building a Rust service with Nix". This app also used for load testing target to test cache "request coalescing" from the original cat image source.
future app namespace, the next application/system experiment
- k8s cluster monitored by Grafana
weberror tracking monitored using Sentry
katzetracing managed by Honeycomb
With this migration, I am able to trade recurring monthly costs for much more flexibility in deploying my experimental apps.