このプロジェクトについて

このリポジトリは、単一のホーム Kubernetes クラスタのための公開 GitOps 設定です。各ディレクトリが名前空間に対応するように構成されており、ほとんどのアプリケーションは、別のチャートリポジトリで保守されている共有の app Helm チャートを通じてデプロイされます。クラスタ自体は Talos 上で動作し、そのマシン設定は関連リポジトリで公開されています。 含まれるもの - 多数の名前空間とその内部のワークロードの一覧。リソース種別(主に HelmRelease、一部に GitRepository や CronJob)や、PostgreSQL、Redis/Valkey、restic バックアップジョブなどの補助サービスが記載されています。 - 複数の分野にまたがるアプリケーション名前空間: メディア(Jellyfin、Immich、Tdarr、nginx-rtmp)、ドキュメントとナレッジ(Paperless-ngx、Atuin、Tandoor、KOReader sync)、ID とシークレット(Authentik、Vaultwarden)、コラボレーション(Mattermost、Gitea)、監視と可観測性(Prometheus、metrics-server、json-exporter、ping-exporter、kromgo)、ストレージ(Longhorn、MinIO、CSI snapshotter)。 - クラスタ基盤のためのインフラストラクチャ名前空間: cert-manager、CloudNativePG、Envoy Gateway、external-dns、Tailscale operator と peer relay、Kyverno ポリシー適用、descheduler、reloader、reflector、複数の runner scale set を持つ GitHub Actions runner controllers。 - 無線、航空、気象ワークロード: AREDN メッシュサービス、dump978、piaware、ultrafeeder、rtl-433、trunk-recorder、rdio-scanner、weewx、および全天カメラや mesonet カメラデータ用の image scraper。 - バックアップとリカバリ: 複数の restic ベースジョブを含む backup-sync 名前空間、etcd バックアップと prune の CronJob、アプリごとの restic HelmRelease。 - Minecraft、Mindustry、Path of Titans などのゲームやホビーサービスに加え、CyberChef、GoLink、Healthchecks、iperf3、OpenSpeedTest のような各種ユーティリティ。 使用方法 これは再利用可能な製品ではなく、個人の方針に基づくデプロイです。幅広いセルフホストサービスを Flux 管理の HelmRelease としてどのように構成するか、アプリ、サービス、インフラストラクチャの間で名前空間をどのように分離するか、各アプリケーションに合わせて補助データベースとバックアップをどのように接続するかの参考として最も役立ちます。これを適応させるには、ホスト名、シークレット、ストレージクラス、参照先の Helm チャートソースを自身のものに置き換える必要があります。