Files
fn_registry/bash/functions/pipelines/setup_metabase_volume.md
T
egutierrez 54be36dd63 docs: CLAUDE.md actualizado con fn run, tipos Go en functions/, bash functions
Documentación de fn run para todos los lenguajes, nueva ubicación de tipos Go,
sección de uso por agentes. Añadidas funciones Bash del registry (shell, infra,
core, pipelines).

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

2.2 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
setup_metabase_volume pipeline bash pipelines 1.0.0 impure setup_metabase_volume([registry_db_path: string], [container_name: string], [dest_path: string]) -> void Copia registry.db al contenedor Docker de Metabase verificando existencia del archivo, disponibilidad de docker, estado del contenedor y coincidencia de tamaños. Todos los argumentos son opcionales con defaults razonables.
metabase
docker
setup
launcher
pipeline
bash
infra
assert_file_exists_bash_shell
assert_command_exists_bash_shell
assert_docker_container_running_bash_infra
docker_cp_file_bash_infra
false error_go_core
false
bash/functions/pipelines/setup_metabase_volume.sh

Ejemplo

# Con defaults
./functions/pipelines/setup_metabase_volume.sh

# Con argumentos explícitos
./functions/pipelines/setup_metabase_volume.sh \
  /home/lucas/fn_registry/registry.db \
  metabase \
  /registry.db

Flujo

  1. assert_file_exists — verifica que registry.db existe localmente y obtiene su tamaño
  2. assert_command_exists — verifica que docker está disponible en PATH
  3. assert_docker_container_running — verifica que el contenedor destino está activo; si falla, muestra lista de contenedores activos
  4. docker_cp_file — ejecuta docker cp y verifica que los tamaños local y remoto coinciden

Notas

El pipeline usa set -euo pipefail — cualquier fallo en una función individual detiene la ejecución.

Las funciones individuales se sourcean desde sus rutas en el registry, relativas a REGISTRY_ROOT detectado automáticamente desde la ubicación del script.

Defaults:

  • REGISTRY_DB_PATH: /home/lucas/fn_registry/registry.db
  • CONTAINER_NAME: metabase
  • DEST_PATH: /registry.db

Nota de persistencia: docker cp copia al contenedor en ejecución. Si el contenedor se reinicia, el archivo se pierde. Para persistencia real, montar el directorio como volumen en docker-compose:

volumes:
  - /home/lucas/fn_registry:/fn_registry:ro

Y usar --registry-db-path /fn_registry/registry.db.