- Documentação
- Serviços
- Variaveis de Ambiente
Variaveis de Ambiente
Variaveis de ambiente permitem configurar sua aplicacao sem alterar o codigo. Use-as para armazenar URLs de banco de dados, chaves de API, configuracoes de ambiente e outros valores que podem variar entre ambientes.
Gerenciando variaveis de ambiente
Adicionando variaveis
- Acesse a pagina do servico no dashboard
- Va ate a aba Variaveis de Ambiente
- Clique em Adicionar Variavel
- Informe o nome (chave) e o valor
- Clique em Salvar
Voce pode adicionar quantas variaveis precisar. Cada variavel e injetada como uma variavel de ambiente no container da sua aplicacao.
Editando variaveis
Para editar uma variavel existente, clique no icone de edicao ao lado dela, altere o valor e salve. O valor anterior nao sera mais acessivel apos a edicao.
Removendo variaveis
Para remover uma variavel, clique no icone de exclusao e confirme a acao. A variavel sera removida do container no proximo deploy.
Mascaramento de segredos
Valores sensiveis sao automaticamente mascarados no dashboard apos serem salvos. Isso significa que, apos definir uma variavel, o valor completo nao sera mais exibido na interface. Voce pode substituir o valor a qualquer momento, mas nao pode visualizar o valor atual.
Isso protege segredos como chaves de API e senhas de banco de dados contra exposicao acidental.
Padroes comuns
Aqui estao algumas variaveis de ambiente frequentemente usadas:
| Variavel | Exemplo | Uso |
|---|---|---|
DATABASE_URL | postgresql://user:pass@host:5432/db | Conexao com banco de dados |
API_KEY | sk-abc123def456 | Chave de API de servico externo |
NODE_ENV | production | Ambiente de execucao (Node.js) |
PORT | 3000 | Porta da aplicacao |
SECRET_KEY | minha-chave-secreta | Chave para criptografia/tokens |
Variaveis injetadas pela plataforma
O Guara Cloud injeta automaticamente um conjunto de variaveis de ambiente em todos os servicos. Voce nao precisa cria-las manualmente.
| Variavel | Exemplo | Descricao |
|---|---|---|
PORT | 3000 | A porta que seu servico deve escutar |
GUARA_SERVICE_NAME | my-api-a3f2c1 | O slug do servico (identificador interno) |
GUARA_PROJECT_NAME | my-project | O slug do projeto |
GUARA_ENVIRONMENT | production | O ambiente de execucao |
Variaveis de descoberta de servicos
Quando seu projeto tem multiplos servicos, o Guara Cloud injeta automaticamente variaveis de ambiente para que cada servico possa descobrir e se comunicar com seus vizinhos. Essas variaveis usam o nome do servico como prefixo, tornando-as intuitivas e previsiveis.
Para cada servico vizinho, tres variaveis sao injetadas:
| Variavel | Formato | Descricao |
|---|---|---|
{NOME_SERVICO}_HOST | {slug}.{namespace}.svc.cluster.local | Hostname interno do servico vizinho |
{NOME_SERVICO}_PORT | 3000 | Porta do servico vizinho |
{NOME_SERVICO}_URL | http://{slug}.{namespace}.svc.cluster.local:3000 | URL completa do servico vizinho |
O prefixo {NOME_SERVICO} e derivado do nome do servico vizinho: convertido para maiusculas, com espacos e hifens substituidos por underscores.
Exemplo
Suponha que seu projeto tenha tres servicos:
- My API (porta 8080)
- My Worker (porta 3000)
- Redis Cache (porta 6379)
O servico My API recebera automaticamente:
# Variaveis de descoberta para "My Worker"
MY_WORKER_HOST=my-worker-b4d3e2.proj-myapp.svc.cluster.local
MY_WORKER_PORT=3000
MY_WORKER_URL=http://my-worker-b4d3e2.proj-myapp.svc.cluster.local:3000
# Variaveis de descoberta para "Redis Cache"
REDIS_CACHE_HOST=redis-cache-c5e6f7.proj-myapp.svc.cluster.local
REDIS_CACHE_PORT=6379
REDIS_CACHE_URL=http://redis-cache-c5e6f7.proj-myapp.svc.cluster.local:6379
Voce pode usar essas variaveis diretamente no codigo da sua aplicacao:
// Exemplo em Node.js
const workerUrl = process.env.MY_WORKER_URL;
const response = await fetch(`${workerUrl}/tasks`);
# Exemplo em Python
import os
worker_url = os.environ["MY_WORKER_URL"]
Boas praticas
- Nunca coloque segredos no codigo fonte. Use variaveis de ambiente para armazenar valores sensiveis.
- Use nomes descritivos. Prefira
DATABASE_URLaDBpara facilitar a manutencao. - Separe por ambiente. Use valores diferentes para desenvolvimento e producao.
- Revise periodicamente. Remova variaveis que nao sao mais utilizadas.