- Início
- Usar variáveis de ambiente
Usar variáveis de ambiente
Objetivo
Use variáveis de ambiente para informar credenciais e configurações à CLI sem alterar o workspace ativo. Esse recurso é útil em scripts, pipelines de CI/CD e terminais em que você precisa de uma configuração temporária.
Quando a mesma configuração é informada em mais de um lugar, a CLI usa a seguinte ordem de prioridade:
- Flags informadas no próprio comando, como
--regionou--api-key. - Variáveis de ambiente.
- Configurações do workspace ativo.
Por exemplo, se MGC_REGION estiver definida, ela é usada no lugar da região configurada no workspace, exceto nos comandos que informarem a flag --region.
Pré-requisitos
- CLI da Magalu Cloud instalada.
- Para autenticar por variável de ambiente, uma API key criada.
Como fazer
Definir as variáveis
Defina as variáveis no terminal antes de executar os comandos da CLI. Inclua apenas as variáveis que você precisa.
export MGC_API_KEY="sua-api-key"
export MGC_OBJ_KEY_ID="seu-key-id"
export MGC_OBJ_KEY_SECRET="seu-key-secret"
export MGC_REGION="br-se1"
As variáveis valem apenas para o terminal atual e deixam de existir quando ele é fechado. Para mantê-las nos próximos terminais, adicione as linhas acima ao arquivo de inicialização do seu shell, como ~/.bashrc ou ~/.zshrc.
$env:MGC_API_KEY="sua-api-key"
$env:MGC_OBJ_KEY_ID="seu-key-id"
$env:MGC_OBJ_KEY_SECRET="seu-key-secret"
$env:MGC_REGION="br-se1"
As variáveis valem apenas para a sessão atual do PowerShell. Para mantê-las nas próximas sessões, adicione as linhas acima ao seu perfil do PowerShell (arquivo indicado por $PROFILE) ou defina-as nas variáveis de ambiente do Windows, em Painel de Controle > Sistema > Configurações avançadas do sistema > Variáveis de Ambiente.
Para definir as variáveis apenas na sessão atual, use set:
set MGC_API_KEY=sua-api-key
set MGC_OBJ_KEY_ID=seu-key-id
set MGC_OBJ_KEY_SECRET=seu-key-secret
set MGC_REGION=br-se1
Para mantê-las nas próximas sessões, use setx:
setx MGC_API_KEY sua-api-key
setx MGC_REGION br-se1
O setx grava a variável para as próximas sessões, mas não a aplica na sessão atual nem em terminais que já estão abertos. Abra um novo terminal para usá-la.
A MGC_API_KEY dá acesso à sua conta. Não a inclua em arquivos versionados, como scripts em um repositório Git. Em pipelines de CI/CD, guarde a chave no gerenciador de secrets da ferramenta e exponha-a como variável de ambiente apenas durante a execução. Lembre-se também de que arquivos como ~/.bashrc guardam a chave em texto puro.
Remover uma variável
Para voltar a usar as configurações do workspace, remova a variável. No exemplo abaixo, troque MGC_REGION pelo nome da variável.
unset MGC_REGION
Se a variável estiver no arquivo de inicialização do shell, apague a linha correspondente para que ela não volte nos próximos terminais.
Remove-Item Env:MGC_REGION
Se a variável estiver no perfil do PowerShell ou nas variáveis de ambiente do Windows, remova-a de lá para que ela não volte nas próximas sessões.
set MGC_REGION=
Se a variável foi definida com setx, remova-a das variáveis de ambiente do Windows para que ela não volte nas próximas sessões.
Detalhes técnicos
| Variável | Descrição | Equivalente |
|---|---|---|
MGC_API_KEY | API key usada para autenticar os comandos | Flag --api-key |
MGC_OBJ_KEY_ID | ID da chave de acesso ao Object Storage | — |
MGC_OBJ_KEY_SECRET | Secret da chave de acesso ao Object Storage | — |
MGC_REGION | Região em que os recursos são criados e gerenciados | Flag --region |
Perguntas frequentes
Por que a CLI não reconhece a variável que defini?
Confira se a variável está visível no terminal com echo $MGC_REGION (Linux e macOS), $env:MGC_REGION (PowerShell) ou echo %MGC_REGION% (Prompt de Comando). As causas mais comuns são:
- A variável foi definida com
setx, que só vale a partir do próximo terminal. - O comando
setfoi usado no PowerShell, onde ele não cria variáveis de ambiente. Use$env:. - O valor foi definido com aspas no Prompt de Comando, que passam a fazer parte dele.
- A variável foi definida em outro terminal ou no arquivo de inicialização errado. No macOS, o padrão é o
~/.zshrc.
Próximos passos
- Configurar a CLI para definir valores padrão salvos no workspace.
- Administrar workspaces para manter conjuntos de configurações separados e alternar entre eles.