a03675113a
- .claude/agents/fn-orquestador/SKILL.md - .claude/commands/fn_claude.md - .claude/rules/INDEX.md - .claude/rules/cpp_apps.md - .claude/rules/ids_naming.md - CHANGELOG.md - apps/dag_engine/README.md - apps/dag_engine/api.go - apps/dag_engine/dags_migrated/example.yaml - apps/dag_engine/dags_migrated/example_lineage_tracking.yaml - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.3 KiB
2.3 KiB
name, id, status, created, updated, priority, risk, related_issues, apps, trigger, schedule, expected_runtime_s, tags
| name | id | status | created | updated | priority | risk | related_issues | apps | trigger | schedule | expected_runtime_s | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| metabase-versioning | 0006 | pending | 2026-05-16 | 2026-05-16 | medium | medium |
|
cron | 0 2 * * * | 60 |
|
Goal
Probar flujo INVERSO al tipico: extraer estado de un servicio interno (Metabase) y persistirlo como codigo. Sirve de backup + auditoria + reproducibilidad.
Pre-requisitos
- Metabase corriendo (local docker o produccion).
auto_metabaseconfigurado con credenciales (METABASE_URL,METABASE_TOKEN).projects/metabase_registry/existe con sub-repo git inicializado.
Flow
- DAG
metabase-snapshot.yamldiario 02:00:name: metabase-snapshot schedule: "0 2 * * *" steps: - name: pull_metabase function: auto_metabase_pull_bash_pipelines args: ["--target", "projects/metabase_registry"] - name: git_diff_check command: cd projects/metabase_registry && git diff --stat - name: commit_if_changes command: | cd projects/metabase_registry git add -A if ! git diff --cached --quiet; then git commit -m "snapshot: $(date -u +%FT%TZ)" git push origin master echo "CHANGES_PUSHED" else echo "NO_CHANGES" fi depends: [pull_metabase] - name: notify function: matrix_send_message_<id> args: ["#fn-registry-ops", "Metabase snapshot: <stdout from prev step>"] depends: [commit_if_changes] - data_factory: node
metabase_snapshotkind=extractor (source=metabase). Taggitops. - Verificar que YAML files generados son legibles y diff-friendly.
Acceptance
- DAG corre 3 dias consecutivos sin error.
- >=1 commit registrado en repo
metabase_registry. - data_factory.runs muestra historico.
- Matrix recibe 1 mensaje/dia (con "NO_CHANGES" o "CHANGES_PUSHED").
- Si se rompe un dashboard manualmente en Metabase -> push de YAML viejo lo restaura (test).
Telemetria esperada
- 1 run/dia en data_factory.
- 7 commits en metabase_registry repo (1 semana baseline).
Notas
- Riesgo: si Metabase token expira, el DAG falla silenciosamente. Anadir healthcheck pre-pull.
- Restore es manual hoy. Futuro: comando
auto_metabase push --from-commit <SHA>.