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 https://favqs.com/api 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 GitHub repo.

Additional Resources

Log in to Google Cloud Platform by right-clicking Open Google Console and selecting the option to open it in a new private browser window. Then, sign in using the credentials provided on the lab page.

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 run.googleapis.com 
cloudbuild.googleapis.com 
secretmanager.googleapis.com

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?