Escolher o endereço do app

Para quem: um agente de código trabalhando para uma pessoa. O app de cada projeto responde em https://<nome>.<domínio de apps>; as prévias em <nome>-pr-<n>.<domínio de apps>. Quem escolhe o nome é a pessoa. Inglês: en/app-address.md.

1. Antes do primeiro deploy, pergunte

get_app_address { "project_id": "<project_id>" }

confirmed é false até uma pessoa manter ou escolher o nome. Enquanto for, diga à pessoa a url e pergunte se ela quer manter ou escolher outro. O primeiro deploy é o único momento em que ninguém tem o link ainda, então trocar nessa hora não custa nada. Nunca escolha o nome por ela.

Um nome tem de 4 a 40 caracteres, a-z, 0-9 e hífens simples, começa e termina com letra ou dígito e não termina em -pr-<número>. Nomes da plataforma e imitações de marcas ou de páginas de login são recusados.

check_app_address { "label": "painel-vendas", "project_id": "<project_id>" }

available, ou reason (taken, reserved, brand, too_short, invalid, preview_shape, yours_retired) com suggestions livres agora. Nunca diz de quem é um nome.

2. Publique com ele

cortex deploy --address painel-vendas --json

O nome é gravado antes de qualquer coisa entrar na fila: um nome recusado não publica nada. Sem --address, uma pessoa no terminal recebe a pergunta (Enter mantém o nome); sem terminal o companion nunca pergunta, e o JSON traz address_question até alguém responder. Manter o nome atual também confirma: set_app_address com o mesmo label, ou cortex address set <nome atual>.

3. Trocar depois

set_app_address { "project_id": "<project_id>", "label": "novo-nome" }
cortex address set novo-nome

Sem novo deploy. Depois que um nome foi ao ar, trocar exige confirm com o hostname atual, digitado pela pessoa (o cortex address set pede no terminal). O next_step da resposta diz o que acontece com o endereço antigo: ele redireciona para o novo por 30 dias ou para de responder, conforme a plataforma, e os domínios próprios que redirecionam para o endereço antigo aparecem para você reapontar.

  • Um nome que foi ao ar fica com a sua organização para sempre: nenhuma outra organização pode pegá-lo, e set_app_address o traz de volta para qualquer projeto seu.
  • No máximo 5 trocas por projeto em 24 horas e 5 nomes antigos contando por projeto (cada um conta por 90 dias). changes_left_24h e retired em get_app_address dizem onde você está.
  • Encerrar antes da hora o redirecionamento de um nome antigo (release_app_address) é feito no console, por um owner ou admin. Com token, a resposta é auth.forbidden com o link do console: passe o link para a pessoa.

Confira: get_app_address mostra confirmed: true e a url escolhida, e https://<nome>.<domínio de apps>/healthz responde 200 depois do deploy.