chore: auto-commit (286 archivos)
- .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>
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
---
|
||||
name: fn_sync_with_pass
|
||||
kind: pipeline
|
||||
lang: bash
|
||||
domain: pipelines
|
||||
version: "1.0.0"
|
||||
purity: impure
|
||||
signature: "fn_sync_with_pass [status|locations|<args>...]"
|
||||
description: "Wrapper de fn sync que lee credenciales del password-store pass y exporta FN_REGISTRY_API y REGISTRY_API_TOKEN antes de invocar el CLI. Evita persistir secretos en ~/.zshrc."
|
||||
tags: [sync, registry, pass, gpg, launcher]
|
||||
uses_functions:
|
||||
- pass_get_bash_infra
|
||||
uses_types: []
|
||||
returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: []
|
||||
params:
|
||||
- name: "registry/basicauth-user"
|
||||
desc: "Entry de pass con el usuario para basicAuth del registry API (linea 1)"
|
||||
- name: "registry/basicauth-pass"
|
||||
desc: "Entry de pass con la contraseña para basicAuth del registry API (linea 1)"
|
||||
- name: "registry/api-token"
|
||||
desc: "Entry de pass con el REGISTRY_API_TOKEN (linea 1)"
|
||||
- name: "args"
|
||||
desc: "Argumentos opcionales forwarded a fn sync: status, locations, o nada para push+pull completo"
|
||||
output: "Mismo output que ./fn sync (stdin/stdout/stderr heredados). Exit code del subproceso fn sync."
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
file_path: "bash/functions/pipelines/fn_sync_with_pass.sh"
|
||||
---
|
||||
|
||||
## Ejemplo
|
||||
|
||||
```bash
|
||||
# Sync simple (push+pull completo)
|
||||
./fn run fn_sync_with_pass_bash_pipelines
|
||||
|
||||
# Ver estado local: PC, API, conteos
|
||||
./fn run fn_sync_with_pass_bash_pipelines status
|
||||
|
||||
# Mapa de ubicaciones cross-PC
|
||||
./fn run fn_sync_with_pass_bash_pipelines locations
|
||||
```
|
||||
|
||||
## Cuando usarla
|
||||
|
||||
Cuando necesites ejecutar `fn sync` sin tener las credenciales exportadas en el entorno. Sustituye al bloque de `export FN_REGISTRY_API=...` que de otro modo habria que poner en `~/.zshrc`.
|
||||
|
||||
## Gotchas
|
||||
|
||||
- Si GPG no tiene la clave desbloqueada, `pass show` abre el prompt del agente gpg. Dejarlo pasar — no capturar stderr para no interferir con el pinentry.
|
||||
- Requiere que el password-store este inicializado (`pass init`). Si no existe, `pass show` falla con error claro.
|
||||
- `FN_REGISTRY_ROOT` debe apuntar a la raiz del registry donde vive el binario `./fn`. Si no esta seteado, se resuelve via `git rev-parse --show-toplevel`.
|
||||
- Los tres entries de pass deben tener el valor en la **linea 1** (convencion estandar de pass). Metadata adicional en lineas siguientes es ignorada.
|
||||
Reference in New Issue
Block a user