Configuração de Variáveis de Ambiente Centralizadas
Visão Geral
Todos os apps do C-Suite agora usam um arquivo .env centralizado na raiz do projeto (/home/ec2-user/enviroment/apps/c-suite/.env).
Arquivo .env
O arquivo .env deve ser criado na raiz do projeto com todas as variáveis necessárias. Veja o exemplo abaixo ou crie baseado nas necessidades de cada app.
Apps Atualizados
✅ csuite-context
- Arquivo:
csuite-context/approot/app/settings.py - Status: Já estava configurado para usar
.envda raiz - Caminho:
Path(__file__).resolve().parents[2] / ".env"
✅ csuite-executive
- Arquivo:
csuite-executive/csuite-api/app/config.py - Status: Já estava configurado para usar
.envda raiz - Caminho:
Path(__file__).resolve().parents[2] / ".env"
✅ csuite-sales-manager
- Arquivos atualizados:
manager-api/app/config.py- Agora carrega.envda raizdecision-api/app/config.py- Agora carrega.envda raizcontext-jobs/job_refresh_radar.py- Agora carrega.envda raiz- Caminho:
Path(__file__).resolve().parents[4] / ".env"(para APIs) eparents[3](para job)
✅ 4c-suite
- Arquivo:
4c-suite/app/main.py - Status: Atualizado para carregar
.envda raiz - Caminho:
Path(__file__).resolve().parents[2] / ".env"
⚠️ 4c
- Status: Usa seu próprio
.envna raiz do app (4c/.env) - Nota: Este app mantém seu próprio
.envpor questões de compatibilidade com docker-compose e scripts existentes
Variáveis de Ambiente
Banco de Dados
DB_HOST/CSUITE_DB_HOST/MYSQL_HOST- Host do MySQL/RDSDB_PORT/CSUITE_DB_PORT/MYSQL_PORT- Porta do MySQL (padrão: 3306)DB_USER/CSUITE_DB_USER/MYSQL_USER- Usuário do bancoDB_PASSWORD/CSUITE_DB_PASSWORD/MYSQL_PASSWORD- Senha do bancoDB_NAME/CSUITE_DB_NAME- Nome do banco (padrão: csuite)CSUITE_DB_STAGING_NAME- Nome do banco staging (padrão: csuite_staging)MYSQL_DB- Nome do banco 4C (padrão: core)
URLs de APIs
FOURC_DECISION_API_URL- URL da Decision API do 4CCSUITE_API_URL- URL da API do C-Suite
LLM (Opcional)
LLM_ENABLED- Habilitar LLM (true/false)LLM_PROVIDER- Provedor (ollama, openai, anthropic, deepseek)LLM_OLLAMA_URL- URL do OllamaLLM_OPENAI_API_KEY- Chave da API OpenAILLM_ANTHROPIC_API_KEY- Chave da API AnthropicLLM_DEEPSEEK_API_KEY- Chave da API DeepSeek- E outras variáveis relacionadas...
Como Usar
-
Criar o arquivo .env na raiz:
bash cd /home/ec2-user/enviroment/apps/c-suite cp .env.example .env # Se existir # Ou crie manualmente -
Preencher com valores reais:
- Substitua
sua_senha_aquipela senha real do banco -
Configure URLs e outras variáveis conforme necessário
-
Os apps carregarão automaticamente:
- Todos os apps Python usam
python-dotenvpara carregar o.env - O caminho é calculado relativamente à localização do arquivo de configuração
Exemplo de .env
# Banco de Dados
DB_HOST=vallery.catmgckfixum.sa-east-1.rds.amazonaws.com
DB_PORT=3306
DB_USER=core
DB_PASSWORD=sua_senha_real
DB_NAME=csuite
CSUITE_DB_HOST=vallery.catmgckfixum.sa-east-1.rds.amazonaws.com
CSUITE_DB_PORT=3306
CSUITE_DB_USER=core
CSUITE_DB_PASSWORD=sua_senha_real
CSUITE_DB_NAME=csuite
# URLs
FOURC_DECISION_API_URL=http://localhost:8001
CSUITE_API_URL=http://localhost:8002
Notas Importantes
- ⚠️ Nunca commite o arquivo
.envno git - ele contém credenciais sensíveis - ✅ O arquivo
.env.examplepode ser commitado como template - 🔒 Em produção, considere usar secrets do Docker Swarm ou AWS Secrets Manager
- 📝 Cada app ainda mantém valores padrão caso o
.envnão seja encontrado