Skip to main content
O FireFlo é licenciado comercialmente. A partir da 0.8.5 todo gateway carrega uma licença e a verifica por conta própria.
Uma licença vencida não para o seu tráfego. As mensagens continuam sendo aceitas, roteadas, precificadas, cobradas e entregues. Não há verificação de licença em nenhum ponto do caminho da mensagem, e não vai haver — uma falha no licenciamento nunca deve tirar uma operadora de SMS do ar.

O que uma licença vencida para

A adoção de mudanças de configuração. O gateway continua rodando com a configuração que leu por último, e uma regra de roteamento, tarifa, fornecedor ou credencial que você mudar deixa de ter efeito até a licença estar em dia de novo. Ou seja, um vencimento custa a você a capacidade de reconfigurar e não custa nada aos seus clientes. Dois efeitos de apoio, ambos menores em comparação:
  • os endpoints operacionais respondem 402, exceto as rotas de licença e o endpoint de health;
  • o painel de controle mostra um banner apontando para /cp/verify.
O gateway ainda inicia sem licença e ainda carrega tráfego. Ele nunca se recusa a fazer boot.

Nada muda no dia em que você atualiza

Uma instalação que nunca teve uma licença funciona normalmente por 14 dias a partir do momento em que inicia pela primeira vez. Isso vale tanto para uma atualização quanto para uma instalação nova, então um parque inteiro pode migrar para a 0.8.5 sem que nada mude no dia. A janela é medida a partir de um registro durável. Reiniciar não a renova.

Ativando

Abra /cp/verify, cole a chave de licença, pressione Activate.O gateway guarda a chave e se renova sozinho a partir daí. Uma licença nova entra em vigor no próximo poll de configuração — não é preciso restart.

Verificando uma licença

O comando único

Ele nomeia um de seis estados, e sai com 0 enquanto a configuração está sendo adotada e 1 caso contrário — então pode ser usado como checagem em um script ou em um monitor sem fazer parsing do texto.

Pelo painel de controle

/cp/verify mostra o mesmo estado, com o id da instalação, o endereço para o qual a licença foi emitida, a data até a qual ela permanece em dia, e a data em que a configuração congelaria. Check again a relê sem mudar nada.

Por um monitor

O endpoint de health do gateway carrega o mesmo estado e continua respondendo sem licença — então “o painel diz que o gateway está inacessível” nunca é o diagnóstico de um problema de licença.
Todo campo ali é seguro de logar e de alarmar — não carrega chave de licença nem segredo. Os dois que vale acompanhar são verdict e days_until_frozen: a contagem regressiva chega a zero no momento em que mudanças de configuração deixam de ser adotadas, e configuration_adopted diz se ainda estão sendo.

Provando que um congelamento é um congelamento

Se você suspeita que a configuração parou de ser adotada, a checagem honesta é mudar alguma coisa e olhar o que o gateway acredita, em vez do que o painel mostra:
  1. fireflo license status — espere expired.
  2. Mude uma regra de roteamento no painel e salve.
  3. Peça ao gateway para explicar uma mensagem que essa regra casaria. Ele ainda nomeia a regra antiga.
  4. Envie uma mensagem real. Ela ainda é submetida, precificada e cobrada exatamente como antes.
Os passos 3 e 4 juntos são o design inteiro: a configuração está congelada, o tráfego não.

Quanto tempo você tem

Os dois números viajam dentro da licença, então podem ser estendidos para um cliente sem uma release. Esta também é a janela de revogação: uma licença suspensa continua funcionando até a atual vencer, no máximo 21 dias. Esse é o custo de um gateway que não precisa pedir permissão a ninguém para rodar, e é por isso que a licença dura uma quinzena em vez de um ano.

Quando o servidor de licenças é contatado

Dois momentos, e nenhum poller em background. Mais uma tentativa de renovação nos últimos dias antes da expiração, para que uma instalação que ninguém reinicia e ninguém olha não congele sem aviso. O estado é calculado continuamente a partir do que já está em disco. Só a rede é orientada a eventos, e é por isso que um servidor de licenças inacessível é sobrevivível.

Identidade: o endereço, e a instalação

Uma licença é chaveada pelo endereço IP do servidor, que o servidor de licenças observa a partir da conexão. O gateway nunca envia um. Cada instalação também tem um id de instalação estável. É ele que distingue “meu servidor mudou de endereço” de “minha licença está em uma segunda máquina”.
Se você reconstruir um servidor, libere a licença na sua conta primeiro. A instalação reconstruída tem uma identidade nova e, caso contrário, seria lida como uma cópia.
Uma licença offline é vinculada à instalação em vez de a um endereço, porque a requisição chega ao servidor de licenças a partir de um navegador em outra rede.

Configurações

A URL do servidor é configuração comum, não um segredo. Apontá-la para outro lugar não ganha nada: um servidor substituto não consegue produzir nada que um gateway aceite, e o gateway simplesmente nunca renova. O arquivo de licença é 0600 — ele guarda a chave de licença, que é uma credencial bearer. O registro também é mantido no banco, então uma instalação que perde seu diretório de dados recupera sua licença e sua identidade sem que ninguém cole uma chave de novo.

Se algo estiver errado

Rode fireflo license status primeiro; a tabela acima nomeia o próximo passo para cada estado. Se o estado for active e a configuração ainda não estiver sendo adotada, a causa não é licenciamento — comece por First checks. Qualquer outra coisa: support@fireflo.au, citando o id da instalação de /cp/verify.