v beta-2.0.1 Released

Guia de Implantação e Operação

05 de janeiro de 2026
beta-2.0.1
Time Técnico NexarSystems

Este documento descreve os procedimentos para implantar, operar e manter a infraestrutura do NexarGrid. A arquitetura foi projetada para ser agnóstica à nuvem, mas este guia foca na implantação de referência utilizando containers Docker e orquestração via Kubernetes (ou Docker Swarm para ambientes menores).

# Pré-requisitos de Infraestrutura

Para um ambiente de produção mínimo, recomenda-se:

  • Cluster Kubernetes: v1.24+ (EKS, AKS, GKE ou On-Premise)
  • Banco de Dados: SurrealDB v1.0.0+ (Cluster de 3 nós para HA)
  • Message Bus: NATS Server v2.9+ (JetStream habilitado)
  • Cache: Redis v6.2+ (Cluster Mode desabilitado para setups simples)
  • Ingress Controller: Traefik v2.10+ ou NGINX

# Pipeline de CI/CD

O ciclo de vida de entrega contínua é gerenciado via GitHub Actions (ou similar), seguindo o fluxo:

  1. Build: Compilação dos microsserviços e do frontend Vue.js.
  2. Test: Execução de testes unitários (Jest) e de integração.
  3. Package: Criação de imagens Docker e push para o Registry privado.
  4. Deploy: Atualização dos manifestos Kubernetes (Helm Charts) no ambiente de destino.

# Estratégia de Deploy do Frontend (GitHub Pages)

A documentação técnica (este site) é gerada estaticamente e hospedada no GitHub Pages.

  1. Build: npm run build gera os arquivos estáticos em dist/.
  2. Deploy: O conteúdo da pasta dist/ é enviado para a branch gh-pages.
# Script de deploy manual para documentação
npm run build
git add dist -f
git commit -m "deploy: update documentation"
git subtree push --prefix dist origin gh-pages

# Monitoramento e Observabilidade

A saúde do sistema deve ser monitorada através das seguintes métricas douradas (Golden Signals):

  • Latência: Tempo de resposta dos endpoints críticos (/api/grid/load, /api/shiftPack/create).
  • Tráfego: Taxa de requisições por segundo (RPS) no API Gateway.
  • Erros: Taxa de respostas 5xx e falhas de processamento de eventos.
  • Saturação: Uso de CPU/Memória dos pods e tamanho das filas NATS.

# Logs e Tracing

  • Logs: Centralizados via Fluentd/Elasticsearch.
  • Tracing: OpenTelemetry integrado ao MoleculerJS para rastreamento distribuído.

# Procedimentos de Backup e Recuperação

# SurrealDB

Backups diários automatizados com retenção de 30 dias.

# Comando de exportação manual
surreal export --conn http://localhost:8000 --user root --pass root --ns nexar --db production > backup_$(date +%F).sql

# Disaster Recovery (DR)

Em caso de falha catastrófica do cluster principal:

  1. Provisionar novo cluster em região secundária.
  2. Restaurar backup do SurrealDB.
  3. Redirecionar DNS (Route53/Cloudflare) para o novo Ingress.
  4. Tempo estimado de recuperação (RTO): 4 horas.