postgresql
AckeeCZ/postgresql/sql
Provision GCP Cloud SQL PostgreSQL instance
Terraform Google Cloud SQL Postgres module with K8s secret deploy Terraform module for provisioning GCP SQL Postgres database. It should also deploy the username and password to K8s as a secret. That could be used in setting up cloudsql proxy pod. Usage ``hcl module "postgresql" { source = "AckeeCZ/postgresql/sql" project = "${var.project}" region = "${var.region}" zone = "${var.zone}" namespace = "${var.namespace}" cluster_ca_certificate = "${module.gke.cluster_ca_certificate}" cluster_user = "${module.gke.cluster_username}" cluster_pass = "${module.gke.cluster_password}" cluster_endpoint = "${module.gke.endpoint}" environment = "production" instance_tier = "db-n1-standard-1" # optional, default is db-n1-standard-1 availability_type = "REGIONAL" # REGIONAL for HA setup, ZONAL for single z
| Name | Type | Description | Default |
|---|---|---|---|
| project | string | GCP project name | required |
| vault_secret_path | string | Path to secret in local vault, used mainly to save gke credentials | required |
| region | string | GCP region | "europe-west3" |
| backup_location | string | Location of backups | "eu" |
| maintenance_window_hour | string | The hour, when maintenance window begins | "4" |
| password_length | number | Password length of postgres users | 16 |
| provision_kubernetes_resources | bool | Should we provision anything that needs Kubernetes? | true |
| default_dbname_override | string | Overrides default postgres database name | null |
| environment | string | Project enviroment, e.g. stage, production and development | "development" |
| maintenance_window_day | string | The day, when maintenance window will be performed | "7" |
| sqlproxy_service_account_name | string | SQL instance service account name | null |
| cluster_ca_certificate | string | Public CA certificate that is the root of trust for the GKE K8s cluster | null |
| network | string | GCE VPC used for possible private IP addresses | "default" |
| db_version | string | Database version | "POSTGRES_11" |
| query_string_length_insights | number | Insights maximum query length stored in bytes. Between 256 and 4500. Default to | 1024 |
| cloudsql_port | number | CloudSQL's port | 5432 |
| name_override | string | Sets complete CloudSQL instance name | null |
| zone | string | The preferred compute engine zone | "europe-west3-c" |
| namespace | string | K8s namespace to where insert Cloud SQL credentials secrets | "production" |
| cluster_endpoint | string | Cluster control plane endpoint | "example.com:8080" |
| instance_tier | string | The machine type to use | "db-custom-1-3840" |
| private_ip | bool | If set to true, private IP address will get allocated and connect it to VPC netw | false |
| … and 2 more inputs | |||
postgres_reader_instance_ip_settings — PSQL instance IP address settings of read replicaspostgres_postgres_password — PSQL password to postgres userpostgres_default_password — PSQL password to default userpostgres_instance_name — PSQL instance nameinstance_name — PSQL instance namepostgres_instance_connection_name — PSQL instance connection nameinstance_connection_name — PSQL instance connection namepostgres_instance_ip_settings — PSQL instance IP address settingsAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,