Tema: configuration
-
Como escrever scripts de administração idempotentes: verificar antes de alterar, arquivos drop-in e comentários marcadores
Um script de administração que um agente pode reexecutar após uma falha parcial ou por agendamento repetido deve deixar o sistema no mesmo estado, rodando uma ou cinco vezes. Três padrões garantem isso: verificar o estado atual antes de alterar, gravar arquivos drop-in separados em vez de editar os compartilhados e marcar todo bloco que o script controla.
-
Rastrear um valor de configuração da declaração ao comportamento efetivo em tempo de execução
Explica por que a edição de um arquivo de configuração alterou ou não o comportamento da aplicação, rastreando o valor pelo caminho real de carregamento e de sobrescrita.
-
ConfigMaps e Secrets no Kubernetes: limites de tamanho, propagação de atualizações e o que um Secret não protege
ConfigMaps e Secrets são objetos chave-valor limitados a 1 MiB; as chaves montadas como volume são atualizadas após um atraso de sincronização do kubelet, as variáveis de ambiente nunca, e montagens com subPath também nunca. Um Secret é apenas codificado em base64 e fica sem criptografia no etcd, a menos que criptografia em repouso e RBAC sejam configurados.
-
Promover um único build entre ambientes: promoção de configuração e paridade entre dev e prod
Construa o artefato uma só vez, dê-lhe uma identidade imutável e promova esse mesmo artefato de teste para staging e produção, alterando apenas a configuração específica de cada ambiente; mantenha os ambientes semelhantes em serviços de apoio e topologia, para que uma etapa aprovada permita prever a seguinte.
-
Como testar alterações de configuração que mudam a autoridade de outro usuário
Identifica gravações de configuração que concedem permissões de forma indireta, mesmo quando o endpoint parece uma simples edição de configurações. A proposta acompanha a mudança de autoridade resultante, em vez de avaliar o risco pelo nome da rota.
-
O Object Data Manager: por que a configuração de dispositivos e do sistema no AIX não fica em um arquivo
O AIX armazena definições de dispositivos, entradas de subsistemas do SRC e muitos atributos do sistema como objetos no banco de dados Object Data Manager (ODM), em /etc/objrepos e /usr/lib/objrepos, e não em arquivos de texto editáveis. lsattr, lsdev e chdev são a interface suportada; chdev -P adia a alteração para a próxima reinicialização em vez de aplicá-la na hora.
-
Alterar a configuração de um serviço gerido pelo SMF com svccfg em vez de editar o arquivo de configuração
svccfg listprop/setprop leem e gravam a configuração persistente de um serviço no repositório do SMF; svcadm refresh a copia para o snapshot em execução. Quando o SMF gera o arquivo de configuração de um serviço (por exemplo, /etc/resolv.conf a partir de network/dns/client), a edição manual desse arquivo é sobrescrita.
-
Docker Compose no desenvolvimento local: arquivos de override, profiles, dependências saudáveis e watch
Mantenha um único compose.yaml versionado com a mesma estrutura da produção, use um compose.override.yaml para portas locais e bind mounts, isole ferramentas opcionais em profiles, faça o depends_on esperar por service_healthy e use develop.watch para sincronizar ou reconstruir quando os arquivos mudarem.
-
Gerenciar segredos fora do repositório
Credenciais devem ficar em configuração protegida, injetada em tempo de execução, nunca no controle de versão, em imagens ou em logs; cada serviço recebe credenciais próprias e restritas, e a rotação é um procedimento praticado, não uma emergência. Os passos seguem o cheat sheet da OWASP sobre gestão de segredos e a separação entre configuração e código do Twelve-Factor.
-
Padrões seguros e design fail-closed
O princípio de padrões à prova de falha (fail-safe defaults), de Saltzer e Schroeder, baseia o acesso em permissão explícita, de modo que um erro negue o acesso em vez de concedê-lo. Hoje isso significa autorização com negação por padrão, configuração que se recusa a iniciar quando falta uma definição de segurança e caminhos de erro que fecham o acesso em vez de abri-lo.
-
Tipagem implícita em YAML 1.1 vs 1.2: o problema da Noruega, números octais e quais parsers usam qual versão
O tipo booleano do YAML 1.1 trata yes, no, on e off como booleanos e um zero à esquerda como octal; o Core Schema do YAML 1.2 restringe os booleanos a true/false e exige o prefixo explícito 0o para octais. PyYAML, js-yaml e gopkg.in/yaml.v3 ficam, cada um, em um ponto diferente entre as duas versões.
-
Configurar parâmetros do kernel Linux com sysctl: alterações em tempo de execução versus /etc/sysctl.d
O comando sysctl -w altera um parâmetro do kernel apenas até a próxima reinicialização; para torná-lo persistente, é preciso colocar um arquivo em /etc/sysctl.d/ e entender a ordem de carregamento entre /usr/lib, /etc e /run. O sysctl --system aplica todos os arquivos configurados e mostra qual deles prevalece em caso de conflito.
Legível por máquina: JSON