devterview_$ iniciar simulação

Configuração por ambiente sem vazar segredo

FácilJúniorConfiguração

Pergunta

Como um serviço Node deve receber configuração (URLs, chaves, flags) entre dev, staging e produção?

Resposta esperada

Config vem do AMBIENTE, não do código: `process.env`, populado por um `.env` só em dev (com `.env` no `.gitignore` e um `.env.example` versionado sem valores), e por variáveis injetadas pelo orquestrador/secret manager em staging/prod. Boas práticas: validar e tipar a config no boot (com Zod/envalid) e falhar rápido se faltar algo obrigatório, em vez de descobrir com um `undefined` no meio de um request; centralizar num módulo `config.ts` que lê `process.env` uma vez e o resto do código importa dali (nada de `process.env.X` espalhado); nunca commitar segredo (se vazou, rotacione — ver a pergunta de segredos); e distinguir config (varia por ambiente) de constante (não varia — fica no código). Doze-fatores: um mesmo build, comportamento definido por env.

Por que perguntam isso

Pergunta pleno de Node. Sinal bom: 'valide no boot e falhe rápido' e o módulo config central. Conecta com segurança de segredos.

#config#env#12-factor
publicidade

Relacionadas