basedosdados / iac

:cloud: CΓ³digo para gerΓͺncia e configuração da infraestrutura em nuvem
https://info.basedosdados.org/links
4 stars 0 forks source link

feat[terraform]: cloudsql module #31

Closed guialvesp1 closed 2 years ago

github-actions[bot] commented 2 years ago

πŸ’° Infracost estimate: monthly cost will increase by $20.07 (+7%) πŸ“ˆ

Project Previous New Diff
basedosdados/iac/terraform $275 $295 +$20.07 (+7%)
Infracost output ``` Project: basedosdados/iac/terraform + module.cloudsql.google_sql_database_instance.main +$20.07 + SQL instance (db-f1-micro, zonal) +$7.67 + Storage (SSD, zonal) +$5.10 + Backups Monthly cost depends on usage +$0.08 per GB + IP address (if unused) +$7.30 Monthly cost change for basedosdados/iac/terraform Amount: +$20.07 ($275 β†’ $295) Percent: +7% ────────────────────────────────── Key: ~ changed, + added, - removed 4 cloud resources were detected: βˆ™ 4 were estimated, all of which include usage-based costs, see https://infracost.io/usage-file ```

This comment will be updated when the cost estimate changes.

Is this comment useful? Yes, No, Other

github-actions[bot] commented 2 years ago

Terraform Format and Style πŸ–Œsuccess

Terraform Initialization βš™οΈsuccess

Terraform Validation πŸ€–success

Validation Output ``` Success! The configuration is valid. ```

Terraform Plan πŸ“–success

Show Plan ``` terraform module.iam.module.service_accounts.google_service_account.gsa-cloudsql: Refreshing state... [id=projects/basedosdados-dev/serviceAccounts/gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com] module.gke.google_container_cluster.primary: Refreshing state... [id=projects/basedosdados-dev/locations/us-central1-c/clusters/basedosdados-dev-gke] module.iam.module.bindings.google_service_account_iam_binding.cloudsql: Refreshing state... [id=projects/basedosdados-dev/serviceAccounts/gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com/roles/iam.workloadIdentityUser] module.iam.module.bindings.google_project_iam_member.cloudsql: Refreshing state... [id=basedosdados-dev/roles/cloudsql.client/serviceAccount:gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com] module.gke.google_container_node_pool.prod_autoscale_node_pool: Refreshing state... [id=projects/basedosdados-dev/locations/us-central1-c/clusters/basedosdados-dev-gke/nodePools/basedosdados-dev-pool-dynamic] module.gke.google_container_node_pool.prod_static_node_pool: Refreshing state... [id=projects/basedosdados-dev/locations/us-central1-c/clusters/basedosdados-dev-gke/nodePools/basedosdados-dev-pool-static] Note: Objects have changed outside of Terraform Terraform detected the following changes made outside of Terraform since the last "terraform apply": # module.iam.module.bindings.google_project_iam_member.cloudsql has changed ~ resource "google_project_iam_member" "cloudsql" { ~ etag = "BwXlNs++Ass=" -> "BwXlu9gHndc=" id = "basedosdados-dev/roles/cloudsql.client/serviceAccount:gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com" # (3 unchanged attributes hidden) } Unless you have made equivalent changes to your configuration, or ignored the relevant attributes using ignore_changes, the following plan may include actions to undo or respond to these changes. ───────────────────────────────────────────────────────────────────────────── Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # module.cloudsql.google_sql_database.ckan_production will be created + resource "google_sql_database" "ckan_production" { + charset = (known after apply) + collation = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "ckan_production" + project = (known after apply) + self_link = (known after apply) } # module.cloudsql.google_sql_database.ckan_staging will be created + resource "google_sql_database" "ckan_staging" { + charset = (known after apply) + collation = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "ckan_staging" + project = (known after apply) + self_link = (known after apply) } # module.cloudsql.google_sql_database.id_server will be created + resource "google_sql_database" "id_server" { + charset = (known after apply) + collation = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "id_basedosdados" + project = (known after apply) + self_link = (known after apply) } # module.cloudsql.google_sql_database.metabase will be created + resource "google_sql_database" "metabase" { + charset = (known after apply) + collation = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "metabase" + project = (known after apply) + self_link = (known after apply) } # module.cloudsql.google_sql_database_instance.main will be created + resource "google_sql_database_instance" "main" { + connection_name = (known after apply) + database_version = "POSTGRES_13" + deletion_protection = false + first_ip_address = (known after apply) + id = (known after apply) + ip_address = (known after apply) + master_instance_name = (known after apply) + name = (known after apply) + private_ip_address = (known after apply) + project = (known after apply) + public_ip_address = (known after apply) + region = "us-central1" + self_link = (known after apply) + server_ca_cert = (known after apply) + service_account_email_address = (known after apply) + replica_configuration { + ca_certificate = (known after apply) + client_certificate = (known after apply) + client_key = (known after apply) + connect_retry_interval = (known after apply) + dump_file_path = (known after apply) + failover_target = (known after apply) + master_heartbeat_period = (known after apply) + password = (sensitive value) + ssl_cipher = (known after apply) + username = (known after apply) + verify_server_certificate = (known after apply) } + settings { + activation_policy = (known after apply) + authorized_gae_applications = (known after apply) + availability_type = (known after apply) + crash_safe_replication = (known after apply) + disk_autoresize = true + disk_autoresize_limit = 200 + disk_size = 30 + disk_type = (known after apply) + pricing_plan = "PER_USE" + replication_type = (known after apply) + tier = "db-f1-micro" + user_labels = (known after apply) + version = (known after apply) + backup_configuration { + enabled = true + start_time = "00:00" + transaction_log_retention_days = (known after apply) + backup_retention_settings { + retained_backups = (known after apply) + retention_unit = (known after apply) } } + database_flags { + name = "max_connections" + value = "500" } + ip_configuration { + ipv4_enabled = (known after apply) + private_network = (known after apply) + require_ssl = (known after apply) + authorized_networks { + expiration_time = (known after apply) + name = (known after apply) + value = (known after apply) } } + location_preference { + zone = "us-central1-c" } } } # module.cloudsql.google_sql_user.ckan_production will be created + resource "google_sql_user" "ckan_production" { + host = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "ckan_production" + password = (sensitive value) + project = (known after apply) } # module.cloudsql.google_sql_user.ckan_staging will be created + resource "google_sql_user" "ckan_staging" { + host = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "ckan_staging" + password = (sensitive value) + project = (known after apply) } # module.cloudsql.google_sql_user.id_server will be created + resource "google_sql_user" "id_server" { + host = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "id_basedosdados" + password = (sensitive value) + project = (known after apply) } # module.cloudsql.google_sql_user.metabase will be created + resource "google_sql_user" "metabase" { + host = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "metabase" + password = (sensitive value) + project = (known after apply) } # module.cloudsql.google_sql_user.prefect will be created + resource "google_sql_user" "prefect" { + host = (known after apply) + id = (known after apply) + instance = (known after apply) + name = "prefect" + password = (sensitive value) + project = (known after apply) } # module.cloudsql.random_id.db_name_suffix will be created + resource "random_id" "db_name_suffix" { + b64_std = (known after apply) + b64_url = (known after apply) + byte_length = 4 + dec = (known after apply) + hex = (known after apply) + id = (known after apply) } Plan: 11 to add, 0 to change, 0 to destroy. ───────────────────────────────────────────────────────────────────────────── Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now. ```

Pusher: @guialvesp1, Action: pull_request, Working Directory: terraform, Workflow: Continuous Integration [Terraform]