Corrigir uma falha do erpc worker

Encontre o início da mensagem que o erpc worker imprimiu e faça o que a linha correspondente diz.
Esta página descreve o ERPC CLI v0.1.0-rc.4, uma versão de pré-lançamento.

Mensagens de erro e o que fazer

As falhas do worker usam os códigos e os status de saída do erpc: veja Erros e códigos de saída.
Mensagem (início)Por quêO que fazer
<app> cannot start without <SETTING>run.requires nomeia uma configuração que nada defineerpc worker secret put <SETTING>, defina-a em [vars] ou implante com a linha que a define (--grpc, --unlimited)
your key was added but does not get inO agente SSH não assinou: o 1Password está bloqueado, ou a solicitação dele não foi permitidaDesbloqueie o 1Password, permita a solicitação e execute o mesmo comando de novo. Ele continua de onde parou
1Password could not …: authorization timeoutO 1Password pediu aprovação e ninguém respondeuPermita a solicitação no 1Password e execute de novo
<NAME> is empty; nothing was keptO secret put leu uma entrada padrão vazia: o shell não é um terminalExecute em um terminal ou passe o valor por pipe
the keystore is locked, and nobody is at a terminal …Um comando sem terminal precisa do keystore, e nenhum desbloqueio está mantidoerpc worker secret unlock em um terminal e, depois, o comando de novo
nothing is kept under keystore:… on this machineO valor foi guardado no keystore de outra máquinaerpc worker secret put <NAME> --replace aqui; para a chave, traga o diretório keystore inteiro daquela máquina e a frase-senha dele
release <id> failed: …; the server went back to <previous>A nova release não passou no health checkVeja o erpc worker logs. A release anterior continua rodando
… is locked: the trading key has not been handed overO servidor reiniciou, o agente falhou ou foi encerrado e o systemd o iniciou de novo, ou houve um stop --lockerpc worker start
port <n> is taken: …Outro worker mantido em execução tem a mesma porta de health check, ou outro programa escuta nelaDê à aplicação uma porta própria no erpc.toml e implante de novo
release <id> runs, and its WAF did not come up: …O WAF não começou a escutar. Na maioria das vezes, outro programa está em waf.porterpc worker logs --waf, depois libere a porta ou altere waf.port, e implante de novo. Enquanto isso, a aplicação continua rodando
waf.<key> … (de check, deploy)Uma chave de [waf] está fora dos limites dela, ou waf.port está abaixo de 1024 ou é igual a run.port, à porta do SSH ou à do health checkCorrija o erpc.toml. O erpc worker check lista todos os problemas de uma vez
the WAF's port <port> was not opened to … (de firewall allow, deny, sync)A alteração deixaria alguém novo entrar sob regras do WAF que o servidor ainda não está executandoerpc worker deploy: ele coloca as novas regras em vigor e, depois, abre a porta
<kind> line <id> did not become active in <n> minutesA linha ainda está sendo configuradaImplante de novo para esperar mais
OUT_OF_STOCKNenhum servidor desse plano está disponível nessa regiãoImplante com --region <another>
the start may or may not have gone through: …A requisição saiu e nenhuma resposta voltou, ou a resposta foi 5xx, 408 ou 429Execute o mesmo comando de novo: ele envia a mesma requisição
this purchase, or another of the account's, is still being made …A primeira requisição ainda está em andamento, ou outra compra da conta detém o bloqueioExecute o mesmo comando de novo daqui a pouco: ele envia a mesma requisição
… changed in 1Password since this command read itOutra máquina gravou o item do inventário nesse meio-tempoExecute o comando de novo
the shared RPC takes none of the account's API keys from this machine (<n> tried) (de secret put --from-account, erpc rpc call, erpc webhook run)Cada uma das chaves da conta foi recusada a partir desta máquina: a validade das chaves terminou, a conta não tem um plano de RPC compartilhado ativo, ou as chaves estão limitadas a outros endereços, como o de um servidorO ERPC Web Dashboard mostra a data de término de uma chave e o plano, e é onde se cria uma nova chave. Para uma chave limitada ao endereço do servidor: erpc worker secret put ERPC_API_KEY, digitada ou passada por pipe
shared: … HTTP 401 (no bench)O RPC compartilhado recusou a chave: nenhum plano de RPC compartilhado ativo, ou uma chave erradaVerifique o plano no dashboard ou defina ERPC_API_KEY
shared: … HTTP 429 (no bench)O limite de taxa do planoUse --interval 150 ou mais

Uma compra que o erpc não consegue registrar

Quando um servidor ou uma linha pode ter sido ativado por uma requisição anterior que o erpc não conseguiu registrar, confira os servidores e as linhas da sua conta no dashboard. Passe a usar um servidor com erpc worker deploy --vps <ID>, ou encerre o que não for desejado. Depois, remova manualmente a entrada de [env.<name>.starting] no erpc.toml: o erpc não tem flag que a remova e, até lá, o mesmo comando envia a mesma requisição.

Se o servidor pode ter sido comprometido

  1. Execute primeiro o erpc worker backup off, para revogar a chave de acesso de backup do servidor. O off não desfaz o que o servidor já leu.
  2. Transfira os fundos da chave de trading do servidor e substitua os segredos dele.
  3. Reconstrua o servidor pelo ERPC Web Dashboard e implante de novo.
Se a reconstrução mudou a chave de host SSH do servidor, o erpc recusa o servidor até você atualizar a chave fixada. Uma implantação traz de volta o código, não o estado da aplicação, que só um backup pode restaurar (Fazer backup do estado da aplicação).

O que o erpc nunca faz

  • Colocar uma chave, um segredo ou uma URL que contenha um deles em uma linha de comando.
  • Gravar uma chave de trading ou um segredo de uma aplicação em um arquivo, com uma exceção: o keystore do erpc na sua máquina, onde cada um é criptografado com a sua frase-senha. Em um servidor, o erpc worker backup on deixa as chaves de backup do próprio servidor em um arquivo acessível somente ao root.
  • Ativar qualquer coisa sem mostrar o preço.
  • Deixar um servidor aberto: o firewall está em vigor antes de a aplicação iniciar pela primeira vez.
  • Acessar um servidor cuja chave de host não corresponde à fixada.
O guia do worker lista todas as mensagens, inclusive as do WAF.