Arquitetura

Visao Geral

O Implant e um binario unico escrito em Rust que executa verificacoes de conformidade em servidores Linux.

┌─────────────────────────────────────────────────────────┐
│                      IMPLANT CLI                         │
├─────────────────────────────────────────────────────────┤
│                                                          │
│   main.rs                                                │
│   ├── check ──────────────► Modulos de Verificacao       │
│   ├── ssh-key ────────────► SSH Key Management           │
│   ├── install ────────────► Apps do Ecossistema          │
│   ├── setup-claudecode ──► Usuario Claude Code           │
│   ├── update-guardrail ──► Guard-rail CLAUDE.md          │
│   └── self-update ───────► Auto-atualizacao              │
│                                                          │
├─────────────────────────────────────────────────────────┤
│                    MODULOS                                │
│                                                          │
│   fundamentals.rs  │ SSH, NTP, timezone, locale, swap    │
│   hardening.rs     │ Fail2Ban, kernel, servicos          │
│   docker.rs        │ Engine, Compose, networks, logs     │
│   network.rs       │ DNS, conectividade, portas          │
│   monitoring.rs    │ Logrotate, journald                 │
│   ssh_key.rs       │ authorized_keys management          │
│   apps.rs          │ DeployAlly, Runner, Claude Code     │
│   claudecode.rs    │ Setup usuario dedicado              │
│   guardrail.rs     │ Guard-rail management               │
│                                                          │
├─────────────────────────────────────────────────────────┤
│                  INFRAESTRUTURA                          │
│                                                          │
│   executor.rs      │ Execucao de comandos (dry-run)      │
│   config.rs        │ Configuracao                        │
│   report.rs        │ Relatorio de conformidade           │
│   system.rs        │ Deteccao de distro/versao           │
│                                                          │
└─────────────────────────────────────────────────────────┘

Fluxo de Execucao

Comando `check`

1. Detectar distro e versao
2. Para cada modulo habilitado:
   a. Executar verificacoes
   b. Se --auto-fix: aplicar correcoes
   c. Registrar resultado no relatorio
3. Gerar relatorio final

CommandExecutor

Todas as operacoes passam pelo CommandExecutor que:

  • Em modo normal: executa o comando
  • Em modo --dry-run: apenas loga o que SERIA executado
  • Em modo --verbose: mostra output detalhado

Distribuicao

GitOps

O Implant usa GitOps para distribuicao via CDN:

Build local (cargo build --release)
    │
    ▼
Commit binario em dev
    │
    ▼
Merge dev → main + tag vX.Y.Z
    │
    ▼
GitHub Release (ZIP com binario)
    │
    ▼
GitOps processa release
    │
    ▼
Upload para B2 (CDN)
    │
    ▼
Disponivel em https://implant.ccs.systems/implant

Self-Update

O binario se atualiza baixando a versao mais recente do CDN e substituindo a si mesmo.

Tecnologias

Componente Tecnologia
Linguagem Rust (Edition 2021)
Runtime Tokio (async)
CLI Clap v4
HTTP Reqwest
Serialization Serde JSON
Logging Tracing
Output Colored