Configuração para Empresas e Times¶
Guia para implantar e usar o Omni CLI em ambientes de times e empresas.
Índice¶
- Configuração Compartilhada
- Perfis de Ambiente
- Gerenciamento de Segredos
- Integração com CI/CD
- Onboarding de Time
- Controle de Acesso
- Auditoria
Configuração Compartilhada¶
Times podem compartilhar uma configuração base do Omni CLI sem expor segredos.
Criar uma config base do time¶
Crie omni-team-config.toml:
# Configurações compartilhadas
unleash_url = "https://unleash.empresa.com"
github_username = "company-bot"
mcp_config_path = "/opt/omni/mcp/servers.json"
thunderbolt_disk = "/Volumes/ThunderboltSSD"
# Segredos ficam vazios e são fornecidos via variáveis de ambiente
hostinger_api_token = ""
github_token = ""
unleash_api_token = ""
Distribuir a config¶
Armazene a config compartilhada na documentação interna ou repositório de infraestrutura (sem segredos):
Segredos por usuário¶
Cada membro do time define seus próprios tokens:
Perfis de Ambiente¶
Use variáveis de ambiente para alternar entre ambientes:
# Perfil de produção
export OMNI_HOSTINGER_API_TOKEN=$PROD_HOSTINGER_TOKEN
export OMNI_UNLEASH_URL=https://unleash.prod.empresa.com
# Perfil de desenvolvimento
export OMNI_HOSTINGER_API_TOKEN=$DEV_HOSTINGER_TOKEN
export OMNI_UNLEASH_URL=https://unleash.dev.empresa.com
Você pode criar aliases no shell:
alias omni-prod='OMNI_HOSTINGER_API_TOKEN=$PROD_HOSTINGER_TOKEN OMNI_UNLEASH_URL=https://unleash.prod.empresa.com omni'
alias omni-dev='OMNI_HOSTINGER_API_TOKEN=$DEV_HOSTINGER_TOKEN OMNI_UNLEASH_URL=https://unleash.dev.empresa.com omni'
Gerenciamento de Segredos¶
Para ambientes automatizados, use um gerenciador de segredos:
Com 1Password¶
eval $(op signin)
export OMNI_HOSTINGER_API_TOKEN=$(op read "op://vault/hostinger-token/credential")
Com HashiCorp Vault¶
Com AWS Secrets Manager¶
export OMNI_HOSTINGER_API_TOKEN=$(aws secretsmanager get-secret-value --secret-id omni/hostinger --query SecretString --output text)
Integração com CI/CD¶
Use o Omni CLI em pipelines CI/CD para verificações de infraestrutura:
# .github/workflows/infra-check.yml
name: Infrastructure Check
on:
schedule:
- cron: '0 9 * * *'
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install omni-cli
- run: |
omni hostinger domains
omni hostinger vps
env:
OMNI_HOSTINGER_API_TOKEN: ${{ secrets.HOSTINGER_TOKEN }}
Onboarding de Time¶
Novos membros do time devem:
- Instalar o Omni CLI:
- Copiar a config compartilhada ou executar:
- Definir segredos específicos do ambiente
- Verificar acesso:
Controle de Acesso¶
Permissões de token por função¶
| Função | Hostinger | GitHub | Unleash |
|---|---|---|---|
| Developer | Read-only | Read-only | Read-only |
| DevOps | Read/Write | Read/Write | Toggle flags |
| Admin | Full access | Full access | Admin |
Use contas separadas¶
Evite usar contas pessoais para operações do time. Crie service accounts ou bots:
company-botpara GitHub- Usuários de API Hostinger dedicados
- Service accounts do Unleash
Perfis de Configuração¶
Use perfis para alternar entre ambientes:
# Criar perfil de produção
omni config profile create production
omni config set hostinger_api_token $PROD_HOSTINGER_TOKEN
omni config set unleash_url https://unleash.prod.empresa.com
# Criar perfil de desenvolvimento
omni config profile create development
omni config set hostinger_api_token $DEV_HOSTINGER_TOKEN
omni config set unleash_url https://unleash.dev.empresa.com
# Trocar de perfil
omni config profile use production
omni config profile use development
Auditoria¶
O Omni CLI suporta audit logging via variável de ambiente OMNI_AUDIT_LOG:
# Habilitar audit logging
export OMNI_AUDIT_LOG=/var/log/omni/audit.log
mkdir -p /var/log/omni
# Todos os comandos são logados
omni hostinger domains
omni unleash flags
Exemplo de entrada no audit log:
Considere envolver comandos críticos para integração adicional com syslog:
Níveis de Logging¶
Controle o logging interno do Omni CLI:
Logs são escritos em ~/.config/omni/logs/omni.log quando há permissão de escrita.