53a3cdbda9
- .claude/rules/registry_calls.md - apps/dag_engine/README.md - apps/dag_engine/app.md - docs/capabilities/INDEX.md - docs/capabilities/systemd.md - docs/execution_standard.md - dev/proposals_e2e_checks_0121/ - docs/capabilities/backends.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
44 lines
2.2 KiB
YAML
44 lines
2.2 KiB
YAML
# app_id: deploy_server
|
|
# lang: go (CGO, sin fts5)
|
|
# stack: net/http + go-sqlite3 (CGO) + multi-strategy deployer (systemd/systemd-remote/docker-compose)
|
|
# deteccion automatica fn-recopilador 2026-05-19, issue 0121a
|
|
#
|
|
# Notas de deteccion:
|
|
# - go.mod usa github.com/mattn/go-sqlite3 (CGO=1) pero NO usa fts5 tags
|
|
# - sin *_test.go en el directorio -> check tests OMITIDO
|
|
# - server.go confirma: --port flag con default 9090, GET /api/health handler
|
|
# - puerto e2e: 9190 (+100 sobre puerto productivo 9090)
|
|
# - operations.db presente con tablas propias (deploy_targets, deploy_logs) -> ops_audit incluido
|
|
# - BD e2e en /tmp/ para idempotencia; binario en /tmp/ para no contaminar el directorio de la app
|
|
|
|
e2e_checks:
|
|
# build: compila el binario con CGO habilitado. Sin -tags fts5 (no lo usa el modulo).
|
|
# Valida que el modulo go-sqlite3 linkea correctamente en el entorno local.
|
|
- id: build
|
|
cmd: "cd /home/lucas/fn_registry/apps/deploy_server && CGO_ENABLED=1 go build -o /tmp/deploy_server_e2e_bin ."
|
|
timeout_s: 180
|
|
|
|
# cli_help: verifica que el binario arranca y responde sin crashear ni pedir args obligatorios.
|
|
# Captura el caso de init() con side effects o missing assets.
|
|
- id: cli_help
|
|
cmd: "/tmp/deploy_server_e2e_bin help"
|
|
expect_exit: 0
|
|
expect_stdout_contains: "deploy_server"
|
|
timeout_s: 10
|
|
|
|
# migrations: arranca el servidor con la BD de prueba y lo cierra inmediatamente.
|
|
# El servidor abre la BD al arrancar y aplica migraciones automaticamente (sqlite_apply_migrations).
|
|
# Usamos --port 0 no esta soportado (flag es int sin port-0), asi que usamos puerto alto efimero.
|
|
# Tras el health check, el proceso se mata automaticamente por fn-analizador.
|
|
- id: smoke
|
|
cmd: "/tmp/deploy_server_e2e_bin serve --port 9190 --db /tmp/deploy_server_e2e.db &"
|
|
health: "http://127.0.0.1:9190/api/health"
|
|
timeout_s: 15
|
|
|
|
# ops_audit: fn-recopilador audita operations.db de la app.
|
|
# Verifica integridad referencial, schema completo, ausencia de datos corruptos.
|
|
# La BD tiene tablas propias (deploy_targets, deploy_logs) + tablas del ciclo reactivo.
|
|
- id: ops_audit
|
|
ref: "fn-recopilador:apps/deploy_server"
|
|
severity: warning
|