https://github.com/truefoundry/terraform-google-tfy-control-plane
Truefoundry Google Cloud Control Plane Module
https://github.com/truefoundry/terraform-google-tfy-control-plane
Last synced: 6 months ago
JSON representation
Truefoundry Google Cloud Control Plane Module
- Host: GitHub
- URL: https://github.com/truefoundry/terraform-google-tfy-control-plane
- Owner: truefoundry
- License: apache-2.0
- Created: 2023-07-12T11:43:35.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-19T10:20:17.000Z (over 1 year ago)
- Last Synced: 2025-02-19T11:26:26.808Z (over 1 year ago)
- Language: HCL
- Size: 50.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# terraform-google-truefoundry-control-plane
Truefoundry Google Cloud Control Plane Module
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | ~> 1.4 |
| [google](#requirement\_google) | ~> 6.21 |
| [random](#requirement\_random) | ~> 3.6 |
## Providers
| Name | Version |
|------|---------|
| [google](#provider\_google) | ~> 6.21 |
| [random](#provider\_random) | ~> 3.6 |
## Modules
| Name | Source | Version |
|------|--------|---------|
| [postgresql-db](#module\_postgresql-db) | GoogleCloudPlatform/sql-db/google//modules/postgresql | 23.0.0 |
| [service\_account\_iam\_bindings](#module\_service\_account\_iam\_bindings) | terraform-google-modules/iam/google//modules/service_accounts_iam | 8.0.0 |
| [service\_accounts](#module\_service\_accounts) | terraform-google-modules/service-accounts/google | 4.5.0 |
| [truefoundry\_gcs](#module\_truefoundry\_gcs) | terraform-google-modules/cloud-storage/google//modules/simple_bucket | 9.1.0 |
## Resources
| Name | Type |
|------|------|
| [google_compute_global_address.default](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_global_address) | resource |
| [google_service_networking_connection.default](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/service_networking_connection) | resource |
| [random_password.truefoundry_db_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [cluster\_name](#input\_cluster\_name) | Truefoundry deployment unique name | `string` | n/a | yes |
| [mlfoundry\_k8s\_namespace](#input\_mlfoundry\_k8s\_namespace) | The k8s mlfoundry namespace | `string` | `"truefoundry"` | no |
| [mlfoundry\_k8s\_service\_account](#input\_mlfoundry\_k8s\_service\_account) | The k8s mlfoundry service account name | `string` | `"mlfoundry-server"` | no |
| [project\_id](#input\_project\_id) | GCP Project | `string` | n/a | yes |
| [region](#input\_region) | region | `string` | n/a | yes |
| [svcfoundry\_k8s\_namespace](#input\_svcfoundry\_k8s\_namespace) | The k8s svcfoundry namespace | `string` | `"truefoundry"` | no |
| [svcfoundry\_k8s\_service\_account](#input\_svcfoundry\_k8s\_service\_account) | The k8s svcfoundry service account name | `string` | `"servicefoundry-server"` | no |
| [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no |
| [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 |
| [truefoundry\_db\_database\_charset](#input\_truefoundry\_db\_database\_charset) | Charset for the default database | `string` | `"UTF8"` | no |
| [truefoundry\_db\_database\_collation](#input\_truefoundry\_db\_database\_collation) | Collation for the default database | `string` | `"en_US.UTF8"` | no |
| [truefoundry\_db\_database\_name](#input\_truefoundry\_db\_database\_name) | Name of the database | `string` | `"ctl"` | no |
| [truefoundry\_db\_deletion\_protection](#input\_truefoundry\_db\_deletion\_protection) | Enable deletion protection | `bool` | `false` | no |
| [truefoundry\_db\_disk\_autoresize](#input\_truefoundry\_db\_disk\_autoresize) | Automically increase storage size | `bool` | `true` | no |
| [truefoundry\_db\_disk\_autoresize\_limit](#input\_truefoundry\_db\_disk\_autoresize\_limit) | Automically increase storage size | `number` | `30` | no |
| [truefoundry\_db\_disk\_size](#input\_truefoundry\_db\_disk\_size) | Disk size of the master instance | `number` | `20` | no |
| [truefoundry\_db\_disk\_type](#input\_truefoundry\_db\_disk\_type) | Disk size of the master instance | `string` | `"PD_SSD"` | no |
| [truefoundry\_db\_edition](#input\_truefoundry\_db\_edition) | The edition of the instance, can be ENTERPRISE or ENTERPRISE\_PLUS | `string` | `null` | no |
| [truefoundry\_db\_enable](#input\_truefoundry\_db\_enable) | Enable CloudSQL database | `bool` | `true` | no |
| [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 |
| [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 |
| [truefoundry\_db\_override\_name](#input\_truefoundry\_db\_override\_name) | Override name for truefoundry db. truefoundry\_db\_enable\_override must be set true | `string` | `""` | no |
| [truefoundry\_db\_postgres\_version](#input\_truefoundry\_db\_postgres\_version) | Postgres version of cloudSQL | `string` | `"POSTGRES_15"` | no |
| [truefoundry\_db\_tier](#input\_truefoundry\_db\_tier) | Instance class for SQL DB | `string` | `"db-custom-1-3840"` | no |
| [truefoundry\_db\_zone](#input\_truefoundry\_db\_zone) | Zone for SQL DB - This must match the region | `string` | `""` | no |
| [truefoundry\_gcs\_cors\_origins](#input\_truefoundry\_gcs\_cors\_origins) | Allowed CORS origin for GCS bucket | `list(string)` |
[
"*"
]
| no |
| [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 |
| [truefoundry\_gcs\_enabled](#input\_truefoundry\_gcs\_enabled) | Enable creation of GCS bucket | `bool` | `true` | no |
| [truefoundry\_gcs\_force\_destroy](#input\_truefoundry\_gcs\_force\_destroy) | Enable force destroy on GCS bucket | `bool` | `true` | no |
| [truefoundry\_gcs\_override\_name](#input\_truefoundry\_gcs\_override\_name) | Override name for GCS bucket. truefoundry\_gcs\_enable\_override must be set true | `string` | `""` | no |
| [truefoundry\_k8s\_namespace](#input\_truefoundry\_k8s\_namespace) | The k8s truefoundry namespace | `string` | `"truefoundry"` | no |
| [truefoundry\_k8s\_service\_account](#input\_truefoundry\_k8s\_service\_account) | The k8s truefoundry service account name | `string` | `"truefoundry"` | no |
| [vpc\_id](#input\_vpc\_id) | ID of the network VPC | `string` | n/a | yes |
## Outputs
| Name | Description |
|------|-------------|
| [bucket\_name](#output\_bucket\_name) | GCS bucket name |
| [bucket\_url](#output\_bucket\_url) | GCS bucket URL |
| [database\_name](#output\_database\_name) | Database's name |
| [database\_password](#output\_database\_password) | Database's password |
| [database\_username](#output\_database\_username) | Database's username |
| [instance\_ip\_address](#output\_instance\_ip\_address) | Database instance IP address |
| [instance\_name](#output\_instance\_name) | Database instance name |
| [instance\_self\_link](#output\_instance\_self\_link) | Self link of the database |
| [instance\_server\_ca\_cert](#output\_instance\_server\_ca\_cert) | Self link of the database server ca cert |
| [instance\_service\_account\_email\_address](#output\_instance\_service\_account\_email\_address) | Service account email address |
| [instances](#output\_instances) | n/a |
| [primary](#output\_primary) | n/a |
| [private\_ip\_address](#output\_private\_ip\_address) | Private IP address of the database instance |
| [serviceaccount\_binding\_service\_accounts](#output\_serviceaccount\_binding\_service\_accounts) | Serviceaccount bindings |
| [serviceaccount\_detail](#output\_serviceaccount\_detail) | Serviceaccount details |
| [serviceaccount\_email](#output\_serviceaccount\_email) | Serviceaccount email |
| [serviceaccount\_iam\_email](#output\_serviceaccount\_iam\_email) | Serviceaccount IAM email |
| [serviceaccount\_members](#output\_serviceaccount\_members) | Serviceaccount members |
| [serviceaccount\_roles](#output\_serviceaccount\_roles) | Serviceaccount roles |