프로젝트 소개

Khue's Homelab는 인프라 코딩(IaC)과 GitOps 원칙을 활용하여 홈랩 환경의 전체 라이프사이클을 자동화하는 오픈소스 프로젝트입니다. 현재 알파 단계에 있으며, 개인 홈랩 구축을 위한 높은 커스터마이징 가능성을 갖춘 프레임워크로 설계되었습니다. 핵심 워크플로는 PXE 부팅 기반의 물리 서버 프로비저닝으로 시작됩니다. 이를 통해 물리적 머신에 Fedora Server가 자동으로 설치되고, 경량 Kubernetes 배포판인 K3s가 설정되며, ArgoCD를 사용한 GitOps 기반 지속적 배포를 통해 포괄적인 자체 호스팅 애플리케이션 스택이 전개됩니다. 주요 기능은 다음과 같습니다: - **물리 서버 프로비저닝**: 수동 개입 없이 물리 서버를 자동으로 프로비저닝하는 PXE 부팅 자동화. - **Kubernetes 관리**: OS 및 Kubernetes 모두에 대한 자동 롤링 업그레이드를 포함한 K3s 클러스터의 자동 설치 및 관리. - **GitOps 애플리케이션 배포**: 승인 게이트를 지원하며 자동 업데이트 기능을 갖춘 ArgoCD를 통한 GitOps 기반 애플리케이션 관리. - **네트워킹 및 보안**: Tailscale 또는 Wireguard를 통한 VPN 지원, cert-manager를 사용한 인증서 자동 관리, Cloudflare Tunnel을 통한 안전한 인터넷 노출. - **CI/CD**: Woodpecker CI를 통한 지속적 통합 및 ArgoCD를 통한 지속적 배포. - **스토리지**: Kubernetes 내 클라우드 네이티브 스토리지를 위한 Rook Ceph 분산 스토리지. - **모니터링 및 알림**: 메트릭, 대시보드, 로그 집계용 Prometheus, Grafana, Loki로 구성된 완전한 관측성 스택. - **아이덴티티 관리**: Kanidm을 통한 단일 로그인(SSO) 지원. - **DNS 자동화**: 노출된 서비스에 대한 DNS 레코드 자동 업데이트를 위한 ExternalDNS. - **백업 및 복원**: 자동화된 백업 및 복원 기능. - **모듈식 아키텍처**: 기능 및 컴포넌트의 쉬운 추가 또는 제거. - **다중 환경 지원**: 개발 및 프로덕션 등 여러 환경 지원. - **인프라 테스트**: 내장된 인프라 테스트 기능. 기술 스택에는 Ansible(물리 서버 자동화), ArgoCD(GitOps), Cilium(eBPF 기반 네트워킹 및 관측성), cert-manager(인증서 관리), Cloudflare(DNS 및 터널링), Docker(PXE 서버용), ExternalDNS(DNS 동기화), Fedora Server(베이스 OS), Gitea(자체 호스팅 Git 서비스), Grafana(관측성), Helm(Kubernetes 패키지 관리자), K3s(경량 Kubernetes), Kanidm(아이덴티티 관리), Loki(로그 집계), NGINX(Ingress 컨트롤러), Nix(개발 쉘), ntfy(알림), Prometheus(모니터링), Renovate(종속성 업데이트), Rook Ceph(스토리지), Tailscale/Wireguard(VPN), Woodpecker CI(CI/CD), Zot Registry(개인 컨테이너 레지스트리) 등이 포함됩니다. 이 프로젝트는 하드웨어 없이 로컬에서 샌드박스 모드로 시도하거나 실제 하드웨어에 배포하여 프로덕션 워크로드에 사용할 수 있습니다. 문서는 homelab.khuedoan.com에서 확인할 수 있습니다. 프로젝트는 GPLv3 라이선스를 따르며 기여를 환영합니다. 홈랩 및 자체 호스팅 분야의 다양한 오픈소스 프로젝트와 커뮤니티 리소스에서 영감을 받았습니다.