{"id":22472988,"url":"https://github.com/truefoundry/terraform-google-tfy-control-plane","last_synced_at":"2026-01-06T18:05:02.368Z","repository":{"id":180680888,"uuid":"665521293","full_name":"truefoundry/terraform-google-tfy-control-plane","owner":"truefoundry","description":"Truefoundry Google Cloud Control Plane Module","archived":false,"fork":false,"pushed_at":"2025-02-19T10:20:17.000Z","size":52,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-19T11:26:26.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/truefoundry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-12T11:43:35.000Z","updated_at":"2025-02-05T04:36:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba362925-fe95-4857-bbb8-259fc578c462","html_url":"https://github.com/truefoundry/terraform-google-tfy-control-plane","commit_stats":null,"previous_names":["truefoundry/terraform-google-truefoundry-control-plane","truefoundry/terraform-google-tfy-control-plane"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-tfy-control-plane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-tfy-control-plane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-tfy-control-plane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-tfy-control-plane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/truefoundry","download_url":"https://codeload.github.com/truefoundry/terraform-google-tfy-control-plane/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245880824,"owners_count":20687614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-06T12:18:19.512Z","updated_at":"2026-01-06T18:05:02.356Z","avatar_url":"https://github.com/truefoundry.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-google-truefoundry-control-plane\nTruefoundry Google Cloud Control Plane Module\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | ~\u003e 1.4 |\n| \u003ca name=\"requirement_google\"\u003e\u003c/a\u003e [google](#requirement\\_google) | ~\u003e 6.21 |\n| \u003ca name=\"requirement_random\"\u003e\u003c/a\u003e [random](#requirement\\_random) | ~\u003e 3.6 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_google\"\u003e\u003c/a\u003e [google](#provider\\_google) | ~\u003e 6.21 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | ~\u003e 3.6 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_postgresql-db\"\u003e\u003c/a\u003e [postgresql-db](#module\\_postgresql-db) | GoogleCloudPlatform/sql-db/google//modules/postgresql | 23.0.0 |\n| \u003ca name=\"module_service_account_iam_bindings\"\u003e\u003c/a\u003e [service\\_account\\_iam\\_bindings](#module\\_service\\_account\\_iam\\_bindings) | terraform-google-modules/iam/google//modules/service_accounts_iam | 8.0.0 |\n| \u003ca name=\"module_service_accounts\"\u003e\u003c/a\u003e [service\\_accounts](#module\\_service\\_accounts) | terraform-google-modules/service-accounts/google | 4.5.0 |\n| \u003ca name=\"module_truefoundry_gcs\"\u003e\u003c/a\u003e [truefoundry\\_gcs](#module\\_truefoundry\\_gcs) | terraform-google-modules/cloud-storage/google//modules/simple_bucket | 9.1.0 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [google_compute_global_address.default](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_global_address) | resource |\n| [google_service_networking_connection.default](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/service_networking_connection) | resource |\n| [random_password.truefoundry_db_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#input\\_cluster\\_name) | Truefoundry deployment unique name | `string` | n/a | yes |\n| \u003ca name=\"input_mlfoundry_k8s_namespace\"\u003e\u003c/a\u003e [mlfoundry\\_k8s\\_namespace](#input\\_mlfoundry\\_k8s\\_namespace) | The k8s mlfoundry namespace | `string` | `\"truefoundry\"` | no |\n| \u003ca name=\"input_mlfoundry_k8s_service_account\"\u003e\u003c/a\u003e [mlfoundry\\_k8s\\_service\\_account](#input\\_mlfoundry\\_k8s\\_service\\_account) | The k8s mlfoundry service account name | `string` | `\"mlfoundry-server\"` | no |\n| \u003ca name=\"input_project_id\"\u003e\u003c/a\u003e [project\\_id](#input\\_project\\_id) | GCP Project | `string` | n/a | yes |\n| \u003ca name=\"input_region\"\u003e\u003c/a\u003e [region](#input\\_region) | region | `string` | n/a | yes |\n| \u003ca name=\"input_svcfoundry_k8s_namespace\"\u003e\u003c/a\u003e [svcfoundry\\_k8s\\_namespace](#input\\_svcfoundry\\_k8s\\_namespace) | The k8s svcfoundry namespace | `string` | `\"truefoundry\"` | no |\n| \u003ca name=\"input_svcfoundry_k8s_service_account\"\u003e\u003c/a\u003e [svcfoundry\\_k8s\\_service\\_account](#input\\_svcfoundry\\_k8s\\_service\\_account) | The k8s svcfoundry service account name | `string` | `\"servicefoundry-server\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no |\n| \u003ca name=\"input_truefoundry_db_availability_type\"\u003e\u003c/a\u003e [truefoundry\\_db\\_availability\\_type](#input\\_truefoundry\\_db\\_availability\\_type) | Postgres availability type for the master instance. Accepted values are [ZONAL, REGIONAL]. Chose REGIONAL for HA | `string` | `\"REGIONAL\"` | no |\n| \u003ca name=\"input_truefoundry_db_database_charset\"\u003e\u003c/a\u003e [truefoundry\\_db\\_database\\_charset](#input\\_truefoundry\\_db\\_database\\_charset) | Charset for the default database | `string` | `\"UTF8\"` | no |\n| \u003ca name=\"input_truefoundry_db_database_collation\"\u003e\u003c/a\u003e [truefoundry\\_db\\_database\\_collation](#input\\_truefoundry\\_db\\_database\\_collation) | Collation for the default database | `string` | `\"en_US.UTF8\"` | no |\n| \u003ca name=\"input_truefoundry_db_database_name\"\u003e\u003c/a\u003e [truefoundry\\_db\\_database\\_name](#input\\_truefoundry\\_db\\_database\\_name) | Name of the database | `string` | `\"ctl\"` | no |\n| \u003ca name=\"input_truefoundry_db_deletion_protection\"\u003e\u003c/a\u003e [truefoundry\\_db\\_deletion\\_protection](#input\\_truefoundry\\_db\\_deletion\\_protection) | Enable deletion protection | `bool` | `false` | no |\n| \u003ca name=\"input_truefoundry_db_disk_autoresize\"\u003e\u003c/a\u003e [truefoundry\\_db\\_disk\\_autoresize](#input\\_truefoundry\\_db\\_disk\\_autoresize) | Automically increase storage size | `bool` | `true` | no |\n| \u003ca name=\"input_truefoundry_db_disk_autoresize_limit\"\u003e\u003c/a\u003e [truefoundry\\_db\\_disk\\_autoresize\\_limit](#input\\_truefoundry\\_db\\_disk\\_autoresize\\_limit) | Automically increase storage size | `number` | `30` | no |\n| \u003ca name=\"input_truefoundry_db_disk_size\"\u003e\u003c/a\u003e [truefoundry\\_db\\_disk\\_size](#input\\_truefoundry\\_db\\_disk\\_size) | Disk size of the master instance | `number` | `20` | no |\n| \u003ca name=\"input_truefoundry_db_disk_type\"\u003e\u003c/a\u003e [truefoundry\\_db\\_disk\\_type](#input\\_truefoundry\\_db\\_disk\\_type) | Disk size of the master instance | `string` | `\"PD_SSD\"` | no |\n| \u003ca name=\"input_truefoundry_db_edition\"\u003e\u003c/a\u003e [truefoundry\\_db\\_edition](#input\\_truefoundry\\_db\\_edition) | The edition of the instance, can be ENTERPRISE or ENTERPRISE\\_PLUS | `string` | `null` | no |\n| \u003ca name=\"input_truefoundry_db_enable\"\u003e\u003c/a\u003e [truefoundry\\_db\\_enable](#input\\_truefoundry\\_db\\_enable) | Enable CloudSQL database | `bool` | `true` | no |\n| \u003ca name=\"input_truefoundry_db_enable_override\"\u003e\u003c/a\u003e [truefoundry\\_db\\_enable\\_override](#input\\_truefoundry\\_db\\_enable\\_override) | Enable override for truefoundry db name. You must pass truefoundry\\_db\\_override\\_name | `bool` | `false` | no |\n| \u003ca name=\"input_truefoundry_db_network_cidr\"\u003e\u003c/a\u003e [truefoundry\\_db\\_network\\_cidr](#input\\_truefoundry\\_db\\_network\\_cidr) | Network CIDR for the truefoundry postgres database. Minimum range is /28. This CIDR must be different from the main subnet where your cluster is getting created. This subnet is created inside the GCP's network. | `string` | `\"\"` | no |\n| \u003ca name=\"input_truefoundry_db_override_name\"\u003e\u003c/a\u003e [truefoundry\\_db\\_override\\_name](#input\\_truefoundry\\_db\\_override\\_name) | Override name for truefoundry db. truefoundry\\_db\\_enable\\_override must be set true | `string` | `\"\"` | no |\n| \u003ca name=\"input_truefoundry_db_postgres_version\"\u003e\u003c/a\u003e [truefoundry\\_db\\_postgres\\_version](#input\\_truefoundry\\_db\\_postgres\\_version) | Postgres version of cloudSQL | `string` | `\"POSTGRES_15\"` | no |\n| \u003ca name=\"input_truefoundry_db_tier\"\u003e\u003c/a\u003e [truefoundry\\_db\\_tier](#input\\_truefoundry\\_db\\_tier) | Instance class for SQL DB | `string` | `\"db-custom-1-3840\"` | no |\n| \u003ca name=\"input_truefoundry_db_zone\"\u003e\u003c/a\u003e [truefoundry\\_db\\_zone](#input\\_truefoundry\\_db\\_zone) | Zone for SQL DB - This must match the region | `string` | `\"\"` | no |\n| \u003ca name=\"input_truefoundry_gcs_cors_origins\"\u003e\u003c/a\u003e [truefoundry\\_gcs\\_cors\\_origins](#input\\_truefoundry\\_gcs\\_cors\\_origins) | Allowed CORS origin for GCS bucket | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"*\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_truefoundry_gcs_enable_override\"\u003e\u003c/a\u003e [truefoundry\\_gcs\\_enable\\_override](#input\\_truefoundry\\_gcs\\_enable\\_override) | Enable override for GCS bucket name. You must pass truefoundry\\_gcs\\_override\\_name | `bool` | `false` | no |\n| \u003ca name=\"input_truefoundry_gcs_enabled\"\u003e\u003c/a\u003e [truefoundry\\_gcs\\_enabled](#input\\_truefoundry\\_gcs\\_enabled) | Enable creation of GCS bucket | `bool` | `true` | no |\n| \u003ca name=\"input_truefoundry_gcs_force_destroy\"\u003e\u003c/a\u003e [truefoundry\\_gcs\\_force\\_destroy](#input\\_truefoundry\\_gcs\\_force\\_destroy) | Enable force destroy on GCS bucket | `bool` | `true` | no |\n| \u003ca name=\"input_truefoundry_gcs_override_name\"\u003e\u003c/a\u003e [truefoundry\\_gcs\\_override\\_name](#input\\_truefoundry\\_gcs\\_override\\_name) | Override name for GCS bucket. truefoundry\\_gcs\\_enable\\_override must be set true | `string` | `\"\"` | no |\n| \u003ca name=\"input_truefoundry_k8s_namespace\"\u003e\u003c/a\u003e [truefoundry\\_k8s\\_namespace](#input\\_truefoundry\\_k8s\\_namespace) | The k8s truefoundry namespace | `string` | `\"truefoundry\"` | no |\n| \u003ca name=\"input_truefoundry_k8s_service_account\"\u003e\u003c/a\u003e [truefoundry\\_k8s\\_service\\_account](#input\\_truefoundry\\_k8s\\_service\\_account) | The k8s truefoundry service account name | `string` | `\"truefoundry\"` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | ID of the network VPC | `string` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_bucket_name\"\u003e\u003c/a\u003e [bucket\\_name](#output\\_bucket\\_name) | GCS bucket name |\n| \u003ca name=\"output_bucket_url\"\u003e\u003c/a\u003e [bucket\\_url](#output\\_bucket\\_url) | GCS bucket URL |\n| \u003ca name=\"output_database_name\"\u003e\u003c/a\u003e [database\\_name](#output\\_database\\_name) | Database's name |\n| \u003ca name=\"output_database_password\"\u003e\u003c/a\u003e [database\\_password](#output\\_database\\_password) | Database's password |\n| \u003ca name=\"output_database_username\"\u003e\u003c/a\u003e [database\\_username](#output\\_database\\_username) | Database's username |\n| \u003ca name=\"output_instance_ip_address\"\u003e\u003c/a\u003e [instance\\_ip\\_address](#output\\_instance\\_ip\\_address) | Database instance IP address |\n| \u003ca name=\"output_instance_name\"\u003e\u003c/a\u003e [instance\\_name](#output\\_instance\\_name) | Database instance name |\n| \u003ca name=\"output_instance_self_link\"\u003e\u003c/a\u003e [instance\\_self\\_link](#output\\_instance\\_self\\_link) | Self link of the database |\n| \u003ca name=\"output_instance_server_ca_cert\"\u003e\u003c/a\u003e [instance\\_server\\_ca\\_cert](#output\\_instance\\_server\\_ca\\_cert) | Self link of the database server ca cert |\n| \u003ca name=\"output_instance_service_account_email_address\"\u003e\u003c/a\u003e [instance\\_service\\_account\\_email\\_address](#output\\_instance\\_service\\_account\\_email\\_address) | Service account email address |\n| \u003ca name=\"output_instances\"\u003e\u003c/a\u003e [instances](#output\\_instances) | n/a |\n| \u003ca name=\"output_primary\"\u003e\u003c/a\u003e [primary](#output\\_primary) | n/a |\n| \u003ca name=\"output_private_ip_address\"\u003e\u003c/a\u003e [private\\_ip\\_address](#output\\_private\\_ip\\_address) | Private IP address of the database instance |\n| \u003ca name=\"output_serviceaccount_binding_service_accounts\"\u003e\u003c/a\u003e [serviceaccount\\_binding\\_service\\_accounts](#output\\_serviceaccount\\_binding\\_service\\_accounts) | Serviceaccount bindings |\n| \u003ca name=\"output_serviceaccount_detail\"\u003e\u003c/a\u003e [serviceaccount\\_detail](#output\\_serviceaccount\\_detail) | Serviceaccount details |\n| \u003ca name=\"output_serviceaccount_email\"\u003e\u003c/a\u003e [serviceaccount\\_email](#output\\_serviceaccount\\_email) | Serviceaccount email |\n| \u003ca name=\"output_serviceaccount_iam_email\"\u003e\u003c/a\u003e [serviceaccount\\_iam\\_email](#output\\_serviceaccount\\_iam\\_email) | Serviceaccount IAM email |\n| \u003ca name=\"output_serviceaccount_members\"\u003e\u003c/a\u003e [serviceaccount\\_members](#output\\_serviceaccount\\_members) | Serviceaccount members |\n| \u003ca name=\"output_serviceaccount_roles\"\u003e\u003c/a\u003e [serviceaccount\\_roles](#output\\_serviceaccount\\_roles) | Serviceaccount roles |\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruefoundry%2Fterraform-google-tfy-control-plane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftruefoundry%2Fterraform-google-tfy-control-plane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruefoundry%2Fterraform-google-tfy-control-plane/lists"}