Using Cloud Run with Secret Manager

30 minutes
  • 2 Learning Objectives

About this Hands-on Lab

In this lab, we’ll deploy an image gallery app that makes an external API call to display a quote of the day. The API call will require a secret key, which we will store securely in Secret Manager and retrieve during an automated deployment with Cloud Build. You should be familiar with the GCP console and Cloud Shell to perform this hands-on lab. Some experience with Python will be beneficial.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Obtain an API Key and Store It Securely
  1. Follow the instructions at to obtain a developer API key.
  2. Store the key in Secret Manager.
  3. Enable Cloud Firestore in Native mode, specifying the us-east1 region.
Deploy the Application with Cloud Build
  1. Create a Cloud Storage bucket for the app.
  2. Enable the Cloud Run Admin and Service Account User permissions in the Cloud Build settings page.
  3. Add the Secret Manager Secret Accessor IAM role to the Cloud Build service account.
  4. Use a cloudbuild.yaml file to deploy your Cloud Run application.
    Your build steps should decrypt your secret and pass it to your service as the API_KEY environment variable.

All the code you need can be found in the image-gallery/4-secrets directory of the course Git repo.

Additional Resources

The code for this lab can be found in the image-gallery directory in the course Git repo.

You need to enable several APIs to complete this lab. You can do this in one command from the Cloud Shell terminal:

gcloud services enable

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?