Cloud RunでGoogleのSecretマネージャーを使うときの勘所

こんばんはエンジニアの眠れない夜です。

Cloud RunでGoogleのSecretマネージャーを使うときの勘所のメモです。

  • 設定した名前が環境変数のキーとして登録される
  • 設定した値はすべて、キーのバリュー(Str)に登録される

キー(名前)をenvで登録した場合

 

GoogleSecretManager

SecretManagerの値にJSON形式で保存していた場合、このように環境変数のキーenvの値として、String形式で取得できる。

SecretManager

JSONで取り出す処理

# 環境変数をすべてプリント
for key, value in os.environ.items():
  if key == "env":
    json_data = json.loads(value)
    print('json_data:', json_data)

環境変数とSecretマネージャーの両方から取得を切り替えられるようにする関数

def get_env_value(key: str, default: str = None) -> str:
  if key == "env":
    json_data = json.loads(value)
    return json_data.get(key)
  else:
    return os.environ.get(key, default)

課題

キー他院医の編集ができないため、本番と開発用のENVファイルがあると管理が複雑になる。

結論

Cloud Runを使うときの環境変数は初めの登録が面倒ではあるが、「変数」として登録したほうが管理が楽になる。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください