Files
fn_registry/python/functions/pipelines/metabase_add_ops_db.md
T
egutierrez 6a05abff03 feat: pipelines Metabase — add ops db, create ops dashboard, fix permissions
Tres pipelines Python para gestionar operations.db en Metabase:
- metabase_add_ops_db: registra la operations.db de una app como database SQLite
- metabase_create_ops_dashboard: genera dashboard operativo con 14 cards (KPIs,
  distribución, executions, assertions) para cualquier app
- metabase_fix_permissions: arregla SQLITE_READONLY_DIRECTORY haciendo chmod
  777/666 sin chown (que se propaga al host via bind mount)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 00:54:24 +01:00

1.6 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path
metabase_add_ops_db pipeline py pipelines 1.0.0 impure metabase_add_ops_db(app_name: str) -> None Registra la operations.db de una app en Metabase como database SQLite. Verifica duplicados y muestra el mount necesario para el contenedor Docker.
metabase
operations
sqlite
docker
pipeline
infra
launcher
metabase_auth_py_infra
metabase_list_databases_py_infra
metabase_add_database_py_infra
false error_go_core
false
python/functions/pipelines/metabase_add_ops_db.py

Ejemplo

# Registrar una app
python python/functions/pipelines/metabase_add_ops_db.py docker_tui

# Listar estado de todas las apps
python python/functions/pipelines/metabase_add_ops_db.py --list

Flujo

  1. metabase_auth - autentica contra Metabase
  2. metabase_list_databases - verifica si la database ya existe
  3. metabase_add_database - registra la operations.db como SQLite

Requisitos

El contenedor Metabase debe tener montado el directorio de la app como volumen RW:

-v /home/lucas/fn_registry/apps/<app_name>:/data/ops-<app-name>

Ademas, el directorio debe tener permisos para el usuario metabase (UID 2000):

docker exec -u root <container> chown -R metabase:metabase /data/ops-<app-name>/

Convencion de nombres

  • Database en Metabase: ops-<app-name> (guiones en vez de underscores)
  • Path en contenedor: /data/ops-<app-name>/operations.db