vault list <vault-path>
指定されたパスのすべての秘密とサブディレクトリが表示されます。
指定されたパスから秘密を再帰的に検索する必要がありますが、Vaultコマンドだけではこれを行う方法はありません。
これを行うためにbashスクリプトを書こうとしています。しかし、入れ子になった配列が必要なようで、いつも面倒なことです。
検索ツールはありますか?それとも、bashスクリプトやansibleプレイブックを書いた人はいますか?
答え1
解決しました!自己呼び出し機能:
#!/bin/bash
function walk
{
local PTH="$1"; shift
local ENTRIES=($@)
for ENTRY in ${ENTRIES[@]}; do
if [ $(echo "$ENTRY" | grep -c "$SEARCH") -ne 0 ]; then
echo ${PTH}${ENTRY}
fi
if [ "$(echo $ENTRY | grep "\/$")" != "" ]; then
NEWPTH=${PTH}${ENTRY}
NEWENTRIES=$(vault list ${NEWPTH} 2>/dev/null | tail -n +3)
walk ${NEWPTH} ${NEWENTRIES}
fi
done
}
SEARCH="$2"
PTH="$1"
echo -----------------------------
ENTRIES=$(vault list ${PTH} 2>/dev/null | tail -n +3)
walk ${PTH} ${ENTRIES}