Imagem de capa do projeto: NEXUS Docker API EM ANDAMENTO

Resumo técnico

O NEXUS Docker API conecta o painel a Docker Engines multi-host por socket local, TCP+TLS ou SSH para listar, auditar e controlar containers, networks e imagens. Integra Image Intelligence com Trivy (CVE, secrets, misconfig e SBOM CycloneDX) e converte eventos de containers monitorados em tarefas NEXUS.

Escopo executado

  • Registro do plugin (registerTab('docker-api','Docker API','container',tab.php,'DevOps & Infra') + registerDoc) e docker_install() criando as tabelas docker_audit_log e docker_image_scans.
  • API com ~33 actions docker_*: status/stats (overview por host + stats por container), containers (list/inspect/start/stop/restart/logs/remove), images (list/remove), networks, audit/history/alerts, hosts (list/save/delete/test), settings e scans (image_scan, scans_list, scan_get, scan_running) + trivy_status/bootstrap + tracked/events (tracked_list/add/update/remove, events_poll) + fastr e suggest.
  • Multi-host e transportes: hosts[] em Configurações — socket local (DOCKER_DEFAULT_SOCKET), TCP com TLS opcional e SSH com identidade; certs/keys PEM em storage/docker-certs/<host_id>/ (dentro do open_basedir); docker_host_test valida conexão e versão.
  • Segurança: allow_control (false por padrão, global ou por host) libera start/stop/restart/remove (force) e image_remove; allow_logs controla logs; toda operação de controle é gravada em docker_audit_log.
  • Image Intelligence (Trivy): trivy_mode=auto resolve portable bootstrap em storage/docker-scans/bin/trivy (sem root) → trivy_bin custom → system (/opt/trivy, /usr/local/bin, /usr/bin) → imagem aquasec/trivy; scanners vuln/secret/misconfig; SBOM CycloneDX em docker_image_scans.sbom_json; cache em storage/docker-scans/trivy-cache/; docker_trivy_bootstrap instala o scanner pela UI (shared-hosting friendly).
  • Eventos → tarefas (v1.3): containers monitorados por host (docker_tracked_*); tipos die/oom/health_status/kill; docker_events_poll lê /events?since&until e cria tarefas NEXUS (projeto/prioridade configuráveis, dedupe de 900 s).
  • Cronjobs/workers: docker_scan_running (tick, throttle 6 h, max 4 imagens) e docker_events_poll (tick, throttle 2 min) via cronjob.json; CLI cli.php dispara scan running de 4 imagens.
  • Fast Responses e enricher: /docker e /docker-scan (select de containers/imagens após o comando; catálogo no comentário sem escolha), /ia docker//ia docker-scan; docker_fastr_suggest alimenta o autocomplete; enricher docker://nome ou docker://host/nome (prioridade 55).
  • Interface (tab.php, 1108 linhas, Alpine dockerApp()): 9 abas — Containers, Networks, Tracked (monitorados), Inspect, Images, History, Alerts, Task e Config (hosts com picker socket/tcp/ssh) + stat cards e gate de controle.

Stack e ferramentas

  • PHP 8 backend (strict_types, sem framework) + MySQL 8 (docker_audit_log, docker_image_scans)
  • Docker Engine API: socket unix, TCP com TLS opcional e SSH (multi-host)
  • Trivy 0.72.0 (portable/system/imagem Docker) para vuln, secret, misconfig e SBOM CycloneDX
  • Alpine.js + Tailwind CSS (tab.php)
  • Plugin API interno: PluginManager tabs/actions + cronjob.json + fastr.json + enricher

Tags operacionais

  • Docker
  • Multi-host
  • Containers
  • Networks
  • Trivy
  • Image Intelligence
  • Eventos
  • Plugin NEXUS

Resultado operacional

  • Multi-host unificado: um único painel gerencia N Docker Engines (socket/TCP+TLS/SSH) com ping, versão, stats e auditoria por host.
  • Auditoria e controle com gates: allow_control desligado por padrão (global ou por host); operações destrutivas (remove/force) exigem gate e ficam registradas em docker_audit_log.
  • Image Intelligence sem root: Trivy portátil em storage/docker-scans/ funciona em hospedagem compartilhada (bootstrap pela UI), com vuln/secret/misconfig e SBOM.
  • Eventos → tarefas: containers monitorados viram tarefas NEXUS automaticamente (die, oom, health_status, kill) com dedupe e projeto/prioridade configuráveis.
  • Fast Responses e enricher: /docker e /docker-scan operam via Fast Responses e o enricher docker://host/nome anexa contexto Docker a tarefas.
  • Agendamento integrado: scan de imagens em execução (throttle 6 h) e poll de eventos (2 min) rodam pelo soft-cron do NEXUS Cronjobs.

Andamento no GitHub (issues)

Painel em tempo real com as issues mais recentes do repositório.

abertas (amostra): -- fechadas (amostra): -- base: -- ultimas issues

carregando andamento...

Resultados reais

Conecta o painel NEXUS a Docker Engines multi-host por socket local, TCP+TLS ou SSH para listar, auditar e controlar containers, networks e imagens; integra Image Intelligence com Trivy e converte eventos de containers monitorados em tarefas NEXUS.

Arquitetura e organização

Execução e operação

O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.

Screenshots

Falar sobre este projeto

Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.