@@ -29,13 +29,22 @@ Este repositório público gerencia, via **Terraform**, a infraestrutura de DNS
2929## 📁 Estrutura do repositório
3030
3131``` bash
32- terraform/
33- ├── zone.tf # Criação da zona DNS
34- ├── root-and-www.tf # Registros A e CNAME do domínio principal
35- ├── jdias.tf # Registros para subdomínio jdias
36- ├── variables.tf # (opcional) variáveis reutilizáveis
37- └── backend.tf # Configuração do state remoto (GCS)
38- ```
32+ manage-dns/
33+ ├── infra-base/ # Infraestrutura de suporte (bucket, SA, IAM)
34+ │ ├── bucket.tf
35+ │ ├── iam.tf
36+ │ ├── service-account.tf
37+ │ └── variables.tf
38+
39+ ├── zones/ # Zonas DNS públicas gerenciadas via Terraform
40+ │ ├── observatudo.com.br/
41+ │ │ ├── backend.tf # Configuração do state remoto
42+ │ │ ├── zone.tf # Criação da zona DNS
43+ │ │ ├── root-and-www.tf # Registros principais (A e CNAME)
44+ │ │ └── jdias.tf # Subdomínio específico
45+ │ ├── foo.com.br/
46+
47+ └── .github/workflows/ # Automação com GitHub Actions (em construção)
3948
4049---
4150
@@ -48,6 +57,43 @@ terraform/
4857** ⚠️ Nunca inclua segredos ou credenciais diretamente no código.**
4958Todo o acesso à infraestrutura é feito por autenticação segura, utilizando service accounts com permissões mínimas no GCP.
5059
60+ ---
61+
62+ # # 🚀 Inicialização do projeto GCP
63+
64+ Antes de aplicar qualquer configuração de DNS, é necessário ter um ** projeto GCP com billing ativado** e permissões para:
65+
66+ - Criar buckets no Cloud Storage
67+ - Criar Service Accounts
68+ - Gerenciar permissões IAM
69+
70+ Você pode usar um projeto já existente ou criar manualmente pelo Console GCP.
71+
72+ ---
73+
74+ # # ⚙️ Aplicação da infraestrutura base (`infra-base/`)
75+
76+ Este passo cria os recursos necessários para o Terraform funcionar corretamente:
77+
78+ - Bucket GCS para armazenamento do state remoto
79+ - Service Account para uso no CI/CD
80+ - Permissões IAM mínimas
81+
82+ # ## ✅ Como aplicar:
83+
84+ ` ` ` bash
85+ cd infra-base
86+ terraform init
87+ terraform plan
88+ terraform apply
89+ ` ` `
90+ Após isso, o bucket e a conta estarão prontos para uso com as zonas em ` zones/` .
91+
92+ > ⚠️ A variável ` project_id` deve ser definida via ` terraform.tfvars` ou com a flag ` -var=" project_id=seu-projeto" ` , conforme sua estrutura local.
93+
94+ 💡 Após a aplicação, o bucket de state remoto estará criado e a Service Account configurada para uso seguro nos pipelines de CI/CD.
95+
96+
5197---
5298
5399# # 👨💻 Sobre mim
0 commit comments