GoogleCloudPlatform / terraform-cloud-deployment-gce

Deploy a change to a live stateful service (Java on GCE)
https://registry.terraform.io/modules/GoogleCloudPlatform/terraform-cloud-deployment-gce/google
Apache License 2.0
10 stars 7 forks source link
cft-terraform

Cloud Deployment on GCE

Description

Tagline

Deploy a change to a live stateful service without disrupting downstream customers (Java on GCE)

Detailed

This solution showcases a live feature change on a Java app, deployed to customers using blue-green managed instance group deployments.

The resources/services/activations/deletions that this module will create/trigger are:

Inputs

Name Description Type Default Required
bucket_location Bucket location where the uploaded files will be stored. string "US" no
data_init_archive_file_name Name of the archive file that contains the initialization data. string "initialization.tar.gz" no
data_init_bucket_name Name of the Cloud Storage bucket that store the archive file for initialization. string "jss-resources" no
labels A map of key/value label pairs to assign to the cloud resources. map(string)
{
"app": "cloud-deployment-gce-java"
}
no
project_id Google Cloud project ID. string n/a yes
region Google Cloud region where the cloud resource will be created. string "us-central1" no
source_image The source image used to create the instance. string "https://www.googleapis.com/compute/beta/projects/hsa-public/global/images/jss-cd-gce-vm-image" no
zone Google cloud zone where the resources will be created. string "us-central1-a" no

Outputs

Name Description
backend_bucket_name The name of the backend bucket used for Cloud CDN
blue_mig_load_balancer_ip IP address of the blue version instance group
blue_mig_self_link Self link of the blue version instance group
bucket_name Bucket name
green_mig_load_balancer_ip IP address of the green version instance group
green_mig_self_link Self link of the green version instance group
user_mig_load_balancer_ip IP address of the user instance group

Requirements

These sections describe requirements for using this module.

Software

The following dependencies must be available:

Service Account

A service account with the following roles must be used to provision the resources of this module:

APIs

A project with the following APIs enabled must be used to host the resources of this module:

Contributing

Refer to the contribution guidelines for information on contributing to this module.