Skip to content

Commit 3749dd2

Browse files
committed
Updating
1 parent cdd977f commit 3749dd2

File tree

8 files changed

+71
-11
lines changed

8 files changed

+71
-11
lines changed

infra-base/.terraform.lock.hcl

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

infra-base/backend.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
terraform {
2+
backend "gcs" {
3+
bucket = "tfstate-observatudo"
4+
prefix = "infra-base"
5+
}
6+
}
7+
#Este arquivo não é aplicado, mas serve como modelo para os diretórios que usam o bucket (como zones/observatudo.com.br)

infra-base/bucket.tf

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
resource "google_storage_bucket" "terraform_state" {
2-
name = "terraform-state-observatudo"
3-
location = "US"
2+
name = "tfstate-observatudo"
3+
location = "us-east1"
4+
45
force_destroy = false
56
uniform_bucket_level_access = true
67

8+
79
versioning {
8-
enabled = true
10+
enabled = false
911
}
1012

1113
lifecycle_rule {

infra-base/iam.tf

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
1-
resource "google_project_iam_member" "ci_dns_admin" {
1+
resource "google_project_iam_member" "terraform_ci_dns" {
22
project = var.project_id
33
role = "roles/dns.admin"
4-
member = "serviceAccount:${google_service_account.ci_terraform.email}"
4+
member = "serviceAccount:${google_service_account.terraform_ci.email}"
55
}
6+
7+
resource "google_project_iam_member" "terraform_ci_storage" {
8+
project = var.project_id
9+
role = "roles/storage.admin"
10+
member = "serviceAccount:${google_service_account.terraform_ci.email}"
11+
}
12+
13+
resource "google_project_iam_member" "terraform_ci_iam_viewer" {
14+
project = var.project_id
15+
role = "roles/iam.serviceAccountViewer"
16+
member = "serviceAccount:${google_service_account.terraform_ci.email}"
17+
}

infra-base/main.tf

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ terraform {
99

1010
provider "google" {
1111
project = var.project_id
12-
region = "us-central1"
12+
region = var.region
1313
}
1414

15-
# Importa os recursos definidos nos arquivos separados
16-
# (Apenas por estarem no mesmo diretório, já serão incluídos automaticamente)
15+
# Os recursos estão organizados em arquivos separados:
16+
# - bucket.tf
17+
# - service_account.tf
18+
# - iam.tf (opcional)
19+
# Estes serão incluídos automaticamente durante a execução.

infra-base/service-account.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
resource "google_service_account" "ci_terraform" {
1+
resource "google_service_account" "terraform_ci" {
22
account_id = "terraform-ci"
3-
display_name = "Terraform CI Service Account"
4-
description = "Service account usada pelo GitHub Actions para aplicar o Terraform"
3+
display_name = "Terraform CI/CD"
4+
description = "Service Account usada para aplicar configurações do Terraform com permissões mínimas"
55
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
project_id = "observatudo-infra"
2+
bucket_name = "tfstate-observatudo"
3+
region = "us-east1"

infra-base/variables.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,14 @@ variable "project_id" {
22
description = "ID do projeto GCP onde os recursos serão criados"
33
type = string
44
}
5+
6+
variable "bucket_name" {
7+
description = "Nome do bucket para o terraform.tfstate"
8+
type = string
9+
}
10+
11+
variable "region" {
12+
description = "Região onde o bucket será criado"
13+
type = string
14+
default = "us-east1"
15+
}

0 commit comments

Comments
 (0)