https://github.com/googlecloudplatform/terraform-cloud-deployment-gce
Deploy a change to a live stateful service (Java on GCE)
https://github.com/googlecloudplatform/terraform-cloud-deployment-gce
cft-terraform
Last synced: 4 months ago
JSON representation
Deploy a change to a live stateful service (Java on GCE)
- Host: GitHub
- URL: https://github.com/googlecloudplatform/terraform-cloud-deployment-gce
- Owner: GoogleCloudPlatform
- License: apache-2.0
- Archived: true
- Created: 2023-07-17T20:32:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-27T22:09:55.000Z (7 months ago)
- Last Synced: 2024-12-18T08:41:27.043Z (6 months ago)
- Topics: cft-terraform
- Language: Java
- Homepage: https://registry.terraform.io/modules/GoogleCloudPlatform/terraform-cloud-deployment-gce/google
- Size: 1.31 MB
- Stars: 10
- Watchers: 14
- Forks: 7
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# 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:
- Google Compute Engine
- Cloud Load Balancing
- Service Networking
- Secret Manager
- Cloud Storage
- Cloud CDN
- Cloud SQL
- IAM## 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)` |{| no |
"app": "cloud-deployment-gce-java"
}
| 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:
- [Terraform](https://developer.hashicorp.com/terraform/downloads) v0.13
- [Terraform Provider for Google Cloud](https://registry.terraform.io/providers/hashicorp/google/latest/docs) plugin v4.57### Service Account
A service account with the following roles must be used to provision
the resources of this module:- roles/secretmanager.secretAccessor
- roles/storage.objectAdmin
- roles/compute.imageUser
- roles/cloudsql.editor
- roles/logging.logWriter### APIs
A project with the following APIs enabled must be used to host the
resources of this module:- compute.googleapis.com
- iam.googleapis.com
- cloudresourcemanager.googleapis.com
- sqladmin.googleapis.com
- secretmanager.googleapis.com
- servicenetworking.googleapis.com## Contributing
Refer to the [contribution guidelines](CONTRIBUTING.md) for
information on contributing to this module.[terraform-provider-google-cloud]: https://www.terraform.io/docs/providers/google/index.html
[terraform]: https://www.terraform.io/downloads.html