Sobre o projeto
itsUP é uma stack de infraestrutura doméstica baseada em Python que automatiza o gerenciamento de serviços Docker com foco em implantações sem downtime e segurança.
Ela gerencia uma stack de rede completa, incluindo resolução DNS, proxy reverso Traefik e cargas de trabalho de contêineres — tudo orquestrado a partir de uma estrutura de diretórios baseada em projetos. Cada projeto de serviço tem seu próprio docker-compose.yml e arquivo de configuração, mantendo a infraestrutura como código organizada e versionável.
Principais capacidades:
- **Implantações sem downtime**: usa docker rollout para escalar contêineres, aguardar verificações de integridade e então substituir instâncias antigas. A detecção inteligente de mudanças ignora implantações quando nada mudou.
- **Proxy gerenciado**: gera configuração do Traefik com SO_REUSEPORT para atualizações contínuas. Suporta terminação TLS, passthrough TLS, encaminhamento TCP/UDP e vinculação de portas do host.
- **Monitor de Segurança de Contêineres**: detecta contêineres comprometidos correlacionando consultas DNS com conexões IP diretas. Integra-se ao OpenSnitch para bloqueio opcional via iptables.
- **Honeypot de DNS**: encaminha todo o tráfego DNS dos contêineres através do dnsmasq com registro para detecção de ameaças.
- **Backups automatizados**: backups noturnos no S3 com restaurações agendadas.
- **Inteligência de ameaças**: relatórios diários via integração com a API AbuseIPDB.
- **Servidor OpenVPN**: suporte a VPN integrado com acesso SSH.
A CLI itsup é a interface principal, com comandos para init, apply, validate e gerenciamento de dns/proxy/svc/monitor. Timers do systemd cuidam da inicialização no boot, apply noturno, backups e verificações de integridade no Linux. No macOS, agentes launchd fornecem automação semelhante.
Os pré-requisitos incluem Docker com o plugin rollout, uv para gerenciamento de dependências Python, encaminhamento de portas para 80/443 e um domínio DNS curinga. A configuração usa SOPS/age para criptografia de segredos, com repositórios git separados para projetos e segredos.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.