With Service Account ((link)) - Gcloud Login
if [[ -n "$PROJECT_ID" ]]; then GCLOUD_CMD="$GCLOUD_CMD --project=$PROJECT_ID" fi
Examples: $0 --key-file ./sa-key.json $0 -k sa-key.json -p my-project $0 -k sa-key.json -v EOF exit 0 ;; *) log_error "Unknown option: $1" exit 1 ;; esac done if [[ -z "$KEY_FILE" ]]; then log_error "Key file is required. Use --key-file or -k" exit 1 fi gcloud login with service account
# Optionally set as active account if $SET_ACTIVE; then gcloud config set account "$SA_EMAIL" log_info "✓ Set as active account" fi if [[ -n "$PROJECT_ID" ]]
Options: -k, --key-file PATH Service account JSON key file (required) -p, --project ID GCP project ID (optional) -v, --verbose Enable verbose output --no-set-active Don't set as active account -h, --help Show this help message then log_info "✓ Authentication successful"
if $VERBOSE; then log_info "Running: $GCLOUD_CMD" set -x fi if $GCLOUD_CMD; then log_info "✓ Authentication successful"