Fix vault status checks in Docker test script

- Update JSON parsing to handle Vault status response correctly
- Remove redundant status extraction with grep
- Use safer string matching approach with Bash pattern matching

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Harald Hoyer 2025-03-20 12:55:09 +01:00
parent f44dcd1f98
commit 334fc50ac7

View file

@ -117,9 +117,8 @@ fi
# Verify Vault is unsealed # Verify Vault is unsealed
vault_status=$(docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault status -format=json 2>/dev/null || echo '{"sealed": true}') vault_status=$(docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault status -format=json 2>/dev/null || echo '{"sealed": true}')
sealed=$(echo $vault_status | grep -o '"sealed":false' || echo "sealed")
if [ "$sealed" = '"sealed":false' ]; then if [[ "$vault_status" == *'"sealed":false'* ]]; then
log "INFO" "Vault is properly unsealed" log "INFO" "Vault is properly unsealed"
else else
log "ERROR" "Vault is still sealed" log "ERROR" "Vault is still sealed"
@ -143,9 +142,8 @@ sleep 5
# Verify Vault is sealed after restart (it should be) # Verify Vault is sealed after restart (it should be)
vault_status=$(docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault status -format=json 2>/dev/null || echo '{"sealed": true}') vault_status=$(docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault status -format=json 2>/dev/null || echo '{"sealed": true}')
sealed=$(echo $vault_status | grep -o '"sealed":true' || echo "unsealed")
if [ "$sealed" = '"sealed":true' ]; then if [[ "$vault_status" == *'"sealed":true'* ]]; then
log "INFO" "Vault is correctly sealed after restart" log "INFO" "Vault is correctly sealed after restart"
else else
log "WARN" "Vault is not sealed after restart - this is unexpected" log "WARN" "Vault is not sealed after restart - this is unexpected"
@ -167,9 +165,8 @@ docker-compose run -e VAULT_ADDR=http://vault:8200 \
# Verify Vault is unsealed now # Verify Vault is unsealed now
vault_status=$(docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault status -format=json 2>/dev/null || echo '{"sealed": true}') vault_status=$(docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault status -format=json 2>/dev/null || echo '{"sealed": true}')
sealed=$(echo $vault_status | grep -o '"sealed":false' || echo "sealed")
if [ "$sealed" = '"sealed":false' ]; then if [[ "$vault_status" == *'"sealed":false'* ]]; then
log "INFO" "Vault was successfully unsealed after restart" log "INFO" "Vault was successfully unsealed after restart"
else else
log "ERROR" "Vault is still sealed after restart" log "ERROR" "Vault is still sealed after restart"