Files
egutierrez b698177860 feat: funciones pass para gestión de secretos — get, set, list, delete, generate, sync
Wrappers Bash sobre pass (password-store) para CRUD de secretos, generación
de contraseñas y sincronización con git. Incluye script de test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:03:44 +02:00

41 lines
1.1 KiB
Bash

# pass_list
# ---------
# Lista entradas del password store como JSON array.
# Opcionalmente filtra por prefijo.
# Sale con exit code 1 si pass falla.
#
# USO (sourced):
# source pass_list.sh
# pass_list # todas las entradas
# pass_list agentes # solo bajo agentes/
pass_list() {
local prefix="${1:-}"
local raw
raw=$(pass ls "$prefix" 2>/dev/null)
if [ $? -ne 0 ]; then
echo "pass_list: fallo al listar entradas" >&2
return 1
fi
# Parsear output de pass: extraer nombres limpios (sin tree chars)
local entries
entries=$(echo "$raw" | sed 's/[│├└──── ]//g' | sed '/^$/d' | grep -v '^Password' | grep -v '^[[:space:]]*$')
# Construir JSON array
printf '['
local first=true
while IFS= read -r line; do
line=$(echo "$line" | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//')
[ -z "$line" ] && continue
if [ "$first" = true ]; then
first=false
else
printf ','
fi
printf '"%s"' "$line"
done <<< "$entries"
printf ']'
}