@codigodoleo/wp-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.cspell.json +104 -0
  2. package/.editorconfig +13 -0
  3. package/.eslintignore +3 -0
  4. package/.eslintrc.json +24 -0
  5. package/.github/workflows/publish-npm.yml +32 -0
  6. package/.github/workflows/release-please.yml +25 -0
  7. package/.gitkeep +0 -0
  8. package/.husky/_/post-merge +0 -0
  9. package/.prettierignore +4 -0
  10. package/.prettierrc +8 -0
  11. package/.vscode/settings.json +19 -0
  12. package/CHANGELOG.md +47 -0
  13. package/README.md +115 -0
  14. package/VSCODE_EXTENSIONS.md +11 -0
  15. package/bin/index.js +4 -0
  16. package/docs/HOOKS-SYSTEM.md +172 -0
  17. package/git-deploy.sh +74 -0
  18. package/index.php +17 -0
  19. package/lib/cli.js +15 -0
  20. package/lib/commands/init.js +132 -0
  21. package/lib/core/generator.js +261 -0
  22. package/lib/core/hook-manager.js +172 -0
  23. package/lib/core/infer-ci-capabilities.js +119 -0
  24. package/lib/prompts/index.js +105 -0
  25. package/lib/prompts/loadModulePrompts.js +27 -0
  26. package/lib/utils/generate-from-template.js +17 -0
  27. package/lib/utils/git.js +17 -0
  28. package/lib/utils/logger.js +28 -0
  29. package/modules/deploy/index.js +39 -0
  30. package/modules/deploy/prompts.js +27 -0
  31. package/modules/deploy/templates/.github/workflows/ci.yml.hbs +103 -0
  32. package/modules/deploy/templates/.gitlab/gitlab-ci.yml.hbs +154 -0
  33. package/modules/deploy/templates/bitbucket-pipelines.yml.hbs +97 -0
  34. package/modules/docs/index.js +3 -0
  35. package/modules/docs/prompts.js +8 -0
  36. package/modules/docs/templates/README.md.hbs +160 -0
  37. package/modules/docs/templates/docs/Arquitetura.md +399 -0
  38. package/modules/docs/templates/docs/Deploy-Pipeline.md +113 -0
  39. package/modules/docs/templates/docs/Desenvolvimento.md +1116 -0
  40. package/modules/docs/templates/docs/Getting-Started.md +493 -0
  41. package/modules/docs/templates/docs/Infraestrutura.md +211 -0
  42. package/modules/docs/templates/docs/Monitoramento.md +302 -0
  43. package/modules/docs/templates/docs/Sync-the-Production-DB-with-the-Staging-DB.md +8 -0
  44. package/modules/docs/templates/docs/Troubleshooting.md +3 -0
  45. package/modules/git/.commitlintrc.json +136 -0
  46. package/modules/git/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  47. package/modules/git/.gitlab/merge_request_templates/default.md +42 -0
  48. package/modules/git/.gitmessage +29 -0
  49. package/modules/git/.husky/commit-msg +4 -0
  50. package/modules/git/.husky/pre-commit +27 -0
  51. package/modules/git/.lintstagedrc.json +7 -0
  52. package/modules/git/.vscode/commit-instructions.md +59 -0
  53. package/modules/git/.vscode/conventional-commits.code-snippets +62 -0
  54. package/modules/git/.vscode/copilot.json +39 -0
  55. package/modules/git/docs/CONVENTIONAL-COMMITS.md +131 -0
  56. package/modules/git/index.js +137 -0
  57. package/modules/git/prompts.js +23 -0
  58. package/modules/git/templates/.lando.yml.hbs +13 -0
  59. package/modules/git/templates/package.json.hbs +15 -0
  60. package/modules/git/templates/workspace.json.hbs +114 -0
  61. package/modules/lint/.eslintignore +36 -0
  62. package/modules/lint/.eslintrc.json +8 -0
  63. package/modules/lint/.prettierignore +36 -0
  64. package/modules/lint/.prettierrc.json +29 -0
  65. package/modules/lint/.stylelintignore +19 -0
  66. package/modules/lint/.stylelintrc.json +9 -0
  67. package/modules/lint/index.js +15 -0
  68. package/modules/lint/pint.json +26 -0
  69. package/modules/lint/prompts.js +16 -0
  70. package/modules/lint/templates/.lando.yml.hbs +10 -0
  71. package/modules/lint/templates/package.json.hbs +16 -0
  72. package/modules/lint/templates/workspace.json.hbs +56 -0
  73. package/modules/php/index.js +3 -0
  74. package/modules/php/prompts.js +8 -0
  75. package/modules/php/scripts/php-wrapper.sh +38 -0
  76. package/modules/php/scripts/pint-wrapper.sh +44 -0
  77. package/modules/php/templates/.lando.yml.hbs +11 -0
  78. package/modules/php/templates/composer.json.hbs +6 -0
  79. package/modules/php/templates/workspace.json.hbs +74 -0
  80. package/modules/redis/prompts.js +8 -0
  81. package/modules/redis/templates/.lando.yml.hbs +8 -0
  82. package/modules/sage/index.js +20 -0
  83. package/modules/sage/prompts.js +16 -0
  84. package/modules/sage/templates/.lando.yml.hbs +64 -0
  85. package/modules/sage/templates/theme/composer.json.hbs +18 -0
  86. package/modules/sage/templates/theme/package.json.hbs +11 -0
  87. package/modules/sage/templates/theme/style.css.hbs +13 -0
  88. package/modules/sage/templates/theme/vite.config.js.hbs +53 -0
  89. package/modules/sage/templates/workspace.json.hbs +67 -0
  90. package/modules/test-directory/assets/module-file.txt +1 -0
  91. package/modules/test-directory/index.js +19 -0
  92. package/modules/test-directory/prompts.js +8 -0
  93. package/modules/test-directory/test-assets/file1.txt +1 -0
  94. package/modules/test-directory/test-assets/file2.txt +1 -0
  95. package/modules/test-directory/test-assets/subfolder/config.json +4 -0
  96. package/package.json +54 -0
  97. package/release-please-config.json +17 -0
  98. package/server/php/php.ini +48 -0
  99. package/server/www/rocket.conf +283 -0
  100. package/templates/.editorconfig.hbs +39 -0
  101. package/templates/.env.hbs +48 -0
  102. package/templates/.gitignore.hbs +86 -0
  103. package/templates/.lando.yml.hbs +44 -0
  104. package/templates/README.md.hbs +12 -0
  105. package/templates/composer.json.hbs +60 -0
  106. package/templates/package.json.hbs +47 -0
  107. package/templates/server/cmd/install-wp.sh.hbs +58 -0
  108. package/templates/server/www/vhosts.conf.hbs +71 -0
  109. package/templates/workspace.json.hbs +177 -0
  110. package/test-copy-directory.js +43 -0
  111. package/test-overwrite.js +45 -0
  112. package/wp-config.php +190 -0
