↓Pular para o conteúdo principal
CAMPO / KNOWLEDGE BASE

blog

Artigos técnicos sobre cloud, Kubernetes, DevOps e infra em geral. Baseado em problemas reais de produção — sem tutorial de hello world.

Artigos publicados

11.08.2026 5 min
Backup do Semaphore não é só pg_dump: o que precisa existir para recuperar o control plane

Como pensar o backup de um Semaphore self-hosted quando banco, secrets, SSH, configurações cloud e arquivos da stack participam da recuperação.

semaphoreansiblebackup
→
11.08.2026 4 min
Certbot via cron a cada 12 horas: como validar o mecanismo sem duplicar renovação

Como avaliar hosts que executam certbot renew via cron de 12 horas, verificar concorrência com timers e testar o fluxo antes de confiar na renovação.

certbotcronletsencrypt
→
11.08.2026 4 min
Certbot via systemd timer: como verificar se a renovação automática realmente está funcionando

Como validar timer, última e próxima execução, certificados instalados e dry-run antes de confiar na renovação automática do Certbot.

certbotsystemdtls
→
11.08.2026 5 min
Como adicionar apenas um novo serviço a um Compose em produção com docker compose up -d --no-deps

Por que, em host compartilhado, validar o Compose e subir somente o serviço novo com --no-deps reduz o blast radius da mudança.

dockercomposedeploy
→
11.08.2026 7 min
Como pensar observabilidade para uma frota de VPS Docker sem partir direto para Kubernetes

Uma arquitetura incremental de observabilidade para hosts Docker com Prometheus, Grafana, Loki, Promtail, cAdvisor e node-exporter, sem transformar Kubernetes em pré-requisito.

prometheusgrafanaloki
→
11.08.2026 5 min
De playbooks soltos a templates governados no Semaphore

Como transformar um acervo de playbooks Ansible em operações executáveis por outras pessoas sem começar reescrevendo ou reorganizando tudo.

ansiblesemaphoreautomacao
→
11.08.2026 6 min
Docker host usa uma conta AWS, mas a imagem está em outro ECR: diagnosticando pull cross-account

Como separar identidade AWS, permissão IAM, autenticação do registry e credential helper quando um Docker host precisa puxar imagens de outro ECR.

awsecrdocker
→
11.08.2026 6 min
Dois X-Frame-Options diferentes na mesma resposta: Nginx, Sucuri ou Cloudflare?

Como investigar uma resposta HTTP que chega com X-Frame-Options SAMEORIGIN e DENY ao mesmo tempo sem culpar a camada errada.

nginxcloudflaresucuri
→
11.08.2026 7 min
FOR UPDATE SKIP LOCKED: usando PostgreSQL para distribuir trabalho entre workers sem processar o mesmo item duas vezes

Um padrão prático de claim atômico com FOR UPDATE SKIP LOCKED para workers concorrentes processarem filas persistidas no PostgreSQL.

postgresqlsqlconcorrencia
→