DEILE
07 — Instalação & ecossistema

Da venv local ao cluster de produção.

Mesma imagem para todos os pods, três modos de uso, um orquestrador que cobre o ciclo inteiro. Multi-forge desde o primeiro deploy. Discord via bridge HTTP — sem SDK do agente exposto.

Topologia

Seis pods de núcleo + frota multi-CLI plugável.

Tudo roda em uma única imagem (deile-stack:local). O que diferencia cada pod é o entrypoint do wrapper e a whitelist de tools. A frota multi-CLI é opt-in e nasce em replicas:0.

núcleo

deile-pipeline

Monitor autônomo do forge. Tick determinístico. Sem ingress de dispatch.

deile-worker

:8766

Executa o motor DEILE em-process. Alvo HTTP do pipeline.

claude-worker

:8767

Executa o Claude Code CLI em workdirs isolados. Cost-cap + JSONL ledger.

deile-monitor

:8769

Supervisor 24/7 do cluster. Determinístico em Fase A, LLM em Fase B.

deilebot

:8765

Bridge I/O do Discord (e canais futuros). Tool whitelist mínima.

deile-shell

REPL interativo via kubectl exec. Toolset completo. Sem ingress de rede.

frota multi-CLI (opt-in, scale-to-zero)

opencode-worker

:8771

codex-worker

:8772

qwen-worker

:8773

aider-worker

:8774

goose-worker

:8775
topologia de tráfego
deilebot  ──HTTP Bearer──►  deile-worker  (dispatch via deilebot)
    │
    └─HTTP Bearer──►  deile-monitor  (perguntas read-only + comandos)

deile-pipeline  ──HTTP Bearer──►  deile-worker   (despacho regular)
       │
       ├──HTTP Bearer──►  claude-worker
       └──HTTP Bearer──►  cli-fleet (opencode / codex / qwen / aider / goose)

deile-shell  ◄── kubectl exec ──  operador humano

painel TUI  ──read──►  deile-pipeline-status (ClusterIP read-only :8768)
Três modos de rodar

Mesma stack, três profundidades de uso.

01

CLI local

Clone, instale a venv com o próprio launcher, registre opcionalmente o comando global. Bastam Python 3.9+ e chave de pelo menos um provedor LLM. Você fala com o agente direto, sem cluster.

para desenvolvedor solo, exploração rápida, prototipagem

02

Job one-shot

Despache uma tarefa atômica em um pod efêmero. Bom para validar o cluster, executar um clone+task ou testar uma operação de Discord controlada — tudo numa whitelist restrita.

para validar deploy ou rodar tarefa pontual

03

Stack completa

Sobe pipeline, worker, monitor, bot e shell em um namespace dedicado. NetworkPolicy default-deny, PSS restricted, secrets como files. A frota multi-CLI é instalada por demanda.

para uso 24/7, equipe, produção interna

Orquestrador

Um único orchestrator faz tudo no cluster.

Em vez de você decorar comandos do kubectl, o DEILE tem um orquestrador que cobre o ciclo inteiro: bootstrap, build, deploy, scale, logs, status, painel. Cada verbo descreve uma intenção, mostra um plano antes de mutar e respeita o namespace que você apontar.

Verbo O que faz
setup bootstrap interativo de configuração local + namespace
up provisiona ou atualiza a stack (idempotente)
build rebuild da imagem deile-stack:local + rollout opcional
scale muda o número de réplicas — incluindo escalar workers da frota
restart rollout restart de uma deployment específica
logs stream de logs de qualquer pod do conjunto
status leitura rápida do estado de pods, services, deployments
panel abre o painel TUI ao vivo conectado ao status server
doctor valida pré-requisitos do host (kubectl, runtime, perms)
clone clona um repo para dentro do deile-shell para análise/debug

Cada verbo aceita o flag de namespace, então você pode ter várias stacks em paralelo no mesmo cluster — uma por forge, uma por experimento, uma por cliente.

Forge-agnóstico

GitHub e GitLab. Mesmo agente, mesmo pipeline.

O DEILE não tem dois pipelines. Tem um, com uma camada de adapter (ForgeClient) que abstrai GitHub (cloud, GHES) e GitLab (cloud, self-hosted). Os briefs são forge-agnósticos via placeholders; o vocabulário canônico é normalizado entre os dois.

GitHub GitLab
Pull Request Merge Request
review comment note
requested_reviewers reviewers[]
pr.number mr.iid
/pull/N /-/merge_requests/N
.github/ISSUE_TEMPLATE/ .gitlab/issue_templates/
gh CLI glab CLI

Detecção em três camadas: configuração explícita, host da URL, heurística pelo formato do path. Suporta multi-repo em uma mesma sessão CLI via um ForgeRouter que cacheia cliente por (host, projeto).

deilebot

Discord nativo. Repo separado. Bridge HTTP.

O bot vive num repositório próprio (deilebot) e fala com o cluster via HTTP local com Bearer auth — não há comunicação direta via SDK do agente. Whitelist mínima de tools, sem acesso a shell. Quem manda código rodar é o pipeline; o bot é só o canal.

comandos slash

~19 comandos nativos no Discord para conversar com o DEILE, agendar tarefas e consultar histórico

OAuth de GitHub

vinculação de conta GitHub via device flow (RFC 8628), persistente e revogável

controle de cluster

consultas read-only ao deile-monitor: status de pods, backlog do pipeline, perguntas livres

DLQ inspecionável

lista e purge da fila de cartas mortas, para diagnosticar falhas de processamento

direito ao esquecimento

apaga o histórico do usuário ao pedido

migrações SQLite

schema versionado, persistência local, sem dependência externa de DB