Configuração
Guias de configuração do sistema Sinapse
Configuração do Sinapse
Esta seção detalha todas as opções de configuração disponíveis no Sinapse.
Guias de Configuração
Variáveis de Ambiente
Todas as configurações via ambiente
Banco de Dados
PostgreSQL, migrações e otimizações
Segurança
Hardening e melhores práticas
Configurações Essenciais
Ambiente Mínimo (.env)
# Aplicação
APP_NAME=Sinapse
ENVIRONMENT=production
SECRET_KEY=gerar_com_openssl_rand_hex_32
# Banco de Dados
DATABASE_URL=postgresql+asyncpg://user:pass@host:5432/db
# Redis
REDIS_URL=redis://localhost:6379/0
# Segurança
JWT_SECRET_KEY=outra_chave_segura
CORS_ORIGINS=["https://app.sinapse.com"]Categorias de Configuração
1. Aplicação
- Nome e versão
- Ambiente (dev/staging/prod)
- Debug e logging
- Timezone e locale
2. Segurança
- Chaves secretas
- JWT settings
- CORS policies
- Rate limiting
3. Banco de Dados
- Connection strings
- Pool settings
- Timeout values
- Migration configs
4. Cache e Filas
- Redis configuration
- Celery settings
- Cache TTLs
- Queue priorities
5. Integrações
- APIs externas
- Webhooks
- Email settings
- SMS providers
Ambientes
ENVIRONMENT=development
DEBUG=true
LOG_LEVEL=DEBUG
DATABASE_ECHO=true
CORS_ORIGINS=["http://localhost:3000"]ENVIRONMENT=staging
DEBUG=false
LOG_LEVEL=INFO
DATABASE_ECHO=false
CORS_ORIGINS=["https://staging.sinapse.com"]ENVIRONMENT=production
DEBUG=false
LOG_LEVEL=WARNING
DATABASE_ECHO=false
CORS_ORIGINS=["https://app.sinapse.com"]
SECURE_COOKIES=trueGerenciamento de Secrets
NUNCA commite arquivos .env ou secrets no repositório!
Desenvolvimento
- Use arquivo
.envlocal - Mantenha
.env.exampleatualizado
Produção
- Use secrets manager (Vault, AWS Secrets)
- Variáveis de ambiente do Kubernetes
- Encrypted environment files
Validação de Configuração
O Sinapse valida todas as configurações na inicialização:
# core/config.py
class Settings(BaseSettings):
app_name: str = Field(..., min_length=1)
database_url: PostgresDsn
redis_url: RedisDsn
secret_key: str = Field(..., min_length=32)
@validator('database_url')
def validate_db_url(cls, v):
# Validações customizadas
return vPrecedência de Configuração
- Variáveis de ambiente
- Arquivo
.env - Valores padrão no código
Boas Práticas
Use nomes descritivos para variáveis Documente todas as configurações Valide valores na inicialização Use tipos apropriados (int, bool, list) Separe configs por ambiente Rotacione secrets regularmente
Continue explorando os guias específicos através dos cards acima.