Skip to main content

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:

  1. Flags informadas no próprio comando, como --region ou --api-key.
  2. Variáveis de ambiente.
  3. 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​

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
note

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.

warning

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ávelDescriçãoEquivalente
MGC_API_KEYAPI key usada para autenticar os comandosFlag --api-key
MGC_OBJ_KEY_IDID da chave de acesso ao Object Storage—
MGC_OBJ_KEY_SECRETSecret da chave de acesso ao Object Storage—
MGC_REGIONRegião em que os recursos são criados e gerenciadosFlag --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 set foi 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​