Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
400d8b6e13 | ||
|
|
73a2344d6e | ||
|
|
6e2f52d9f6 | ||
|
|
fdcd2e0c91 | ||
|
|
33032faf64 |
@@ -1,5 +1,9 @@
|
||||
# Contribution Guidelines
|
||||
|
||||
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
|
||||
relative linking correctly.
|
||||
-->
|
||||
|
||||
Contributions to this Module are very welcome! We follow a fairly standard [pull request process](
|
||||
https://help.github.com/articles/about-pull-requests/) for contributions, subject to the following guidelines:
|
||||
|
||||
|
||||
15
README.md
15
README.md
@@ -1,7 +1,12 @@
|
||||
[](https://gruntwork.io/?ref=repo_google_cloudsql)
|
||||
[](http://github.com/gruntwork-io/terraform-google-sql/releases/latest)
|
||||
|
||||
# Cloud SQL Modules
|
||||
|
||||
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
|
||||
relative linking correctly.
|
||||
-->
|
||||
|
||||
This repo contains modules for running relational databases such as MySQL and PostgreSQL on
|
||||
[Google Cloud Platform (GCP)](https://cloud.google.com/) using [Cloud SQL](https://cloud.google.com/sql/).
|
||||
|
||||
@@ -24,7 +29,7 @@ This repo has the following folder structure:
|
||||
|
||||
The primary module is:
|
||||
|
||||
* [cloud-sql](/modules/cloud-sql): Deploy a Cloud SQL [MySQL](https://cloud.google.com/sql/docs/mysql/) or
|
||||
* [cloud-sql](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql): Deploy a Cloud SQL [MySQL](https://cloud.google.com/sql/docs/mysql/) or
|
||||
[PostgreSQL](https://cloud.google.com/sql/docs/postgres/) database.
|
||||
|
||||
* [examples](https://github.com/gruntwork-io/terraform-google-sql/tree/master/examples): This folder contains
|
||||
@@ -59,7 +64,7 @@ a version number bump.
|
||||
|
||||
## Who maintains this Module?
|
||||
|
||||
This Module and its Submodules are maintained by [Gruntwork](http://www.gruntwork.io/). Read the [Gruntwork Philosophy](/GRUNTWORK_PHILOSOPHY.md) document to learn more about how Gruntwork builds production grade infrastructure code. If you are looking for help or
|
||||
This Module and its Submodules are maintained by [Gruntwork](http://www.gruntwork.io/). Read the [Gruntwork Philosophy](https://github.com/gruntwork-io/terraform-google-sql/blob/master/GRUNTWORK_PHILOSOPHY.md) document to learn more about how Gruntwork builds production grade infrastructure code. If you are looking for help or
|
||||
commercial support, send an email to
|
||||
[support@gruntwork.io](mailto:support@gruntwork.io?Subject=Google%20SQL%20Module).
|
||||
|
||||
@@ -74,13 +79,13 @@ Gruntwork can help with:
|
||||
|
||||
## How do I contribute to this Module?
|
||||
|
||||
Contributions are very welcome! Check out the [Contribution Guidelines](/CONTRIBUTING.md) for instructions.
|
||||
Contributions are very welcome! Check out the [Contribution Guidelines](https://github.com/gruntwork-io/terraform-google-sql/blob/master/CONTRIBUTING.md) for instructions.
|
||||
|
||||
|
||||
## How is this Module versioned?
|
||||
|
||||
This Module follows the principles of [Semantic Versioning](http://semver.org/). You can find each new release, along
|
||||
with the changelog, in the [Releases Page](../../releases).
|
||||
with the changelog, in the [Releases Page](https://github.com/gruntwork-io/terraform-google-sql/releases).
|
||||
|
||||
During initial development, the major version will be 0 (e.g., `0.x.y`), which indicates the code does not yet have a
|
||||
stable API. Once we hit `1.0.0`, we will make every effort to maintain a backwards compatible API and use the MAJOR,
|
||||
@@ -89,6 +94,6 @@ MINOR, and PATCH versions on each release to indicate any incompatibilities.
|
||||
|
||||
## License
|
||||
|
||||
Please see [LICENSE](/LICENSE) for how the code in this repo is licensed.
|
||||
Please see [LICENSE](https://github.com/gruntwork-io/terraform-google-sql/blob/master/LICENSE.txt) for how the code in this repo is licensed.
|
||||
|
||||
Copyright © 2019 Gruntwork, Inc.
|
||||
|
||||
@@ -13,7 +13,7 @@ Creating the certificate while there are other operations ongoing will result in
|
||||
To run this example, you need to:
|
||||
|
||||
1. Install [Terraform](https://www.terraform.io/).
|
||||
1. Open up `vars.tf` and set secrets at the top of the file as environment variables and fill in any other variables in
|
||||
1. Open up `variables.tf` and set secrets at the top of the file as environment variables and fill in any other variables in
|
||||
the file that don't have defaults.
|
||||
1. `terraform init`.
|
||||
1. `terraform plan`.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MySQL Cloud SQL Private IP Example
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
This folder contains an example of how to use the [Cloud SQL module](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
[MySQL](https://cloud.google.com/sql/docs/mysql/) database instance with a [private IP address](https://cloud.google.com/sql/docs/mysql/private-ip).
|
||||
|
||||
## How do you run this example?
|
||||
@@ -18,4 +18,4 @@ When the templates are applied, Terraform will output the IP address of the inst
|
||||
and the instance path for [connecting using the Cloud SQL Proxy](https://cloud.google.com/sql/docs/mysql/connect-admin-proxy).
|
||||
|
||||
Note that you cannot connect to the private IP instance from outside Google Cloud Platform.
|
||||
If you want to experiment with connecting from your own workstation, see the [public IP example](../mysql-public-ip)
|
||||
If you want to experiment with connecting from your own workstation, see the [public IP example](https://github.com/gruntwork-io/terraform-google-sql/tree/master/examples/mysql-public-ip)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MySQL Cloud SQL Public IP Example
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
This folder contains an example of how to use the [Cloud SQL module](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
[MySQL](https://cloud.google.com/sql/docs/mysql/) database instance with a [public IP address](https://cloud.google.com/sql/docs/mysql/connect-external-app#appaccessIP).
|
||||
|
||||
## How do you run this example?
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# MySQL Cloud SQL HA Example
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](/modules/cloud-sql) to create a [High Availability](https://cloud.google.com/sql/docs/mysql/configure-ha) [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
|
||||
relative linking correctly.
|
||||
-->
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql) to create a [High Availability](https://cloud.google.com/sql/docs/mysql/configure-ha) [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
[MySQL](https://cloud.google.com/sql/docs/mysql/) database cluster with a [public IP](https://cloud.google.com/sql/docs/mysql/connect-external-app#appaccessIP) and failover and [read replicas](https://cloud.google.com/sql/docs/mysql/replication/).
|
||||
|
||||
## How do you run this example?
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# PostgreSQL Cloud SQL Private IP Example
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
|
||||
relative linking correctly.
|
||||
-->
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
[PostgreSQL](https://cloud.google.com/sql/docs/postgres/) database instance with a [private IP address](https://cloud.google.com/sql/docs/postgres/private-ip).
|
||||
|
||||
## How do you run this example?
|
||||
@@ -18,4 +22,4 @@ When the templates are applied, Terraform will output the IP address of the inst
|
||||
and the instance path for [connecting using the Cloud SQL Proxy](https://cloud.google.com/sql/docs/postgres/sql-proxy).
|
||||
|
||||
Note that you cannot connect to the private IP instance from outside Google Cloud Platform.
|
||||
If you want to experiment with connecting from your own workstation, see the [public IP example](../postgres-public-ip)
|
||||
If you want to experiment with connecting from your own workstation, see the [public IP example](https://github.com/gruntwork-io/terraform-google-sql/tree/master/examples/postgres-public-ip)
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# PostgreSQL Cloud SQL Public IP Example
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
|
||||
relative linking correctly.
|
||||
-->
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql) to create a [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
[PostgreSQL](https://cloud.google.com/sql/docs/postgres/) database instance with a [public IP address](https://cloud.google.com/sql/docs/postgres/connect-external-app#appaccessIP).
|
||||
|
||||
## How do you run this example?
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# PostgreSQL Cloud SQL HA Example
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](/modules/cloud-sql) to create a [High Availability](https://cloud.google.com/sql/docs/postgres/high-availability) [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
|
||||
relative linking correctly.
|
||||
-->
|
||||
|
||||
This folder contains an example of how to use the [Cloud SQL module](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql) to create a [High Availability](https://cloud.google.com/sql/docs/postgres/high-availability) [Google Cloud SQL](https://cloud.google.com/sql/)
|
||||
[PostgreSQL](https://cloud.google.com/sql/docs/postgres/) database cluster with a [public IP address](https://cloud.google.com/sql/docs/postgres/connect-external-app#appaccessIP) and a [read replica](https://cloud.google.com/sql/docs/postgres/replication/).
|
||||
|
||||
## How do you run this example?
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Cloud SQL Module
|
||||
|
||||
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
|
||||
relative linking correctly.
|
||||
-->
|
||||
|
||||
This module creates a [Google Cloud SQL](https://cloud.google.com/sql/) cluster.
|
||||
The cluster is managed by Google, automating backups, replication, patches, and updates.
|
||||
|
||||
@@ -7,12 +11,12 @@ This module helps you run [MySQL](https://cloud.google.com/sql/docs/mysql/) and
|
||||
|
||||
## How do you use this module?
|
||||
|
||||
See the [examples](/examples) folder for an example.
|
||||
See the [examples](https://github.com/gruntwork-io/terraform-google-sql/tree/master/examples) folder for an example.
|
||||
|
||||
## How do you configure this module?
|
||||
|
||||
This module allows you to configure a number of parameters, such as high availability, backup windows, maintenance window and replicas.
|
||||
For a list of all available variables and their descriptions, see [variables.tf](./variables.tf).
|
||||
For a list of all available variables and their descriptions, see [variables.tf](https://github.com/gruntwork-io/terraform-google-sql/blob/master/modules/cloud-sql/variables.tf).
|
||||
|
||||
## How do you connect to the database?
|
||||
|
||||
@@ -92,7 +96,7 @@ See https://github.com/terraform-providers/terraform-provider-google/issues/2446
|
||||
|
||||
Retrieving and outputting distinct values from list of maps is not possible with resources using `count` prior to `terraform 0.12`.
|
||||
Instead we have to output the values JSON encoded - for example `read_replica_server_ca_certs`. For full details of the outputs and
|
||||
their format, see [outputs.tf](./outputs.tf).
|
||||
their format, see [outputs.tf](https://github.com/gruntwork-io/terraform-google-sql/blob/master/modules/cloud-sql/outputs.tf).
|
||||
|
||||
See https://github.com/hashicorp/terraform/issues/17048
|
||||
|
||||
|
||||
Reference in New Issue
Block a user