Documentation Index
Fetch the complete documentation index at: https://docs.casebender.com/llms.txt
Use this file to discover all available pages before exploring further.
Visão Geral
Este guia orienta você na implantação do CaseBender no Google Cloud Run usando nossas imagens Docker pré-construídas.
Pré-requisitos
- Conta Google Cloud
- Google Cloud CLI instalado
- Docker instalado
Passo 1: Configuração Inicial
Instalar Google Cloud CLI
# Usando Homebrew
brew install google-cloud-sdk
# Login no Google Cloud
gcloud auth login
# Configurar Docker para usar o Google Cloud
gcloud auth configure-docker
Inicializar Projeto
# Definir seu ID de projeto
gcloud config set project SEU_ID_DE_PROJETO
# Habilitar APIs necessárias
gcloud services enable \
cloudbuild.googleapis.com \
run.googleapis.com \
secretmanager.googleapis.com \
cloudresourcemanager.googleapis.com \
artifactregistry.googleapis.com
Passo 2: Configurar Infraestrutura na Nuvem
Criar Bucket do Cloud Storage
# Criar bucket de armazenamento
gsutil mb -l us-central1 gs://casebender-storage
# Criar conta de serviço para armazenamento
gcloud iam service-accounts create casebender-storage \
--display-name "Conta de Serviço de Armazenamento CaseBender"
# Obter o email da conta de serviço
STORAGE_SA_EMAIL=$(gcloud iam service-accounts list \
--filter="displayName:Conta de Serviço de Armazenamento CaseBender" \
--format="value(email)")
# Conceder permissões
gsutil iam ch \
serviceAccount:$STORAGE_SA_EMAIL:objectViewer,objectCreator \
gs://casebender-storage
# Criar e baixar chave da conta de serviço
gcloud iam service-accounts keys create storage-key.json \
--iam-account=$STORAGE_SA_EMAIL
# Criar segredo para credenciais de armazenamento
gcloud secrets create casebender-storage-key \
--replication-policy="automatic"
# Importar a chave da conta de serviço como um segredo
gcloud secrets versions add casebender-storage-key \
--data-file=storage-key.json
Configurar Cloud SQL (PostgreSQL)
# Criar instância PostgreSQL
gcloud sql instances create casebender-db \
--database-version=POSTGRES_14 \
--cpu=2 \
--memory=4GB \
--region=us-central1 \
--root-password="SUA_SENHA_SEGURA"
# Criar banco de dados
gcloud sql databases create casebender \
--instance=casebender-db
# Criar usuário
gcloud sql users create casebender \
--instance=casebender-db \
--password="SUA_SENHA_SEGURA"
Configurar Memorystore (Redis)
# Criar instância Redis
gcloud redis instances create casebender-redis \
--size=2 \
--region=us-central1 \
--redis-version=redis_6_x
Configurar Secret Manager
# Criar e armazenar variáveis de ambiente
cat << EOF | gcloud secrets create casebender-env --data-file=-
AUTH_SECRET=seu-segredo-de-autenticação
AUTH_SALT=seu-salt-de-autenticação
POSTGRES_PRISMA_URL="postgresql://casebender:SUA_SENHA_SEGURA@/casebender?host=/cloudsql/SEU_ID_DE_PROJETO:us-central1:casebender-db"
REDIS_URL="redis://ENDERECO_IP_REDIS:6379"
GOOGLE_STORAGE_BUCKET=casebender-storage
EOF
Passo 3: Baixar e Enviar Imagens Docker
# Criar repositório do Artifact Registry
gcloud artifacts repositories create casebender \
--repository-format=docker \
--location=us-central1
# Configurar Docker para Artifact Registry
gcloud auth configure-docker us-central1-docker.pkg.dev
# Baixar imagens do CaseBender
docker pull casebender/casebender:latest
docker pull casebender/workflow-processor:latest
docker pull casebender/misp-processor:latest
# Marcar imagens para o Google Artifact Registry
docker tag casebender/casebender:latest us-central1-docker.pkg.dev/$PROJECT_ID/casebender/app:latest
docker tag casebender/workflow-processor:latest us-central1-docker.pkg.dev/$PROJECT_ID/casebender/workflow-processor:latest
docker tag casebender/misp-processor:latest us-central1-docker.pkg.dev/$PROJECT_ID/casebender/misp-processor:latest
# Enviar imagens
docker push us-central1-docker.pkg.dev/$PROJECT_ID/casebender/app:latest
docker push us-central1-docker.pkg.dev/$PROJECT_ID/casebender/workflow-processor:latest
docker push us-central1-docker.pkg.dev/$PROJECT_ID/casebender/misp-processor:latest
Passo 4: Implantar Serviços
Implantar Aplicação Principal
# Implantar no Cloud Run
gcloud run deploy casebender \
--image us-central1-docker.pkg.dev/$PROJECT_ID/casebender/app:latest \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars GOOGLE_STORAGE_BUCKET=casebender-storage \
--set-secrets "/secrets/storage-key=casebender-storage-key:latest" \
--service-account=$STORAGE_SA_EMAIL \
--add-cloudsql-instances $PROJECT_ID:us-central1:casebender-db \
--set-secrets "/app/.env=casebender-env:latest"
Implantar Processador de Fluxo de Trabalho
# Implantar processador de fluxo de trabalho
gcloud run deploy workflow-processor \
--image us-central1-docker.pkg.dev/$PROJECT_ID/casebender/workflow-processor:latest \
--platform managed \
--region us-central1 \
--no-allow-unauthenticated \
--service-account=$STORAGE_SA_EMAIL \
--add-cloudsql-instances $PROJECT_ID:us-central1:casebender-db \
--set-secrets "/app/.env=casebender-env:latest"
Implantar Processador MISP
# Implantar processador MISP
gcloud run deploy misp-processor \
--image us-central1-docker.pkg.dev/$PROJECT_ID/casebender/misp-processor:latest \
--platform managed \
--region us-central1 \
--no-allow-unauthenticated \
--service-account=$STORAGE_SA_EMAIL \
--add-cloudsql-instances $PROJECT_ID:us-central1:casebender-db \
--set-secrets "/app/.env=casebender-env:latest"
Passo 5: Configurar Domínio e SSL
Mapear Domínio Personalizado
# Adicionar mapeamento de domínio
gcloud run domain-mappings create \
--service casebender \
--domain seu-dominio.com \
--region us-central1
Siga as etapas de verificação de DNS no Console do Google Cloud para completar o mapeamento de domínio.
Monitoramento e Manutenção
Configurar Monitoramento
- Navegue até o Cloud Monitoring no Console do Google Cloud
- Crie uma verificação de tempo de atividade para seu serviço
- Configure alertas para:
- Taxas de erro
- Latência
- Contagem de instâncias
- Uso de memória
Visualizar Logs
# Visualizar logs de serviço
gcloud logging read "resource.type=cloud_run_revision AND resource.labels.service_name=casebender" --limit 50
# Transmitir logs
gcloud logging tail "resource.type=cloud_run_revision AND resource.labels.service_name=casebender"
Atualizar Aplicação
Para implantar atualizações:
# Construir e implantar nova versão
gcloud builds submit --config cloudbuild.yaml
# Reverter se necessário
gcloud run services rollback casebender \
--to-revision=ID_DA_REVISAO \
--region=us-central1
Otimização de Custos
-
Configuração de Auto-escalonamento
gcloud run services update casebender \
--min-instances=1 \
--max-instances=10 \
--region=us-central1
-
Alocação de Recursos
gcloud run services update casebender \
--memory=1Gi \
--cpu=1 \
--region=us-central1
Solução de Problemas
Problemas Comuns
-
Problemas de Conexão
- Verificar conexão com Cloud SQL
- Verificar conectividade com Redis
- Validar variáveis de ambiente
-
Problemas de Desempenho
- Revisar métricas de instância
- Verificar alocação de recursos
- Analisar padrões de solicitação
-
Falhas de Implantação
- Verificar logs de compilação
- Verificar permissões da conta de serviço
- Revisar configuração de implantação
Próximos Passos
- Configurar pipelines de CI/CD
- Configurar estratégias de backup
- Implementar monitoramento e alertas
- Revisar melhores práticas de segurança