Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Google Cloud platform

This repository, is meant for provisioning a demo platform to showcase various aspects of Google Cloud as a complete architecture framework for deploying applications.

Technology Used

Code management (GitHub)

Google Cloud

Infrastructure as Code

Platform Tooling

Getting started

To use this repository it is recommended that you first create a fork.

Bootstrap

After creating a fork, there are a handful of quick bootrap scripts to get your repository up and running.

  1. Setup specific environment variables unique to your GitHub Repository and Google Cloud Project. The script will request a couple inputs about the environment and output ./.env files with relevant variables.

    . ./scripts/bootstrap/01-setup-env.sh
    input(s):
    
    "Enter GitHub organization or owner [${_GITHUB_ORG}]: "
    "Enter GitHub repository name [${_GITHUB_REPO}]: "
    "Enter GCP project ID [${_GCP_PROJECT_ID}]: "
    "Enter default value region for this setup [${_GCP_LOCATION}]: "
    "Enter short (3-5 char) identifier for cloud resources (e.g. gcp) [$_GCP_CUSTOMER_ID]: "
    output:
    
    ./.env
  2. Enable applicable Google Cloud APIs

    . ./scripts/bootstrap/02-enable-api.sh
  3. Enable GitHub Actions by setting up variables in forked repository. GitHub Actions leverages Workload Identity Federation for "keyless" authentication. In this setup we use Worklaod Identity Federation through a Service Account (sa-terraform).

    . ./scripts/bootstrap/03-enable-gh-actions.sh
  4. Setup IAM permissions for Google Service Account sa-terraform to deploy resources on our behalf.

    . ./scripts/bootstrap/04-enable-iam.sh
  5. Finally we will setup Terraform backend on Google Cloud Storage for when we start deploying our resources with Terraform through GitHub Actions.

    . ./scripts/bootstrap/05-setup-tf.sh

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages