Sobre o projeto

O Homelab do Khue é um projeto open-source que automatiza todo o ciclo de vida de um ambiente homelab, desde o provisionamento bare metal até a execução de serviços self-hosted, usando princípios de Infrastructure as Code e GitOps. O projeto está atualmente em status ALPHA e é projetado como uma estrutura altamente personalizável para construir homelabs pessoais. O fluxo de trabalho principal começa com provisionamento bare metal baseado em PXE boot, que instala automaticamente o Fedora Server em máquinas físicas. Em seguida, configura uma distribuição leve de Kubernetes (K3s) e implanta uma pilha abrangente de aplicativos self-hosted usando ArgoCD para implantação contínua baseada em GitOps. Os principais recursos incluem: - **Provisionamento Bare Metal**: Configuração automatizada de PXE boot que provisiona servidores físicos sem intervenção manual. - **Gerenciamento de Kubernetes**: Instalação e gerenciamento automatizados de clusters K3s com atualizações contínuas automáticas para o sistema operacional e Kubernetes. - **Implantação de Aplicativos GitOps**: Os aplicativos são implantados e gerenciados via GitOps usando ArgoCD, com suporte para atualizações automáticas (com portões de aprovação). - **Rede e Segurança**: Suporte a VPN via Tailscale ou Wireguard, gerenciamento automatizado de certificados com cert-manager e exposição segura à internet através do Cloudflare Tunnel. - **CI/CD**: Woodpecker CI integrado para integração contínua e ArgoCD para implantação contínua. - **Armazenamento**: Armazenamento distribuído usando Rook Ceph para armazenamento nativo em nuvem dentro do Kubernetes. - **Monitoramento e Alertas**: Pilha completa de observabilidade com Prometheus, Grafana e Loki para métricas, painéis e agregação de logs. - **Gerenciamento de Identidade**: Suporte a single sign-on via Kanidm. - **Automação de DNS**: ExternalDNS atualiza automaticamente os registros DNS para serviços expostos. - **Backup e Restauração**: Recursos automatizados de backup e restauração. - **Arquitetura Modular**: Fácil adicionar ou remover recursos e componentes. - **Suporte a Múltiplos Ambientes**: Suporta vários ambientes, como dev e prod. - **Testes de Infraestrutura**: Recursos integrados de teste de infraestrutura. A pilha de tecnologia inclui Ansible para automação bare metal, ArgoCD para GitOps, Cilium para rede e observabilidade baseada em eBPF, cert-manager para gerenciamento de certificados, Cloudflare para DNS e tunelamento, Docker para servidores PXE efêmeros, ExternalDNS para sincronização de DNS, Fedora Server como sistema operacional base, Gitea como serviço Git self-hosted, Grafana para observabilidade, Helm como gerenciador de pacotes Kubernetes, K3s como distribuição leve de Kubernetes, Kanidm para gerenciamento de identidade, Loki para agregação de logs, NGINX como controlador de Ingress Kubernetes, Nix para shells de desenvolvimento, ntfy para notificações, Prometheus para monitoramento, Renovate para atualizações de dependências, Rook Ceph para armazenamento, Tailscale e Wireguard para VPN, Woodpecker CI para CI/CD e Zot Registry para registro de contêineres privado. O projeto pode ser testado localmente sem hardware (modo sandbox) ou implantado em hardware real para cargas de trabalho de produção. A documentação está disponível em homelab.khuedoan.com. O projeto é licenciado sob GPLv3 e aceita contribuições. É inspirado em vários projetos open-source e recursos da comunidade no espaço de homelab e self-hosting.