All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- hardcoded
log_min_duration_statementfrom database_flags
- ability to override
database_flagsandenable_query_insightson read replica basis
default_dbname_overrideparameter allowing to override default database name
name_overrideparameter allowing to define final instance namepassword_specialparamater allowing to create Cloud SQL users password without special characters
provision_kubernetes_resourcesvariable, which, when set to false, allows us to provision instance without Kubernetes resources. This is useful, for example, when provisioning Postgres to project with Cloud Run.
- secondary location preference variable for HA instance
- disk autoresize parameters
- custom service account name parameter
- kubernetes service name parameter
- read replica ip address output
- transaction log retention limit
- user labels to the cloud sql instance
- unused providers definition
- Add
deletion_protectioninput variable
- Remove of
enable_local_accessdue to usage of (GoCloud)[https://registry.terraform.io/providers/cyrilgdn/postgresql/latest/docs#gocloud]
- Add connection name to output
- CloudSQL query insights configuration for read replicas
- Read replica must have ZONAL availability zone
- Parameterize hardcoded variables
- Point-in-time recovery configuration
- User suffix appended after automatically generated suffix
- Remove
load_config_fileparameter fromkubernetesprovider - this allows its upgrade to version 2 - Bump
kubernetesprovider version in example
- CloudSQL query insights configuration
- Change README usage description
- Cluster master username, password
- Cluster master auth token
- Required Terraform version bumped to 0.13
- Changed
google_project_serviceto do not disable the service on destroy
- Parameter
authorized_networksallows to add auth-networks on read replicas.
- Add input variable
database_flagsto enable Cloud SQL flags
- Array parameter
read_replicasallows creation of CloudSQL read replicas. - Parameter
db_versionto specify version of Postgres deployed
- Set example GKE
cluster_nameparameter topostgresql-cluster-test, so it does not collide with other clusters in project - Set example Postgres instance parameter
sqlproxy_dependenciestofalse, because we are no longer using SQLProxy for internal connections - Set example Postgres instance parameter
public_iptotrue, soauthorized_networksparameter is applicable
- Remove providers locking - this should be done in main module in infrastructure repo from now on.
- Add locking to
example/main.tf - Remove executable permissions from
example/spinup_testing.sh- it should never be run directly, but must be used withsourcecmd
- Upgrade random provider lock to
~> 2.3.0
- Add parameter
sqlproxy_dependencieswhich controls if we create SQLProxy dependencies - GCP IAM SA, Kubernetes secret and Kubernetes Service
- Fix Kubernetes Service copypaste fail - Postgres uses port 5432
- Add authorized networks as a module parameter to allow external public connections
- Add public ip to enable access to psql for external terraform provider
- Add a k8s service named
cloudsqlifvar.private_ipis set totruetargeting the private IP address of Cloud SQL instance. Prefer this setting if your use-case allows that instead of the Cloud SQL proxy.
- Add pre-commit hooks for automatic documentation
- Add description on outputs and variables
- Add example on how to use the module
- Upgrade Google GA provider lock to
~> 3.19.0. Note: this upgrade should need upgrade of other TF modules to satisfy same version ofgoogleprovider. For compatible versions, see: https://redmine.ack.ee/issues/43227#note-11
- Upgrade Kubernetes provider version lock to
~> 1.11.0, to maintain compatibility with terraform-gke-vpc module
- trim account name to 30 characters
- fix SA name
- set maximum lenght of sql proxy account name to 30 characters
- fix vault config
- add required
vault_secret_pathparameter - lock google provider
- log slow queries
- improve service account name
- remove random suffix from service account name
- remove unused name parameter
- upgrade to Terraform 0.12
- fix postgres database name
- initial release