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}