Feito com Chinaski

A Chave do Air-gap

Uma variável de ambiente, CHINASKI_AIRGAP=1, muda a postura de rede da aplicação. Defina-a no arquivo de env da instância e reinicie. A linha do log de inicialização dirá airgap: ENABLED (o instalador escreve a chave para você por padrão; instalações novas a mostram ativa desde a primeira inicialização).

A semântica tudo-ou-nada

A chave desliga a lista completa de saída de uma vez, não é uma alternância por funcionalidade. Desabilita, num relance:

  • Webhooks (build, form, post, publish) nunca são entregues, e o worker de retry automático para.
  • Deploys pelo CMS, os caminhos de push rsync e S3 nunca executam.
  • A verificação do Cloudflare Turnstile é pulada (com registro disso), e o widget Turnstile é removido das páginas de login e formulários mesmo que as chaves estejam armazenadas nas configurações.
  • E-mail de admin, cada envio (notificações de revisão, correspondência de aprovação/rejeição, avisos de build) retorna não-enviado.
  • As verificações de manifest de atualização não são realizadas mesmo que uma URL de manifest esteja configurada, a funcionalidade fica inerte até o air-gap sair.
  • Os uploads de backup para Spaces não acontecem; os backups ainda são criados (e mantidos) localmente.

O que continua funcionando

  • O próprio CMS: edição de conteúdo, uploads, menus, configurações, UI de admin.
  • Builds estáticos com um detalhe: builds em air-gap são estritamente mais rigorosos quanto a referências externas, analytics GA4/GTM são removidos dos templates mesmo quando configurados, e qualquer código de snippet que referencie uma URL externa é removido das páginas construídas, para que nada carregue de um CDN.
  • Backups locais ainda funcionam: o backup diário do sistema (DB + mídia), backups tar.gz dentro do app, verificação, fluxos de restauração, nada disso precisa de conectividade. Apenas a cópia opcional off-site para Spaces fica de fora.
  • Formulários e estado local continuam a funcionar , as submissões são armazenadas como de costume; apenas a entrega por e-mail e a por webhook entram em pausa.

Uma nota: a chave é assinada/completa, unidirecional, tudo de uma vez; reabilitar qualquer funcionalidade de saída isolada significa desligar a chave por inteiro (e então selecionar quais funcionalidades usar).

Leia este site em