@@ -0,0 +1,493 @@
1
+ # 🚀 Getting Started
2
+
3
+ Guia completo para configurar o ambiente de desenvolvimento local do site Pipefy.
4
+
5
+ ## 📋 **Pré-requisitos**
6
+
7
+ ### Obrigatórios
8
+ - **[Lando](https://lando.dev/)** (v3.0+) - Ambiente de desenvolvimento local
9
+ - **[Docker](https://docker.com/)** (v20.0+) - Containerização
10
+ - **[Git](https://git-scm.com/)** - Controle de versão
11
+ - **Acesso ao GitLab** - Para download do banco de dados
12
+
13
+ ### Recomendados
14
+ - **[Visual Studio Code](https://code.visualstudio.com/)** - Editor recomendado
15
+ - **[GitLab CLI](https://gitlab.com/gitlab-org/cli)** - Para interação com GitLab
16
+
17
+ ### Verificação dos Pré-requisitos
18
+ ```bash
19
+ # Verificar instalações
20
+ lando version # v3.0+
21
+ docker --version # v20.0+
22
+ git --version # Qualquer versão recente
23
+ ```
24
+
25
+ ## 🏁 **Setup Inicial**
26
+
27
+ ### 1. **Clone do Repositório**
28
+ ```bash
29
+ # SSH (recomendado)
30
+ git clone git@gitlab.com:pipefy/wordpress/pipefy-website.git
31
+ cd pipefy-website
32
+
33
+ # HTTPS (alternativo)
34
+ git clone https://gitlab.com/pipefy/wordpress/pipefy-website.git
35
+ cd pipefy-website
36
+ ```
37
+
38
+ ### 2. **📥 Download do Banco de Dados (OBRIGATÓRIO)**
39
+
40
+ **⚠️ Importante**: Antes de inicializar o Lando, você precisa baixar o banco de dados de produção.
41
+
42
+ #### No GitLab:
43
+ 1. **Acesse**: [CI/CD → Schedules](https://gitlab.com/pipefy/wordpress/pipefy-website/-/pipeline_schedules)
44
+ 2. **Execute**: Clique no botão ▶️ (play) no pipeline **"Download Prod Database"**
45
+ 3. **Aguarde**: O pipeline executar completamente
46
+ 4. **Acesse**: Recarregue a página (Ctrl+F5) e clique no **Pipeline ID** na coluna "Last Pipeline"
47
+ 5. **Download**: Na aba **"Jobs"**, clique no ícone de download 📥 do artifact
48
+ 6. **Extraia**: Descompacte o arquivo baixado
49
+ 7. **Mova**: Coloque o arquivo `.sql` na pasta `database/` na raiz do projeto
50
+
51
+ ```bash
52
+ # Estrutura esperada após download
53
+ pipefy-website/
54
+ ├── 📂 database/
55
+ │ └── 📄 production-dump-YYYY-MM-DD.sql # Arquivo baixado
56
+ ├── 📄 .lando.yml
57
+ └── ... outros arquivos
58
+ ```
59
+
60
+ ### 3. **Inicialização do Lando**
61
+ ```bash
62
+ # Inicializar ambiente
63
+ lando start
64
+
65
+ # Verificar status
66
+ lando info
67
+ ```
68
+
69
+ ### 4. **💾 Restauração do Banco de Dados**
70
+ ```bash
71
+ # Importar banco de produção ANTES da inicialização
72
+ lando db-import database/production-dump-YYYY-MM-DD.sql
73
+
74
+ # Verificar importação
75
+ lando wp db check
76
+ ```
77
+
78
+ ### 5. **⚡ Configuração WordPress (Tooling Customizado)**
79
+ ```bash
80
+ # Usar nosso tooling para inicialização
81
+ lando init-wp --user=seu-email@pipefy.com
82
+
83
+ # Aguardar conclusão da configuração
84
+ ```
85
+
86
+ ### 6. **Verificação do Setup**
87
+ ```bash
88
+ # Verificar se WordPress está funcionando
89
+ curl -I https://pipefy.lndo.site
90
+
91
+ # Deve retornar HTTP/2 200
92
+
93
+ # Verificar se dados de produção estão disponíveis
94
+ lando wp post list --post_type=page --posts_per_page=5
95
+ ```
96
+
97
+ ## 🔄 **Sincronização com Produção**
98
+
99
+ > **📌 Nota Importante**: Sempre que precisar sincronizar seu ambiente local com a produção (dados atualizados, novos conteúdos, etc.), repita os seguintes passos:
100
+
101
+ ### Processo de Sincronização:
102
+ ```bash
103
+ # 1. Download do banco atualizado
104
+ # Repita os passos da seção "Download do Banco de Dados"
105
+
106
+ # 2. Restauração do banco
107
+ lando db-import database/production-dump-NOVA-DATA.sql
108
+
109
+ # 3. Re-inicialização usando nosso tooling
110
+ lando init-wp --user=seu-email@pipefy.com
111
+
112
+ # 4. Verificação
113
+ lando wp post list --post_type=page --posts_per_page=5
114
+ ```
115
+
116
+ ### Quando Sincronizar:
117
+ - **🗓️ Semanalmente**: Para ter conteúdo sempre atualizado
118
+ - **🚀 Antes de features**: Que dependem de dados específicos de produção
119
+ - **🔧 Troubleshooting**: Quando houver problemas com dados locais
120
+ - **📊 Testes**: Quando precisar testar com dados reais
121
+
122
+ ## 🌐 **Acessos Locais**
123
+
124
+ | Serviço | URL | Credenciais |
125
+ |---------|-----|-------------|
126
+ | **Site Frontend** | [https://pipefy.lndo.site](https://pipefy.lndo.site) | - |
127
+ | **WordPress Admin** | [https://pipefy.lndo.site/wp-admin](https://pipefy.lndo.site/wp-admin) | Definidas no setup |
128
+ | **Database (phpMyAdmin)** | [https://pipefy.lndo.site:8080](https://pipefy.lndo.site:8080) | Ver `.lando.yml` |
129
+ | **MailHog** | [https://pipefy.lndo.site:8025](https://pipefy.lndo.site:8025) | - |
130
+
131
+ ## 🛠️ **Comandos Essenciais**
132
+
133
+ ### Lando Básico
134
+ ```bash
135
+ # Iniciar ambiente
136
+ lando start
137
+
138
+ # Parar ambiente
139
+ lando stop
140
+
141
+ # Reiniciar ambiente
142
+ lando restart
143
+
144
+ # Reconstruir ambiente (quando mudar .lando.yml)
145
+ lando rebuild
146
+
147
+ # Destruir ambiente
148
+ lando destroy
149
+ ```
150
+
151
+ ### ⚡ **Toolings Customizados (Configurados no .lando.yml)**
152
+ ```bash
153
+ # Inicialização completa do WordPress
154
+ lando init-wp --user=seu-email@pipefy.com
155
+
156
+ # Acesso ao bash do container
157
+ lando bash
158
+
159
+ # Logs em tempo real
160
+ lando logs-live
161
+
162
+ # Backup rápido do banco
163
+ lando backup-db
164
+
165
+ # Limpeza de cache
166
+ lando clear-cache
167
+ ```
168
+
169
+ ### WordPress via Lando
170
+ ```bash
171
+ # WP-CLI (todas as ferramentas dentro do container)
172
+ lando wp --help
173
+ lando wp user list
174
+ lando wp plugin list
175
+
176
+ # Logs
177
+ lando logs
178
+ ```
179
+
180
+ ### Database
181
+ ```bash
182
+ # Backup usando nosso tooling
183
+ lando backup-db
184
+
185
+ # Restaurar banco específico
186
+ lando db-import database/production-dump-YYYY-MM-DD.sql
187
+
188
+ # Acesso direto ao MySQL
189
+ lando mysql
190
+
191
+ # Verificar integridade do banco
192
+ lando wp db check
193
+
194
+ # Reparar tabelas (se necessário)
195
+ lando wp db repair
196
+ ```
197
+
198
+ ### Ferramentas de Build
199
+ ```bash
200
+ # Node.js/NPM dentro do container
201
+ lando node --version
202
+ lando npm --version
203
+
204
+ # Build usando nossos toolings (se configurado)
205
+ lando build-theme
206
+ lando watch-theme
207
+
208
+ # Ou comandos tradicionais para o tema
209
+ lando bash -c "cd /app/dist/wp-content/themes/pipefy-2020 && npm install"
210
+ lando bash -c "cd /app/dist/wp-content/themes/pipefy-2020 && npm run dev"
211
+ ```
212
+
213
+ ## 📁 **Estrutura de Desenvolvimento**
214
+
215
+ ### Arquivos Importantes
216
+ ```
217
+ pipefy-website/
218
+ ├── 📄 .lando.yml # ⭐ Configuração com toolings customizados
219
+ ├── 📄 .env.example # Variáveis de ambiente exemplo
220
+ ├── 📂 database/ # Dumps do banco de dados
221
+ │ ├── 📄 production-dump-2025-06-05.sql
222
+ │ ├── 📄 production-dump-2025-05-29.sql
223
+ │ └── 📄 backup-local.sql
224
+ ├── 📂 development/
225
+ │ ├── 📄 config/ # Configurações específicas
226
+ │ └── 📄 scripts/ # Scripts de automação (usados pelos toolings)
227
+ ├── 📂 dist/ # WordPress core
228
+ │ └── 📂 wp-content/
229
+ │ ├── 📂 themes/pipefy-2020/ # Tema principal
230
+ │ ├── 📂 plugins/ # Plugins
231
+ │ └── 📂 uploads/ # Media files
232
+ └── 📂 logs/ # Logs locais
233
+ ```
234
+
235
+ ### Workflow de Desenvolvimento
236
+ ```bash
237
+ # 1. Sincronizar com produção (quando necessário)
238
+ # Baixar nova versão via GitLab CI/CD → Schedules
239
+ lando db-import database/production-dump-YYYY-MM-DD.sql
240
+
241
+ # 2. Criar nova feature
242
+ git checkout development
243
+ git pull origin development
244
+ git checkout -b feature/nova-funcionalidade
245
+
246
+ # 3. Desenvolver localmente
247
+ # Fazer alterações nos arquivos
248
+ # Usar nossos toolings para build/watch se necessário
249
+ lando watch-theme # Se configurado
250
+
251
+ # 4. Testar em https://pipefy.lndo.site
252
+
253
+ # 5. Commit e push
254
+ git add .
255
+ git commit -m "feat: adicionar nova funcionalidade"
256
+ git push origin feature/nova-funcionalidade
257
+
258
+ # 6. Criar Merge Request
259
+ # Via GitLab interface ou CLI
260
+ ```
261
+
262
+ ## 🔧 **Configurações Avançadas**
263
+
264
+ ### Variáveis de Ambiente
265
+ ```bash
266
+ # Copiar arquivo exemplo
267
+ cp .env.example .env
268
+
269
+ # Editar conforme necessário
270
+ nano .env
271
+ ```
272
+
273
+ ### Customizar .lando.yml (se necessário)
274
+ ```yaml
275
+ # Exemplo de override local
276
+ # .lando.local.yml
277
+ services:
278
+ appserver:
279
+ xdebug: true
280
+ config:
281
+ php: development/config/php.ini
282
+
283
+ # Adicionar novos toolings
284
+ tooling:
285
+ meu-comando:
286
+ service: appserver
287
+ cmd: /app/development/scripts/meu-script.sh
288
+ ```
289
+
290
+ ### Xdebug (Debugging)
291
+ ```bash
292
+ # Habilitar Xdebug
293
+ lando xdebug-on
294
+
295
+ # Desabilitar Xdebug
296
+ lando xdebug-off
297
+
298
+ # Status do Xdebug
299
+ lando php -m | grep xdebug
300
+ ```
301
+
302
+ ## 🎨 **Desenvolvimento do Tema**
303
+
304
+ ### Estrutura do Tema Pipefy 2020
305
+ ```
306
+ themes/pipefy-2020/
307
+ ├── 📄 style.css # CSS principal
308
+ ├── 📄 functions.php # Funções do tema
309
+ ├── 📄 index.php # Template principal
310
+ ├── 📂 assets/ # CSS, JS, imagens
311
+ ├── 📂 blocks/ # Blocos Gutenberg customizados
312
+ ├── 📂 inc/ # Includes e utilitários
313
+ └── 📂 templates/ # Templates de página
314
+ ```
315
+
316
+ ### Build Process (usando nossos toolings)
317
+ ```bash
318
+ # Usar toolings customizados (se configurados)
319
+ lando build-theme # Build de produção
320
+ lando watch-theme # Watch para desenvolvimento
321
+ lando clear-cache # Limpeza de cache
322
+
323
+ # Ou acesso direto ao bash
324
+ lando bash
325
+
326
+ # Dentro do container
327
+ cd /app/dist/wp-content/themes/pipefy-2020/
328
+ npm install
329
+ npm run dev
330
+ npm run watch
331
+ ```
332
+
333
+ ## 🧪 **Testes Locais**
334
+
335
+ ### Verificações de Saúde
336
+ ```bash
337
+ # Testar URLs principais
338
+ curl -I https://pipefy.lndo.site/
339
+ curl -I https://pipefy.lndo.site/wp-admin/
340
+
341
+ # Verificar plugins ativos
342
+ lando wp plugin list --status=active
343
+
344
+ # Verificar temas
345
+ lando wp theme list
346
+
347
+ # Verificar se dados de produção foram importados
348
+ lando wp post list --post_type=page --posts_per_page=5
349
+
350
+ # Verificar URLs internas (devem apontar para local)
351
+ lando wp option get home
352
+ lando wp option get siteurl
353
+ ```
354
+
355
+ ### Performance Local
356
+ ```bash
357
+ # Verificar queries pesadas (Query Monitor plugin)
358
+ # Acessar: https://pipefy.lndo.site/?qm_debug=1
359
+
360
+ # Logs de erro PHP usando nosso tooling
361
+ lando logs-live
362
+
363
+ # Logs WordPress específicos
364
+ lando bash -c "tail -f /app/dist/wp-content/debug.log"
365
+ ```
366
+
367
+ ## 🆘 **Troubleshooting Comum**
368
+
369
+ ### Problemas com Banco de Dados
370
+ ```bash
371
+ # Erro na importação
372
+ lando db-import database/dump.sql --no-autocommit
373
+
374
+ # Banco corrompido
375
+ lando mysql -e "REPAIR TABLE wp_posts;"
376
+
377
+ # URLs erradas após importação
378
+ lando wp search-replace 'www.pipefy.com' 'pipefy.lndo.site'
379
+ lando wp search-replace 'https://www.pipefy.com' 'https://pipefy.lndo.site'
380
+
381
+ # Reset completo usando nossos toolings
382
+ lando destroy -y
383
+ lando start
384
+ lando db-import database/production-dump-YYYY-MM-DD.sql
385
+ lando init-wp --user=seu-email@pipefy.com
386
+ ```
387
+
388
+ ### Problemas de SSL
389
+ ```bash
390
+ # Regenerar certificados SSL
391
+ lando poweroff
392
+ lando start
393
+
394
+ # Verificar certificados
395
+ lando info | grep ssl
396
+ ```
397
+
398
+ ### Problemas de Permissões
399
+ ```bash
400
+ # Usar tooling para corrigir permissões (se configurado)
401
+ lando fix-permissions
402
+
403
+ # Ou comandos manuais
404
+ lando bash -c "find /app/dist/ -type f -exec chmod 644 {} \;"
405
+ lando bash -c "find /app/dist/ -type d -exec chmod 755 {} \;"
406
+ lando bash -c "chmod 600 /app/dist/wp-config.php"
407
+ ```
408
+
409
+ ### Cache Issues
410
+ ```bash
411
+ # Usar nosso tooling para limpeza
412
+ lando clear-cache
413
+
414
+ # Limpar cache WordPress específico
415
+ lando wp cache flush
416
+
417
+ # Limpar cache do navegador
418
+ # Ctrl+Shift+R (hard refresh)
419
+
420
+ # Rebuild completo do Lando
421
+ lando rebuild -y
422
+ ```
423
+
424
+ ### Debug e Logs
425
+ ```bash
426
+ # Usar nosso tooling para logs em tempo real
427
+ lando logs-live
428
+
429
+ # Logs específicos
430
+ lando bash -c "tail -f /var/log/apache2/error.log"
431
+ lando bash -c "tail -f /app/dist/wp-content/debug.log"
432
+
433
+ # Verificar configuração PHP
434
+ lando bash -c "php -i | grep -i memory"
435
+ ```
436
+
437
+ ## 🚀 **Toolings Disponíveis**
438
+
439
+ Confira todos os toolings configurados no nosso `.lando.yml`:
440
+
441
+ ```bash
442
+ # Ver todos os comandos disponíveis
443
+ lando --help
444
+
445
+ # Nossos toolings customizados incluem:
446
+ # - lando init-wp # Inicialização completa
447
+ # - lando bash # Acesso ao container
448
+ # - lando logs-live # Logs em tempo real
449
+ # - lando backup-db # Backup rápido
450
+ # - lando clear-cache # Limpeza de cache
451
+ # - lando build-theme # Build do tema (se configurado)
452
+ # - lando watch-theme # Watch do tema (se configurado)
453
+ # - lando fix-permissions # Correção de permissões (se configurado)
454
+ ```
455
+
456
+ ## ✅ **Verificação Final**
457
+
458
+ Após completar o setup, verifique:
459
+
460
+ - [ ] ✅ **Banco baixado** da produção via GitLab CI/CD
461
+ - [ ] ✅ **Banco restaurado** ANTES da inicialização
462
+ - [ ] ✅ **WordPress inicializado** com `lando init-wp`
463
+ - [ ] ✅ **Site carrega** em `https://pipefy.lndo.site`
464
+ - [ ] ✅ **Admin acessível** em `https://pipefy.lndo.site/wp-admin`
465
+ - [ ] ✅ **Tema Pipefy 2020** ativo
466
+ - [ ] ✅ **Plugins principais** instalados
467
+ - [ ] ✅ **Dados de produção** visíveis (posts, páginas)
468
+ - [ ] ✅ **URLs corretas** (apontando para local)
469
+ - [ ] ✅ **Sem erros** no console do navegador
470
+ - [ ] ✅ **Emails capturados** no MailHog
471
+
472
+ ## 🎯 **Próximos Passos**
473
+
474
+ Agora que seu ambiente está funcionando:
475
+
476
+ 1. **[Arquitetura](Arquitetura)** - Entenda a estrutura do projeto
477
+ 2. **[Desenvolvimento](Desenvolvimento)** - Guias de desenvolvimento
478
+ 3. **[Deploy Pipeline](Deploy-Pipeline)** - Como fazer deploy
479
+
480
+ ## 📞 **Precisa de Ajuda?**
481
+
482
+ - **Issues técnicos**: [GitLab Issues](https://gitlab.com/pipefy/wordpress/pipefy-website/-/issues)
483
+ - **Dúvidas**: Confira [FAQ](FAQ) ou [Troubleshooting](Troubleshooting)
484
+ - **Equipe**: Consulte [CODEOWNERS](https://gitlab.com/pipefy/wordpress/pipefy-website/-/blob/master/CODEOWNERS)
485
+
486
+ ---
487
+
488
+ 📝 **Tempo estimado de setup**: 15-30 minutos (usando nossos toolings)
489
+ 🔄 **Última atualização**: Junho 2025
490
+ ✨ **Ambiente local**: `pipefy.lndo.site`
491
+ 💾 **Banco de dados**: Produção via GitLab CI/CD Schedules
492
+ 🔄 **Sincronização**: Processo repetível para manter ambiente atualizado
493
+ ⚡ **Toolings**: Usando comandos customizados do `.lando.yml`
@@ -0,0 +1,211 @@
1
+ # 🏗️ Infraestrutura
2
+
3
+ Documentação da infraestrutura do Pipefy Website, incluindo componentes, configurações e pontos que necessitam detalhamento pela equipe SRE.
4
+
5
+ ## 🌍 **Visão Geral da Infraestrutura**
6
+
7
+ ### **Cloud Provider**
8
+ - **Provedor**: Oracle Cloud Infrastructure (OCI)
9
+ - **Região**: `[SRE_DETAIL: Especificar região e availability zones]`
10
+ - **Recursos principais**: Compute instances, Load Balancer, Block Storage
11
+
12
+ ### **Arquitetura de Rede**
13
+ - **VPC**: `[SRE_DETAIL: CIDR blocks e subnets configuradas]`
14
+ - **Load Balancer**: OCI Load Balancer
15
+ - **CDN**: CloudFlare
16
+ - **DNS**: `[SRE_DETAIL: Configuração DNS e subdominios]`
17
+
18
+ ## 🎛️ **Kubernetes Cluster**
19
+
20
+ ### **Cluster Configuration**
21
+ - **Tipo**: `[SRE_DETAIL: Managed ou self-hosted]`
22
+ - **Versão**: `[SRE_DETAIL: Versão atual do K8s]`
23
+ - **Node Groups**: `[SRE_DETAIL: Tipos de instância e scaling policies]`
24
+ - **Networking**: `[SRE_DETAIL: CNI, Network policies, Ingress controller]`
25
+
26
+ ### **Namespaces**
27
+ | Namespace | Ambiente | Finalidade |
28
+ |-----------|----------|------------|
29
+ | `website-dev` | Development | Testes contínuos |
30
+ | `website-stg` | Staging | Homologação |
31
+ | `website-prod` | Production | Site oficial |
32
+
33
+ ### **Recursos por Ambiente**
34
+ | Recurso | Development | Staging | Production |
35
+ |---------|-------------|---------|------------|
36
+ | **Replicas** | 1 | 1 | `[SRE_DETAIL: Número de réplicas]` |
37
+ | **CPU** | `[SRE_DETAIL: Requests/Limits]` | `[SRE_DETAIL: Requests/Limits]` | `[SRE_DETAIL: Requests/Limits]` |
38
+ | **Memory** | `[SRE_DETAIL: Requests/Limits]` | `[SRE_DETAIL: Requests/Limits]` | `[SRE_DETAIL: Requests/Limits]` |
39
+ | **Storage** | `[SRE_DETAIL: Tamanho PVC]` | `[SRE_DETAIL: Tamanho PVC]` | `[SRE_DETAIL: Tamanho PVC]` |
40
+
41
+ ## 💾 **Persistência de Dados**
42
+
43
+ ### **Banco de Dados**
44
+ - **Tipo**: `[SRE_DETAIL: MySQL managed service ou self-hosted]`
45
+ - **Versão**: `[SRE_DETAIL: Versão do MySQL]`
46
+ - **Configuração**: `[SRE_DETAIL: Instance type, storage, backup policy]`
47
+ - **High Availability**: `[SRE_DETAIL: Multi-AZ, read replicas]`
48
+ - **Backup**: `[SRE_DETAIL: Frequência, retenção, restore procedures]`
49
+
50
+ ### **Armazenamento de Arquivos**
51
+ - **WordPress Uploads**: `[SRE_DETAIL: Object Storage ou PVC]`
52
+ - **Assets Estáticos**: CloudFlare CDN
53
+ - **Logs**: `[SRE_DETAIL: Centralized logging solution]`
54
+ - **Backup de Arquivos**: `[SRE_DETAIL: Backup strategy para uploads]`
55
+
56
+ ## 🔐 **Segurança**
57
+
58
+ ### **Network Security**
59
+ - **Firewall**: `[SRE_DETAIL: Regras de firewall OCI]`
60
+ - **WAF**: CloudFlare Web Application Firewall
61
+ - **DDoS Protection**: CloudFlare
62
+ - **VPN Access**: `[SRE_DETAIL: VPN configuration para acesso interno]`
63
+
64
+ ### **Authentication & Authorization**
65
+ - **RBAC**: `[SRE_DETAIL: Kubernetes RBAC policies]`
66
+ - **Service Accounts**: `[SRE_DETAIL: K8s service accounts configurados]`
67
+ - **Secrets Management**: `[SRE_DETAIL: Kubernetes secrets ou external vault]`
68
+ - **Image Security**: `[SRE_DETAIL: Registry scanning, admission controllers]`
69
+
70
+ ### **SSL/TLS**
71
+ - **Certificados**: `[SRE_DETAIL: Let's Encrypt ou certificados próprios]`
72
+ - **Renovação**: `[SRE_DETAIL: Processo automático de renovação]`
73
+ - **Cipher Suites**: `[SRE_DETAIL: Configurações de segurança SSL]`
74
+
75
+ ## 📊 **Monitoramento e Observabilidade**
76
+
77
+ ### **Monitoring Stack**
78
+ - **Metrics**: `[SRE_DETAIL: Prometheus, CloudWatch, ou OCI Monitoring]`
79
+ - **Logging**: `[SRE_DETAIL: ELK, Fluentd, ou solução OCI]`
80
+ - **APM**: `[SRE_DETAIL: Application Performance Monitoring solution]`
81
+ - **Dashboards**: `[SRE_DETAIL: Grafana ou OCI Console]`
82
+
83
+ ### **Alerting**
84
+ - **Notification Channels**: `[SRE_DETAIL: Slack, email, PagerDuty]`
85
+ - **Alert Rules**: `[SRE_DETAIL: Métricas críticas e thresholds]`
86
+ - **Escalation**: `[SRE_DETAIL: Escalation policies]`
87
+ - **Runbooks**: `[SRE_DETAIL: Automated remediation procedures]`
88
+
89
+ ### **Health Checks**
90
+ - **Liveness Probes**: `[SRE_DETAIL: Endpoint e configuração]`
91
+ - **Readiness Probes**: `[SRE_DETAIL: Endpoint e configuração]`
92
+ - **External Monitoring**: `[SRE_DETAIL: Uptime monitoring service]`
93
+
94
+ ## 🔄 **Backup e Disaster Recovery**
95
+
96
+ ### **Backup Strategy**
97
+ - **Database Backups**: `[SRE_DETAIL: Automated backup schedule]`
98
+ - **File System Backups**: `[SRE_DETAIL: PVC snapshot policy]`
99
+ - **Configuration Backups**: `[SRE_DETAIL: K8s manifests backup]`
100
+ - **Cross-Region Backup**: `[SRE_DETAIL: Geographic redundancy]`
101
+
102
+ ### **Disaster Recovery**
103
+ - **RTO (Recovery Time Objective)**: `[SRE_DETAIL: Target recovery time]`
104
+ - **RPO (Recovery Point Objective)**: `[SRE_DETAIL: Acceptable data loss]`
105
+ - **DR Site**: `[SRE_DETAIL: Secondary region or provider]`
106
+ - **Failover Process**: `[SRE_DETAIL: Automated or manual procedures]`
107
+
108
+ ## 🚀 **Performance e Scaling**
109
+
110
+ ### **Auto Scaling**
111
+ - **HPA (Horizontal Pod Autoscaler)**: `[SRE_DETAIL: Métricas e thresholds]`
112
+ - **VPA (Vertical Pod Autoscaler)**: `[SRE_DETAIL: Se habilitado]`
113
+ - **Cluster Autoscaler**: `[SRE_DETAIL: Node scaling policies]`
114
+ - **Load Testing**: `[SRE_DETAIL: Performance benchmarks]`
115
+
116
+ ### **CDN Configuration**
117
+ - **Cache Rules**: `[SRE_DETAIL: CloudFlare cache policies]`
118
+ - **Purge Strategy**: `[SRE_DETAIL: Cache invalidation process]`
119
+ - **Geographic Distribution**: `[SRE_DETAIL: Edge locations]`
120
+ - **Performance Metrics**: `[SRE_DETAIL: CDN analytics e reporting]`
121
+
122
+ ## 🔧 **DevOps Tools**
123
+
124
+ ### **CI/CD**
125
+ - **GitLab CI/CD**: Pipeline configuration
126
+ - **Container Registry**: `[SRE_DETAIL: GitLab Registry ou external]`
127
+ - **Image Scanning**: `[SRE_DETAIL: Security scanning tools]`
128
+ - **Deployment Strategy**: `[SRE_DETAIL: Blue/Green, Rolling, Canary]`
129
+
130
+ ### **Infrastructure as Code**
131
+ - **Terraform**: `[SRE_DETAIL: Estado atual da IaC]`
132
+ - **Kubernetes Manifests**: `[SRE_DETAIL: Estrutura dos manifests]`
133
+ - **Helm Charts**: `[SRE_DETAIL: Planejamento para migração]`
134
+ - **GitOps**: `[SRE_DETAIL: ArgoCD ou similar]`
135
+
136
+ ## 🌐 **Rede e Conectividade**
137
+
138
+ ### **External Connectivity**
139
+ - **Public IPs**: `[SRE_DETAIL: IP addresses e DNS records]`
140
+ - **Domain Management**: `[SRE_DETAIL: DNS provider e configuração]`
141
+ - **API Gateways**: `[SRE_DETAIL: Rate limiting, authentication]`
142
+ - **Third-party Integrations**: `[SRE_DETAIL: External services connectivity]`
143
+
144
+ ### **Internal Networking**
145
+ - **Service Mesh**: `[SRE_DETAIL: Istio, Linkerd, ou similar]`
146
+ - **Network Policies**: `[SRE_DETAIL: Pod-to-pod communication rules]`
147
+ - **Internal DNS**: `[SRE_DETAIL: CoreDNS configuration]`
148
+ - **Service Discovery**: `[SRE_DETAIL: Internal service communication]`
149
+
150
+ ## 💰 **Custos e Otimização**
151
+
152
+ ### **Cost Management**
153
+ - **Resource Allocation**: `[SRE_DETAIL: Current resource usage]`
154
+ - **Cost Monitoring**: `[SRE_DETAIL: Billing alerts e budgets]`
155
+ - **Optimization Opportunities**: `[SRE_DETAIL: Right-sizing recommendations]`
156
+ - **Reserved Instances**: `[SRE_DETAIL: Long-term commitment strategy]`
157
+
158
+ ## 🔄 **Migração para Helm (Planejado)**
159
+
160
+ ### **Current State**
161
+ - **Deployment Method**: Kubernetes manifests diretos
162
+ - **Configuration Management**: Kustomize ou similar
163
+ - **Challenges**: `[SRE_DETAIL: Pontos de dor atuais]`
164
+
165
+ ### **Target State**
166
+ - **Helm Version**: 3.x
167
+ - **Chart Structure**: `[SRE_DETAIL: Estrutura planejada]`
168
+ - **Migration Plan**: `[SRE_DETAIL: Cronograma e etapas]`
169
+ - **Benefits Expected**: `[SRE_DETAIL: Melhorias esperadas]`
170
+
171
+ ## 📋 **Action Items para SRE**
172
+
173
+ ### **🔴 Crítico (Documentação Necessária)**
174
+ - [ ] Especificar configurações de rede (VPC, subnets, security groups)
175
+ - [ ] Detalhar configuração do banco de dados (versão, backup, HA)
176
+ - [ ] Documentar estratégia de monitoramento e alertas
177
+ - [ ] Definir políticas de backup e disaster recovery
178
+
179
+ ### **🟡 Importante (Melhoria)**
180
+ - [ ] Implementar Infrastructure as Code com Terraform
181
+ - [ ] Configurar monitoring stack completo
182
+ - [ ] Estabelecer políticas de auto-scaling
183
+ - [ ] Planejar migração para Helm
184
+
185
+ ### **🟢 Desejável (Futuro)**
186
+ - [ ] Implementar service mesh
187
+ - [ ] Configurar GitOps com ArgoCD
188
+ - [ ] Otimizar custos de infraestrutura
189
+ - [ ] Implementar chaos engineering
190
+
191
+ ## 📞 **Contatos e Responsabilidades**
192
+
193
+ ### **Equipes Responsáveis**
194
+ - **SRE Team**: Infraestrutura, monitoramento, DR
195
+ - **DevOps Team**: CI/CD, deployments, automação
196
+ - **Security Team**: Políticas de segurança, compliance
197
+ - **Development Team**: Application requirements, troubleshooting
198
+
199
+ ### **Escalation**
200
+ - **Incidentes P1**: `[SRE_DETAIL: Procedimento de escalação]`
201
+ - **Mudanças de Infraestrutura**: `[SRE_DETAIL: Change management process]`
202
+ - **Emergency Access**: `[SRE_DETAIL: Break-glass procedures]`
203
+
204
+ ---
205
+
206
+ 📝 **Última atualização**: Junho 2025
207
+ ☁️ **Cloud Provider**: Oracle Cloud Infrastructure (OCI)
208
+ 🎛️ **Orquestração**: Kubernetes
209
+ 🔄 **Estado**: Migração para Helm planejada
210
+ 📊 **Documentação SRE**: Detalhamentos técnicos necessários
211
+ 🎯 **Próximos passos**: Preenchimento dos `[SRE_DETAIL]` pela equipe especializada