Skip to content

Wife-tolerated HomeOps driven by Kubernetes and Gitops via Flux c/o onedr0p's template.

License

Notifications You must be signed in to change notification settings

tscibilia/home-ops

Repository files navigation

kubernetes

Home-Ops Kubernetes Repository

... managed by Flux, Renovate and GitHub Actions 🤖


Talos   Kubernetes   Flux   Renovate

Status Page   Alertmanager   renovate

Age-Days  Uptime-Days  Node-Count  Pod-Count  CPU-Usage  Memory-Usage  Alerts

👋 Welcome to my Home Operations repository. This is a mono repository for my home infrastructure and Kubernetes cluster. I try to adhere to Infrastructure as Code (IaC) and GitOps practices using tools like Ansible, Terraform, Kubernetes, Flux, Renovate and GitHub Actions.


🔎 Support

If you like this project, please consider supporting the work of onedr0p and bjw-s.


☸️ Kubernetes

My Kubernetes cluster is deployed with Talos. This is a semi-hyper-converged cluster, workloads and block storage are sharing the same available resources on my nodes while I have a separate server with for NFS shares, bulk file storage and backups.

Core Components

Observability

  • alertmanager: Handles processing and sending alerts.
  • blackbox-exporter: Probe external endpoint ports for success/failure.
  • fluent-bit: Log processor.
  • gatus: High level status dashboard.
  • grafana: Data visualization platform.
  • karma: Alertmanager dashboard, based on Cloudflare's unsee.
  • keda: Autoscales containers on events (i.e. blackbox reports NFS share is down).
  • kromgo: Expose prometheus metrics "safely" to GitHub.
  • silence-operator: Manages Alertmanager silences via custom resources.
  • VictoriaLogs: Database for logs.
  • VictoriaMetrics: Time series database, drop-in replacement for Prometheus.

Cloud Services

  • aKeyless: Managing secrets via external-secrets.
  • Cloudflare: Tunnels for exposing services and DNS provider.
  • Cloudinary: Image hosting for plex newsletter posters.
  • Backblaze B2: Daily backups from volsync and cnpg.
  • Amazon SES: Sending system emails.
  • Pushover: Sending push notifications to mobile.

🤝 Thanks

This cluster comes from the people who have shared their clusters using the k8s-at-home GitHub topic. Be sure to check out the awesome Kubesearch tool for ideas on how to deploy applications or get ideas on what you can deploy.

There is a template over at onedr0p/cluster-template if you want to try and follow along with some of the practices I use here.


🔏 License

See LICENSE