Configuração como código
A configuração de um projeto pode ficar em um único arquivo que você faz commit e envia por push. A produção muda quando você publica uma release, e o mesmo arquivo pode descrever staging e produção.
O que o arquivo declara
foir.config.ts declara modelos, chaves de API, hooks e provedores de login. Ele também cobre operações, agendamentos, placements, segmentos, papéis dos seus usuários, instalações de apps, design tokens, locales, dimensões de contexto, o catálogo de variantes, textos de e-mail e configurações do projeto. Para uma chave de API, o arquivo versionado guarda a declaração: nome, tipo, escopos e a variável de ambiente a usar. A CLI provisiona a chave durante um push e grava o valor dela no seu arquivo env sob essa variável.
Um push prepara um rascunho
foir push começa com um dry run no servidor, então uma recusa chega antes que algo seja gravado. Depois ele grava rascunhos, e a produção continua servindo a cópia publicada até uma release. Novos modelos, novas operações e campos opcionais adicionados saem com o push. Todo o resto espera você publicar.
Um push é um merge de três vias entre o arquivo, o estado atual do projeto e o seu último push. Quando o mesmo campo mudou no arquivo e no console, ele para e informa o conflito.
Staging e produção a partir de uma configuração
Uma configuração pode declarar vários projetos nomeados a partir de um manifesto, e é assim que staging e produção são mantidos idênticos. Somente valores declarados como destinos podem diferir: endpoints, URIs de redirecionamento, origens, domínios e endereços de remetente. Qualquer outra diferença recusa o push e indica o campo e os dois valores. Um push também falha quando o projeto tem um modelo, operação, hook, agendamento ou dimensão de contexto que a configuração não declara.
Removendo um campo
Tirar um campo da configuração não apaga os dados dele de imediato. O campo é mantido como obsoleto por 30 dias, e o push grava um arquivo de decisão perguntando o que fazer com os valores armazenados: renomear, converter ou descartar.
Leia os detalhes
A documentação de configuração cobre o formato do arquivo, cada família que ele pode declarar, push, publicação e projetos nomeados.