Skip to main content
Com FIREFLO_CONFIG_SOURCE=db, o gateway lê quatro domínios do PostgreSQL em vez de arquivos: propriedades, credenciais, roteamento e tarifas.
Os quatro trocam juntos. Há uma única chave, e ela cobre todo domínio. As variáveis mais antigas por domínio se foram e agora recusam o startup.config_sources em /ops/health reporta o que cada domínio de fato resolveu, que é o que checar quando uma edição no painel parece não fazer nada.

Contas, logins e produtos

Criar uma credencial não cria uma linha account_balance. Um RECHARGE para uma conta sem uma credita nada e fica pendente.

Dinheiro

balance tem exatamente um escritor — o poll de recarga do gateway. O painel escreve linhas de ledger e nunca a coluna de balance.
Os tipos de entrada se dividem em três jobs: RECHARGE/TRANSFER movem dinheiro para dentro, RESERVE/RELEASE movem entre duas colunas da mesma linha e somam zero, e BILL é inerte. O poll nunca o seleciona, então arrears nunca entram em balance.

Roteamento

Uma regra referenciando um filtro ausente ou desabilitado é pulada inteiramente em vez de carregada com menos condições. Descartar condições silenciosamente ampliaria a regra.

Aprovações e TLVs

app_header e app_template carregam um status de aprovação (V1.19.0). Somente linhas APPROVED são carregadas. Uma linha pendente se comporta exatamente como se não existisse.

Workers e settings

A resolução de três camadas é outSms.instance.<name>.<key> → outSms.default.<key> → o padrão codificado. Nem toda configuração pode ser escopada a um listener. Uma que não pode lê silenciosamente um global que ninguém define.

Auditoria

Acesso de operador é logado a um arquivo na pasta de dados do painel, não a esta tabela.

Migrações são só para frente

Flyway, a partir de V1.19.0__baseline.sql. Não há down-migration. O caminho de rollback é uma restauração, então faça backup antes de aplicar, não depois.
Trocar para modo db contra um schema vazio não cai de volta para arquivos. O loader publica o conjunto vazio, e para credenciais isso significa que todo bind e toda chamada REST é recusada de uma vez. Rode fireflo import primeiro.

Relacionados

Tabelas de call record

A metade de tráfego e dinheiro do schema.

Configuração de banco

Conectando o gateway, e a chave de modo db.