Skip to content

Instantly share code, notes, and snippets.

@hidakatsuya
Last active November 28, 2022 15:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hidakatsuya/2748330a2b948fc1acf510baa0fa1238 to your computer and use it in GitHub Desktop.
Save hidakatsuya/2748330a2b948fc1acf510baa0fa1238 to your computer and use it in GitHub Desktop.
Script for batch registration to Gcloud Secret Manager
#!/bin/bash
# This script is for the following tutorial procedure.
# https://cloud.google.com/ruby/rails/run?hl=ja#gcloud_5
#
# Setup
#
# gloud auth login
# gloud config set project PROJECT_ID
set -e
PROJECT_NUMBER=123456789012
secrets=(
NAME,VALUE
)
for secret in "${secrets[@]}"
do
s=(${secret//,/ })
name=${s[0]}
value=${s[1]}
echo ----- $name=$value
echo $value | gcloud secrets create $name --data-file=-
gcloud secrets add-iam-policy-binding $name \
--member serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com \
--role roles/secretmanager.secretAccessor
gcloud secrets add-iam-policy-binding $name \
--member serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
--role roles/secretmanager.secretAccessor
done

Getting project number

gcloud projects list --filter="<project id>" --format="value(PROJECT_NUMBER)"
$ docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud auth login
$ docker run --rm --volumes-from gcloud-config \
  gcr.io/google.com/cloudsdktool/google-cloud-cli \
  gcloud auth list

    Credentialed Accounts
ACTIVE  ACCOUNT
*       xxxx@example.com
$ docker run --rm --volumes-from gcloud-config \
  gcr.io/google.com/cloudsdktool/google-cloud-cli \
  gcloud secrets list --project <PROJECT_ID>

References

https://cloud.google.com/sdk/docs/downloads-docker?hl=ja

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment