#!/bin/bash # Script to retrieve PostgreSQL password from 1Password set -e # Default values DEFAULT_USER="aprsme" DEFAULT_HOST="CM3588" DEFAULT_ACCOUNT="YOOATCZZSVGH7AD6VABUVPORLI" # Parse arguments USER="${1:-$DEFAULT_USER}" HOST="${2:-$DEFAULT_HOST}" ACCOUNT="${3:-$DEFAULT_ACCOUNT}" # Item name in 1Password ITEM_NAME="PostgreSQL $USER - $HOST" echo "Retrieving password for: $ITEM_NAME" # Get password PASSWORD=$(op item get "$ITEM_NAME" --fields password --reveal --account "$ACCOUNT" 2>/dev/null) if [ $? -eq 0 ]; then echo "Password retrieved successfully" echo echo "Connection details:" echo " User: $USER" echo " Password: $PASSWORD" echo echo "URL-encoded password (for connection strings):" echo "$PASSWORD" | python3 -c "import urllib.parse; print(urllib.parse.quote(input(), safe=''))" else echo "Error: Could not retrieve password from 1Password" echo "Make sure the item '$ITEM_NAME' exists in your vault" exit 1 fi