Skip to content

casperakos/terraform-google-sql-db

 
 

Repository files navigation

terraform-google-sql

terraform-google-sql makes it easy to create Google CloudSQL instance and implement high availability settings. This module consists of the following submodules:

See more details in each module's README.

Compatibility

This module is meant for use with Terraform 0.12. If you haven't upgraded and need a Terraform 0.11.x-compatible version of this module, the last released version intended for Terraform 0.11.x is v1.2.0.

Upgrading

The current version is 3.X. The following guides are available to assist with upgrades:

Root module

The root module has been deprecated. Please switch to using one of the submodules.

Requirements

Installation Dependencies

The following dependency must be available for SQL Server module:

Configure a Service Account

In order to execute this module you must have a Service Account with the following:

Roles

  • Cloud SQL Admin: roles/cloudsql.admin
  • Compute Network Admin: roles/compute.networkAdmin

Enable APIs

In order to operate with the Service Account you must activate the following APIs on the project where the Service Account was created:

  • Cloud SQL Admin API: sqladmin.googleapis.com

In order to use Private Service Access, required for using Private IPs, you must activate the following APIs on the project where your VPC resides:

  • Cloud SQL Admin API: sqladmin.googleapis.com
  • Compute Engine API: compute.googleapis.com
  • Service Networking API: servicenetworking.googleapis.com
  • Cloud Resource Manager API: cloudresourcemanager.googleapis.com

Service Account Credentials

You can pass the service account credentials into this module by setting the following environment variables:

  • GOOGLE_CREDENTIALS
  • GOOGLE_CLOUD_KEYFILE_JSON
  • GCLOUD_KEYFILE_JSON

See more details.

Provision Instructions

This module has no root configuration. A module with no root configuration cannot be used directly.

Copy and paste into your Terraform configuration, insert the variables, and run terraform init :

For MySQL :

module "sql-db" {
  source  = "GoogleCloudPlatform/sql-db/google//modules/mysql"
  version = "4.0.0"
}

or for PostgreSQL :

module "sql-db" {
  source  = "GoogleCloudPlatform/sql-db/google//modules/postgresql"
  version = "4.0.0"
}

or for MSSQL Server :

module "sql-db" {
  source  = "GoogleCloudPlatform/sql-db/google//modules/mssql"
  version = "4.0.0"
}

Contributing

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

About

Modular Cloud SQL database instance for Terraform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HCL 67.5%
  • Ruby 18.3%
  • Python 10.8%
  • Makefile 2.6%
  • Shell 0.8%