Sobre o projeto

Este repositório é a configuração pública de GitOps para um único cluster Kubernetes doméstico. Ele é organizado de forma que cada diretório corresponda a um namespace, e a maioria dos aplicativos é implantada por meio de um Helm chart `app` compartilhado, mantido em um repositório de charts separado. O próprio cluster é executado no Talos, com sua configuração de máquinas publicada em um repositório complementar. O que ele contém - Um amplo índice de namespaces e das cargas de trabalho neles contidos, listando o tipo de recurso (principalmente HelmRelease, além de algumas entradas GitRepository e CronJob) e quaisquer serviços de apoio, como PostgreSQL, Redis/Valkey ou jobs de backup restic. - Namespaces de aplicativos que abrangem várias áreas: mídia (Jellyfin, Immich, Tdarr, nginx-rtmp), documentos e conhecimento (Paperless-ngx, Atuin, Tandoor, sincronização KOReader), identidade e segredos (Authentik, Vaultwarden), colaboração (Mattermost, Gitea), monitoramento e observabilidade (Prometheus, metrics-server, json-exporter, ping-exporter, kromgo) e armazenamento (Longhorn, MinIO, CSI snapshotter). - Namespaces de infraestrutura para a base do cluster: cert-manager, CloudNativePG, Envoy Gateway, external-dns, operador Tailscale e peer relay, aplicação de políticas Kyverno, descheduler, reloader, reflector e controladores de GitHub Actions runner com vários runner scale sets. - Cargas de trabalho de rádio, aviação e meteorologia: serviços de malha AREDN, dump978, piaware, ultrafeeder, rtl-433, trunk-recorder, rdio-scanner, weewx e capturadores de imagens para dados de câmeras all-sky e mesonet. - Backup e recuperação: um namespace backup-sync com vários jobs baseados em restic, CronJobs de backup e limpeza do etcd, e HelmReleases restic por aplicativo. - Serviços de jogos e hobbies, como Minecraft, Mindustry e Path of Titans, além de utilitários diversos como CyberChef, GoLink, Healthchecks, iperf3 e OpenSpeedTest. Como é usado Trata-se de uma implantação pessoal e opinativa, não de um produto reutilizável. É mais útil como referência de como um amplo conjunto de serviços auto-hospedados pode ser estruturado como HelmReleases gerenciados pelo Flux, como os namespaces são separados entre aplicativos, serviços e infraestrutura, e como bancos de dados e backups de apoio são integrados a cada aplicativo. Adaptá-lo exigiria substituir nomes de host, segredos, classes de armazenamento e as fontes de charts Helm referenciadas pelos seus próprios.