Autenticação
A CLI se autentica de uma de três formas, nesta ordem:
BOHR_TOKEN, quando definida: um token do painel. Para scripts, CI e agentes de IA.- O login guardado pelo
bohr login, para aquela instância. Para pessoas no próprio computador. - OIDC do GitHub, no GitHub Actions sem
BOHR_TOKEN(precisa depermissions: id-token: write).
bohr login
Seção intitulada “bohr login”bohr loginA CLI mostra um link e um código, e abre o navegador:
To sign in, open https://app.bohr.io/cli?code=BCDF-GHJKand approve "CLI on my-laptop" with the code BCDF-GHJK.No painel (Entrar na CLI do bohr), confira se o código é o mesmo do seu terminal e clique em Aprovar. Aprove só uma entrada que você mesmo começou: senão, quem mandou um link desses poderia fazer deploy como você. O código vale por 10 minutos.
Depois disso a CLI guarda um token próprio, chamado “CLI on <seu computador>”, com acesso a todos os seus projetos e sem expiração. Ele fica em credentials.json na sua pasta de configuração, que só você consegue ler:
| Sistema | Pasta |
|---|---|
| Linux | $XDG_CONFIG_HOME/bohr ou ~/.config/bohr |
| macOS | ~/Library/Application Support/bohr |
| Windows | %APPDATA%\bohr |
BOHR_CONFIG_DIR substitui a pasta. Fica guardado um login por instância.
bohr whoami # em nome de quem a CLI age, e com qual tokenbohr logout # revoga o token deste computador e o esqueceTokens para scripts e agentes
Seção intitulada “Tokens para scripts e agentes”Crie um token no painel, em Conta › Tokens (detalhes): um nome, os projetos que ele pode usar e uma expiração. O painel mostra o token uma única vez. Depois:
export BOHR_TOKEN=bohr_…bohr deploy --json- Tokens começam com
bohr_. Qualquer outra coisa emBOHR_TOKENé recusada (código de saída 3). - Um token age como você, nos projetos dos quais você é membro, limitado aos que ele lista. Ele nunca carrega o papel de administrador da instância.
BOHR_TOKENtem prioridade sobre o login guardado. Obohr loginavisa quando ela está definida.- Revogue o token no painel quando quiser; os scripts que o usam param na hora (código de saída 3).
GitHub Actions com OIDC
Seção intitulada “GitHub Actions com OIDC”Num workflow com permissions: id-token: write e sem BOHR_TOKEN, o bohr deploy entra com o token OIDC do GitHub da execução e faz deploy do repositório da execução e do branch que recebeu o push, como a deploy action. --prod, --branch e --project precisam de BOHR_TOKEN. Veja Uso em CI.
Instâncias auto-hospedadas
Seção intitulada “Instâncias auto-hospedadas”Todo comando aceita --instance <url>, ou a variável BOHR_INSTANCE_URL. O padrão é https://app.bohr.io. O endereço precisa usar https (exceto localhost).
bohr login --instance https://bohr.example.com