프로젝트 소개
이 저장소는 단일 홈 쿠버네티스 클러스터를 위한 공개 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 컨트롤러.
- 무선, 항공 및 날씨 워크로드: AREDN mesh 서비스, dump978, piaware, ultrafeeder, rtl-433, trunk-recorder, rdio-scanner, weewx, 전천 카메라 및 mesonet 카메라 데이터용 이미지 스크레이퍼.
- 백업 및 복구: 여러 restic 기반 작업, etcd 백업 및 정리 CronJob, 앱별 restic HelmRelease가 포함된 backup-sync 네임스페이스.
- Minecraft, Mindustry, Path of Titans 같은 게임 및 취미 서비스와 CyberChef, GoLink, Healthchecks, iperf3, OpenSpeedTest 같은 기타 유틸리티.
사용 방식
이 저장소는 재사용 가능한 제품이라기보다는 개인의 취향이 반영된 배포입니다. 다양한 자체 호스팅 서비스를 Flux 관리 HelmRelease로 구성하는 방법, 앱, 서비스, 인프라 간에 네임스페이스를 분리하는 방법, 각 애플리케이션과 함께 지원 데이터베이스 및 백업을 연결하는 방법에 대한 참고 자료로 가장 유용합니다. 이 구성을 적용하려면 호스트 이름, 비밀, 스토리지 클래스, 참조된 Helm 차트 소스를 자신의 환경에 맞게 교체해야 합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.