promovaweb-devops-review-mautic-stack
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseReview Mautic Stack
Mautic栈审查
Executa uma auditoria completa do arquivo e reporta conformidade, problemas e sugestões.
mautic.yaml对文件执行完整审计,并输出合规性结果、存在的问题和改进建议。
mautic.yamlInstruções de Execução
执行说明
Quando esta skill for invocada, siga exatamente este roteiro:
调用此技能时,请严格按照以下流程执行:
Passo 1 — Ler os arquivos
步骤1 — 读取文件
Leia o arquivo completo. Leia também para verificar a consistência das credenciais de banco.
mautic.yamlmysql.yaml读取完整的文件,同时读取文件以验证数据库凭证的一致性。
mautic.yamlmysql.yamlPasso 2 — Executar todos os checks abaixo
步骤2 — 执行所有以下检查项
Execute cada bloco de verificação e registre os resultados (✅ OK / ⚠️ Atenção / ❌ Erro).
执行每个检查块并记录结果(✅ 正常 / ⚠️ 注意 / ❌ 错误)。
Passo 3 — Gravar o resultado
步骤3 — 保存结果
Grave o relatório completo em um arquivo chamado mautic.audit.md.
将完整审计报告保存为名为mautic.audit.md的文件。
Checks de Verificação
检查项
1. Variáveis de Ambiente Obrigatórias
1. 必填环境变量
Verifique se todas as variáveis abaixo estão definidas no anchor :
x-mautic-db-configBanco de dados MySQL/Percona ()
x-mautic-db-config- — deve ser definido (padrão:
MAUTIC_DB_HOST)mysql - — deve ser definido (não deve ser
MAUTIC_DB_USER)root - — deve existir e não deve ser o placeholder
MAUTIC_DB_PASSWORD, compare com a senha definida emSENHA_MAUTICmysql.yaml - — deve ser definido (padrão:
MAUTIC_DB_NAME)mautic
检查以下所有变量是否都在锚点中定义:
x-mautic-db-configMySQL/Percona数据库()
x-mautic-db-config- — 必须定义(默认值:
MAUTIC_DB_HOST)mysql - — 必须定义(不能是
MAUTIC_DB_USER)root - — 必须存在,且不能是占位符
MAUTIC_DB_PASSWORD,与SENHA_MAUTIC中定义的密码比对mysql.yaml - — 必须定义(默认值:
MAUTIC_DB_NAME)mautic
2. Serviços Obrigatórios
2. 必填服务
Verifique se todos estes serviços estão presentes:
| Serviço | Obrigatório |
|---|---|
| Sim |
| Sim |
| Sim |
检查是否存在以下所有服务:
| 服务 | 是否必填 |
|---|---|
| 是 |
| 是 |
| 是 |
3. Variáveis por Serviço
3. 各服务专属变量
Verifique as variáveis específicas de cada serviço:
| Serviço | Variável | Valor Esperado |
|---|---|---|
| | |
| | |
| | |
Alertar se não for em produção.
DOCKER_MAUTIC_LOAD_TEST_DATA"false"检查每个服务的专属变量:
| 服务 | 变量 | 预期值 |
|---|---|---|
| | |
| | |
| | |
如果生产环境下的值不是,需要发出告警。
DOCKER_MAUTIC_LOAD_TEST_DATA"false"4. Replicas dos Serviços
4. 服务副本数
Verifique a quantidade de réplicas de cada serviço:
| Serviço | Réplicas Mínimas | Observação |
|---|---|---|
| 1 | Interface web principal |
| 1 | Não deve ter mais de 1 (evita execuções duplicadas) |
| 1 | Pode escalar para mais workers |
Alertar se tiver mais de 1 réplica (pode causar execuções duplicadas de cron jobs).
mautic_cron检查每个服务的副本数量:
| 服务 | 最小副本数 | 备注 |
|---|---|---|
| 1 | 主Web界面 |
| 1 | 不能超过1个(避免重复执行) |
| 1 | 可以扩容更多worker |
如果的副本数超过1,需要发出告警(可能导致cron任务重复执行)。
mautic_cron5. Rotas Traefik
5. Traefik路由
Para o serviço , verifique:
mautic_webÂncora de endereço ():
x-mautic-app-url- A âncora deve existir e conter um domínio válido (não placeholder como
x-mautic-app-url)mautic.agenciasynca.com.br - O domínio na âncora deve ser idêntico ao domínio dentro de na label
Host(...)traefik.http.routers.mautic.rule - Se não forem iguais, reportar como ❌ Erro: inconsistência entre e a regra Traefik
x-mautic-app-url
Labels obrigatórias:
traefik.enable=truetraefik.swarm.network=network_swarm_public- — deve conter
traefik.http.routers.mautic.rulecom domínio válido e coincidir comHost(...)x-mautic-app-url traefik.http.routers.mautic.entrypoints=websecuretraefik.http.routers.mautic.tls.certresolver=letsencryptresolvertraefik.http.routers.mautic.service=mautictraefik.http.services.mautic.loadbalancer.server.port=80
Regras:
- e
mautic_cronnão devem ter labels Traefik (serviços de background)mautic_worker
针对服务,检查:
mautic_web地址锚点():
x-mautic-app-url- 锚点必须存在,且包含有效域名(不能是
x-mautic-app-url这类占位符)mautic.agenciasynca.com.br - 锚点中的域名必须与标签的
traefik.http.routers.mautic.rule中的域名完全一致Host(...) - 如果不一致,标记为❌ 错误:与Traefik规则不一致
x-mautic-app-url
必填标签:
traefik.enable=truetraefik.swarm.network=network_swarm_public- — 必须包含带有效域名的
traefik.http.routers.mautic.rule,且与Host(...)一致x-mautic-app-url traefik.http.routers.mautic.entrypoints=websecuretraefik.http.routers.mautic.tls.certresolver=letsencryptresolvertraefik.http.routers.mautic.service=mautictraefik.http.services.mautic.loadbalancer.server.port=80
规则:
- 和
mautic_cron不能有Traefik标签(属于后台服务)mautic_worker
6. Volumes Compartilhados
6. 共享存储卷
Verifique o anchor e se todos os volumes são compartilhados entre todos os serviços:
x-mautic-volumes| Volume | Caminho | Deve Ser Compartilhado |
|---|---|---|
| | Entre todos os serviços |
| | Entre todos os serviços |
| | Entre todos os serviços |
| | Entre todos os serviços |
Alertar se algum serviço não estiver usando o anchor .
*mautic-volumes检查锚点,以及所有存储卷是否在所有服务之间共享:
x-mautic-volumes| 存储卷 | 路径 | 共享要求 |
|---|---|---|
| | 所有服务共享 |
| | 所有服务共享 |
| | 所有服务共享 |
| | 所有服务共享 |
如果有任何服务未使用锚点,需要发出告警。
*mautic-volumes7. Recursos dos Containers
7. 容器资源配置
Para cada serviço, verifique os limites de recursos:
| Serviço | CPU Mínimo | Memória Máxima |
|---|---|---|
| "1" | 1024M |
| — | verificar se tem limits definidos |
| — | verificar se tem limits definidos |
Alertar se ou não tiverem definidos.
mautic_cronmautic_workerresources.limits检查每个服务的资源限制:
| 服务 | 最低CPU | 最大内存 |
|---|---|---|
| "1" | 1024M |
| — | 检查是否定义了资源限制 |
| — | 检查是否定义了资源限制 |
如果或未定义,需要发出告警。
mautic_cronmautic_workerresources.limits8. Configuração de Deploy
8. 部署配置
Para cada serviço, verifique:
- — todos devem ser
mode: replicatedreplicated - — deve incluir
placement.constraintsnode.role == manager - Verificar se há com
update_configeorder: start-first(recomendado)failure_action: rollback
检查每个服务的以下配置:
- — 所有服务都必须是
mode: replicated模式replicated - — 必须包含
placement.constraintsnode.role == manager - 检查是否配置了,包含
update_config和order: start-first(推荐配置)failure_action: rollback
9. Redes e Imagens
9. 网络与镜像
Redes:
- Todos os serviços devem estar na rede
network_swarm_public - A rede deve ser declarada como na seção
external: truenetworks:
Imagens:
- Todos os serviços devem usar (anchor)
*mautic-image - Verificar se a imagem usa tag específica de versão em vez de (recomendado em produção)
latest
网络:
- 所有服务都必须加入网络
network_swarm_public - 该网络必须在部分声明为
networks:external: true
镜像:
- 所有服务都必须使用锚点
*mautic-image - 检查镜像是否使用了具体版本标签,而非(生产环境推荐使用固定版本)
latest
10. Segurança
10. 安全检查
- não deve ser
MAUTIC_DB_PASSWORD(placeholder)SENHA_MAUTIC - não deve ser
MAUTIC_DB_USER(privilégio excessivo)root - deve ser
DOCKER_MAUTIC_LOAD_TEST_DATAem produção"false" - Verificar se o banco existe no MySQL (usuário
mauticcom acesso apenas ao bancomautic)mautic
- 不能是占位符
MAUTIC_DB_PASSWORDSENHA_MAUTIC - 不能是
MAUTIC_DB_USER(权限过高)root - 生产环境下必须为
DOCKER_MAUTIC_LOAD_TEST_DATA"false" - 检查MySQL中是否存在数据库(
mautic用户仅拥有该数据库的访问权限)mautic
Formato do Relatório de Saída
输出报告格式
Ao final, produza um relatório estruturado:
undefined最终输出结构化报告如下:
undefinedRelatório de Auditoria — mautic.yaml
审计报告 — mautic.yaml
Data: <data atual>
日期: <当前日期>
Resumo
摘要
- Total de checks: X
- ✅ OK: X
- ⚠️ Atenções: X
- ❌ Erros: X
- 总检查项: X
- ✅ 正常: X
- ⚠️ 注意项: X
- ❌ 错误项: X
Resultados por Categoria
各分类检查结果
1. Variáveis de Ambiente
1. 环境变量
✅ MAUTIC_DB_HOST: definido como
❌ MAUTIC_DB_PASSWORD: usando placeholder SENHA_MAUTIC — troque antes do deploy
...
mysql✅ MAUTIC_DB_HOST: 已定义为
❌ MAUTIC_DB_PASSWORD: 使用占位符SENHA_MAUTIC — 部署前请替换
...
mysql2. Serviços
2. 服务
✅ mautic_web: presente
✅ mautic_cron: presente
✅ mautic_worker: presente
✅ mautic_web: 已存在
✅ mautic_cron: 已存在
✅ mautic_worker: 已存在
3. Variáveis por Serviço
3. 各服务专属变量
✅ mautic_web: DOCKER_MAUTIC_LOAD_TEST_DATA=false
✅ mautic_cron: DOCKER_MAUTIC_ROLE=mautic_cron
...
✅ mautic_web: DOCKER_MAUTIC_LOAD_TEST_DATA=false
✅ mautic_cron: DOCKER_MAUTIC_ROLE=mautic_cron
...
4. Replicas
4. 副本数
✅ mautic_cron: 1 réplica (sem risco de duplicação)
⚠️ mautic_worker: sem resource limits definidos
...
✅ mautic_cron: 1个副本(无重复执行风险)
⚠️ mautic_worker: 未定义资源限制
...
5. Rotas Traefik
5. Traefik路由
✅ mautic_web: rota Host correta, TLS ok
✅ mautic_cron: sem Traefik (correto)
...
✅ mautic_web: Host路由配置正确,TLS正常
✅ mautic_cron: 无Traefik配置(符合要求)
...
6. Volumes
6. 存储卷
✅ mautic_config: compartilhado entre todos os serviços
✅ mautic_media_files: compartilhado entre todos os serviços
...
✅ mautic_config: 所有服务共享
✅ mautic_media_files: 所有服务共享
...
7. Recursos
7. 资源配置
⚠️ mautic_cron: sem resource limits — recomendado definir
...
⚠️ mautic_cron: 未定义资源限制 — 建议配置
...
8. Deploy
8. 部署配置
⚠️ update_config não definido — recomendado configurar start-first e rollback
...
⚠️ 未定义update_config — 建议配置start-first和rollback策略
...
9. Redes e Imagens
9. 网络与镜像
⚠️ Imagem usando — considere fixar uma versão em produção
...
latest⚠️ 镜像使用标签 — 生产环境建议固定具体版本
...
latest10. Segurança
10. 安全检查
❌ MAUTIC_DB_PASSWORD: placeholder SENHA_MAUTIC detectado
...
❌ MAUTIC_DB_PASSWORD: 检测到占位符SENHA_MAUTIC
...
Ações Recomendadas (por prioridade)
建议操作(按优先级排序)
Crítico (fazer antes do deploy)
严重(部署前必须修复)
- ...
- ...
Recomendado
推荐
- ...
- ...
Opcional
可选
- ...
undefined- ...
undefined