# 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/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