--- name: metabase_add_ops_db kind: pipeline lang: py domain: pipelines version: "1.0.0" purity: impure signature: "metabase_add_ops_db(app_name: str) -> None" description: "Registra la operations.db de una app en Metabase como database SQLite. Verifica duplicados y muestra el mount necesario para el contenedor Docker." tags: [metabase, operations, sqlite, docker, pipeline, infra, launcher] uses_functions: - metabase_auth_py_infra - metabase_list_databases_py_infra - metabase_add_database_py_infra uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] tested: false tests: [] test_file_path: "" file_path: "python/functions/pipelines/metabase_add_ops_db.py" --- ## Ejemplo ```bash # 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/:/data/ops- ``` Ademas, el directorio debe tener permisos para el usuario metabase (UID 2000): ```bash docker exec -u root chown -R metabase:metabase /data/ops-/ ``` ## Convencion de nombres - Database en Metabase: `ops-` (guiones en vez de underscores) - Path en contenedor: `/data/ops-/operations.db`