CLI · ComandosServiços

Serviços

Listar, inspecionar, fazer deploy e operar serviços.

eqs services ls

Lista os serviços de um space, com status e origem: a imagem, ou o repositório de onde o serviço é construído.

--space <slug>O space (padrão: o space ativo, definido com eqs spaces use). Todos os comandos desta página aceitam
shell
eqs services ls --space my-space
eqs services get <svc>

Detalhes de um serviço: origem, porta, escala, o health check (o health path, ou um probe TCP) e onde ele atende: os domínios, o endereço do serviço primeiro (o nome escolhido sob o domínio da plataforma, quando houver), cada um marcado como endereço, gerado ou custom, verificado ou não verificado, com ou sem TLS, e o gerado com para onde redireciona e, para um serviço exposto numa porta TCP, o host:porta.

shell
eqs services get api-gateway
eqs services create <name>

Cria um serviço e faz o deploy a partir de uma origem: um repositório conectado (a stack é detectada, ou um Dockerfile ou arquivo Compose dele é construído), uma imagem pronta, ou um serviço do marketplace.

--repo <owner/name>Um repositório conectado, construído a partir de --branch (padrão: main)
--dockerfile [path]Com --repo: build a partir de um Dockerfile (caminho padrão: Dockerfile)
--composeCom --repo: build a partir de um arquivo docker-compose
--image <ref>Uma imagem pronta
--catalog <code>Um serviço do marketplace: eqs services catalog lista todos, e --catalog-version escolhe a versão
--set <key=value>Com --catalog: o valor de um campo. Repetível
--port <n>A porta em que o app escuta
--internalSó interno, sem domínio público
--min <n>Mínimo de instâncias (0 = escala a zero)
--max <n>Máximo de instâncias
--domain <host>Associa um domínio próprio depois que o serviço é criado
--health-path <path>O caminho do health check: um GET HTTP nele diz se uma instância está pronta. Sem ele, um probe TCP na porta
shell
eqs services create api --image registry.example/api:1.4 --port 8080 --health-path /healthz
eqs services update <svc>

Muda a imagem ou o health path de um serviço e inicia um rollout. Só muda o que for passado, e sem nenhuma das opções o comando é recusado. Uma imagem só pode ser definida num serviço implantado a partir de uma imagem.

--image <ref>A imagem a executar
--health-path <path>O caminho do health check; "" volta o serviço ao probe TCP
shell
eqs services update api --health-path /healthz
eqs deploy <svc>

Dispara um novo deploy do serviço: um serviço construído a partir de um repositório é reconstruído (build → push → rollout), um implantado a partir de uma imagem faz o rollout dela de novo. Retorna assim que o rollout entra na fila, a menos que --wait seja passado.

--image <ref>Torna essa imagem a imagem do serviço e faz o rollout dela (um serviço implantado a partir de uma imagem)
--waitAcompanha o deploy que o comando iniciou, informando cada estado por que ele passa. Sai com 0 quando ele está em execução, e com erro quando falha (imprimindo o log dele) ou quando nenhum começa em um minuto
--timeout <minutes>Com --wait: quantos minutos o deploy pode levar (padrão: 30). Passado esse tempo, o comando informa qual é o deploy e o estado em que ele está, e sai com erro
shell
eqs deploy api --image registry.example/api:1.5 --wait
eqs restart <svc>

Reinicia as instâncias do serviço.

shell
eqs restart web-frontend
eqs scale <svc>

Ajusta os limites de instâncias (mín–máx). v2.

--min <n>Mínimo (0 = escala a zero)
--max <n>Máximo
shell
eqs scale worker --min 1 --max 6
eqs env ls <svc> · eqs env set <svc> K=V · eqs env rm <svc> K · eqs env apply <svc>

Lista as variáveis de ambiente do serviço (só os nomes: os valores nunca são devolvidos), define ou remove uma, e faz o rollout delas.

--secretCom set: guarda o valor cifrado, num Secret
--applyCom set: faz o rollout do serviço agora, em vez de deixar a mudança pendente
shell
eqs env set api-gateway LOG_LEVEL=debug
Salvar uma variável NÃO reinicia nada: as instâncias em execução seguem com o Secret com que foram renderizadas, e isso só muda num rollout. Defina o grupo todo e depois role uma vez com eqs env apply <svc> — rolar a cada save reiniciaria o serviço no meio de uma connection string. O eqs env pending <svc> diz se ainda falta um rollout, e zera quando qualquer rollout pegar as variáveis.