This repository contains the Terraform deployed by the Jump Start Solution (JSS) titled Three-tier web application. The source code for web application (frontend and middle tier) deployed by this JSS can be found at github.com/GoogleCloudPlatform/deploystack-three-tier-app.
Create a web app using a three-tiered architecture
This solution quickly and securely creates a web app using a three-tiered architecture with a front end, middleware, and back end (PostgreSQL database). You can choose whether to deploy your solution through the console directly or download as Terraform on GitHub to deploy later.
Basic usage of this module is as follows:
module "three_tier_app" {
source = "terraform-google-modules/three-tier-app/google"
version = "~> 0.1"
project_id = var.project_id
region = "us-central1"
zone = "us-central1-a"
}
Functional examples are included in the examples directory.
Name | Description | Type | Default | Required |
---|---|---|---|---|
database_type | Cloud SQL Database flavor, mysql or postgresql | string |
"postgresql" |
no |
deployment_name | The name of this particular deployment, will get added as a prefix to most resources. | string |
"three-tier-app" |
no |
enable_apis | Whether or not to enable underlying apis in this solution. . | string |
true |
no |
labels | A map of labels to apply to contained resources. | map(string) |
{ |
no |
project_id | The project ID to deploy to | string |
n/a | yes |
region | The Compute Region to deploy to | string |
"us-central1" |
no |
run_roles_list | The list of roles that run needs | list(string) |
[ |
no |
zone | The Compute Zone to deploy to | string |
"us-central1-a" |
no |
Name | Description |
---|---|
endpoint | The url of the front end which we want to surface to the user |
neos_toc_url | The URL to launch the in-console tutorial for the Three Tier App solution |
sqlservername | The name of the database that we randomly generated. |
These sections describe requirements for using this module.
The following dependencies must be available:
A service account with the following roles must be used to provision the resources of this module:
roles/storage.admin
The Project Factory module and the IAM module may be used in combination to provision a service account with the necessary roles applied.
A project with the following APIs enabled must be used to host the resources of this module:
storage-api.googleapis.com
The Project Factory module can be used to provision a project with the necessary APIs enabled.
Refer to the contribution guidelines for information on contributing to this module.
Please see our security disclosure process.