À propos du projet

Ce dépôt est la configuration GitOps publique d'un unique cluster Kubernetes domestique. Il est organisé de sorte que chaque répertoire corresponde à un espace de noms, et la plupart des applications sont déployées via une chart Helm `app` partagée, maintenue dans un dépôt de charts distinct. Le cluster lui-même s'exécute sur Talos, sa configuration machine étant publiée dans un dépôt compagnon. Ce qu'il contient - Un index important d'espaces de noms et des charges de travail qu'ils renferment, indiquant le type de ressource (principalement des HelmRelease, ainsi que quelques entrées GitRepository et CronJob) et les services de support tels que PostgreSQL, Redis/Valkey ou des tâches de sauvegarde restic. - Des espaces de noms d'applications couvrant plusieurs domaines : médias (Jellyfin, Immich, Tdarr, nginx-rtmp), documents et connaissances (Paperless-ngx, Atuin, Tandoor, synchronisation KOReader), identité et secrets (Authentik, Vaultwarden), collaboration (Mattermost, Gitea), surveillance et observabilité (Prometheus, metrics-server, json-exporter, ping-exporter, kromgo), et stockage (Longhorn, MinIO, CSI snapshotter). - Des espaces de noms d'infrastructure pour les composants techniques du cluster : cert-manager, CloudNativePG, Envoy Gateway, external-dns, opérateur Tailscale et relais pair à pair, application de politiques Kyverno, descheduler, reloader, reflector, ainsi que les contrôleurs GitHub Actions runner avec plusieurs ensembles de runners mis à l'échelle. - Des charges de travail radio, aéronautiques et météorologiques : services maillés AREDN, dump978, piaware, ultrafeeder, rtl-433, trunk-recorder, rdio-scanner, weewx, et des collecteurs d'images pour les données de caméras plein ciel et mesonet. - Sauvegarde et récupération : un espace de noms backup-sync avec plusieurs tâches basées sur restic, des CronJobs de sauvegarde et d'élagage etcd, et des HelmReleases restic propres à chaque application. - Des services de jeux et de loisirs tels que Minecraft, Mindustry et Path of Titans, ainsi que des utilitaires divers comme CyberChef, GoLink, Healthchecks, iperf3 et OpenSpeedTest. Utilisation Il s'agit d'un déploiement personnel et assumé plutôt que d'un produit réutilisable. Il est surtout utile comme référence pour structurer un large éventail de services auto-hébergés sous forme de ressources HelmRelease gérées par Flux, pour séparer les espaces de noms entre applications, services et infrastructure, et pour raccorder bases de données et sauvegardes à chaque application. L'adapter nécessiterait de remplacer les noms d'hôte, les secrets, les classes de stockage et les sources de charts Helm référencées par les vôtres.