deile-pipeline
— Monitor autônomo do forge. Tick determinístico. Sem ingress de dispatch.
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.
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.
— Monitor autônomo do forge. Tick determinístico. Sem ingress de dispatch.
:8766 Executa o motor DEILE em-process. Alvo HTTP do pipeline.
:8767 Executa o Claude Code CLI em workdirs isolados. Cost-cap + JSONL ledger.
:8769 Supervisor 24/7 do cluster. Determinístico em Fase A, LLM em Fase B.
:8765 Bridge I/O do Discord (e canais futuros). Tool whitelist mínima.
— REPL interativo via kubectl exec. Toolset completo. Sem ingress de rede.
:8771 :8772 :8773 :8774 :8775 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)
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
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
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
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.
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).
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.
~19 comandos nativos no Discord para conversar com o DEILE, agendar tarefas e consultar histórico
vinculação de conta GitHub via device flow (RFC 8628), persistente e revogável
consultas read-only ao deile-monitor: status de pods, backlog do pipeline, perguntas livres
lista e purge da fila de cartas mortas, para diagnosticar falhas de processamento
apaga o histórico do usuário ao pedido
schema versionado, persistência local, sem dependência externa de DB