Skip to content

Commit 2f35b5c

Browse files
committed
Atualiza o readme
1 parent f1c9447 commit 2f35b5c

File tree

1 file changed

+53
-7
lines changed

1 file changed

+53
-7
lines changed

README.md

Lines changed: 53 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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.**
4958
Todo 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

Comments
 (0)