Known Issues

🐛 Problemas Conhecidos e Limitações - CSuite

Versão: 1.0
Última Atualização: 2025-01-02
Status: Mantido ativamente


📋 Índice

  1. Visão Geral
  2. Problemas Críticos
  3. Problemas de Alta Prioridade
  4. Problemas de Média Prioridade
  5. Limitações Conhecidas
  6. Workarounds
  7. Roadmap de Correções

🎯 Visão Geral

Este documento lista problemas conhecidos, limitações e workarounds do ecossistema CSuite. É atualizado regularmente conforme problemas são identificados, corrigidos ou novos são descobertos.

Legenda de Status

Legenda de Impacto


🔴 Problemas Críticos

Nenhum problema crítico conhecido no momento.


🟡 Problemas de Alta Prioridade

ISSUE-001: Health Check do 4C UI App

Status: 🟡 Alto | Impacto: Disponibilidade
Data de Identificação: 2025-01-02
Última Atualização: 2025-01-02

Descrição:
O 4C UI App não expõe um endpoint /health padrão, causando falhas nos health checks do gateway. Os endpoints /healthz e /readyz também retornam 404 quando acessados via gateway.

Sintomas:
- Gateway marca 4C UI App como "unhealthy" ou "unreachable"
- Health check retorna 404

Workaround:
- Gateway configurado com health_url_override apontando para base_url
- Health check usa a URL base como fallback

Solução Planejada:
- Implementar endpoint /health no 4C UI App
- Ou corrigir roteamento dos endpoints /healthz e /readyz

ETA: Q1 2025


ISSUE-002: Decodificação de Caracteres Especiais em URLs

Status: ✅ Resolvido | Impacto: Funcionalidade
Data de Identificação: 2025-01-02
Data de Resolução: 2025-01-02

Descrição:
Documentos com caracteres especiais (á, é, í, ó, ú, ç) em seus nomes retornavam 404 quando acessados via gateway devido à falta de decodificação de URL.

Sintomas:
- URLs como /docs/manuals/Manual_do_Usu%C3%A1rio_CSuite_para_CFO.md retornavam 404
- Arquivos existiam mas não eram encontrados

Solução Aplicada:
- Implementada decodificação com urllib.parse.unquote() nas rotas /docs/guide/ e /docs/{category}/{filename}
- Caracteres especiais agora são corretamente decodificados antes da busca de arquivos

Status: ✅ Deploy em produção


🟢 Problemas de Média Prioridade

ISSUE-003: Redirecionamento Após Login

Status: ✅ Resolvido | Impacto: Funcionalidade
Data de Identificação: 2025-01-02
Data de Resolução: 2025-01-02

Descrição:
Após login no gateway, usuários eram redirecionados para / em vez da URL original que tentavam acessar.

Sintomas:
- Usuário tenta acessar /cfo-ops/
- Após login, é redirecionado para /
- Precisa navegar manualmente para a página desejada

Solução Aplicada:
- original_url agora é capturado e passado como query parameter no redirect_uri
- Gateway extrai original_url e redireciona corretamente após autenticação

Status: ✅ Deploy em produção


ISSUE-004: Health Checks de Kibana e Prometheus

Status: ✅ Resolvido | Impacto: Disponibilidade
Data de Identificação: 2025-01-02
Data de Resolução: 2025-01-02

Descrição:
Kibana e Prometheus não expõem endpoint /health padrão, causando falhas nos health checks.

Sintomas:
- Gateway marca Kibana/Prometheus como "unhealthy"
- Health check retorna 404

Solução Aplicada:
- health_url_override configurado:
- Kibana: https://kibana.internut.com.br/api/status
- Prometheus: https://prometheus.internut.com.br/api/v1/status/config

Status: ✅ Deploy em produção


🔵 Problemas de Baixa Prioridade

ISSUE-005: Linter Warnings em Templates HTML

Status: 🔵 Baixo | Impacto: Desenvolvimento
Data de Identificação: 2025-01-02

Descrição:
Linter CSS reporta warnings em templates HTML devido à interpretação de código Jinja2 como CSS.

Sintomas:
- Warnings do linter em index.html:
- at-rule or selector expected
- property value expected

Impacto:
- Apenas warnings do linter, não afeta funcionalidade
- Templates funcionam corretamente

Solução Planejada:
- Configurar linter para ignorar templates Jinja2
- Ou mover código Jinja2 para arquivos separados

ETA: Quando possível


📊 Limitações Conhecidas

LIM-001: Backup Offsite Não Implementado

Status: Limitação | Impacto: Disaster Recovery
Data de Identificação: 2025-01-02

Descrição:
Backups são armazenados apenas localmente no servidor. Não há cópia offsite automática.

Risco:
- Perda de backups em caso de falha do servidor
- Não atende completamente aos requisitos de DR

Workaround:
- Backups podem ser copiados manualmente para localização remota
- Scripts de backup podem ser estendidos para incluir upload para S3

Solução Planejada:
- Implementar backup automático para S3 ou storage remoto
- Configurar retenção e lifecycle policies

ETA: Q2 2025


LIM-002: MFA Não Implementado

Status: Limitação | Impacto: Segurança
Data de Identificação: 2025-01-02

Descrição:
Autenticação multi-fator (MFA) não está implementada. Apenas usuário/senha ou tokens JWT são usados.

Risco:
- Maior risco em caso de comprometimento de credenciais
- Não atende requisitos de segurança mais rigorosos

Solução Planejada:
- Implementar MFA usando TOTP (Google Authenticator, etc.)
- Suporte a backup codes
- Política de MFA obrigatória para admins

ETA: Q2 2025


LIM-003: Criptografia em Repouso Não Implementada

Status: Limitação | Impacto: Segurança
Data de Identificação: 2025-01-02

Descrição:
Dados sensíveis em banco de dados não são criptografados em repouso. Apenas criptografia em trânsito (TLS) está implementada.

Risco:
- Dados acessíveis se banco de dados for comprometido
- Não atende requisitos de compliance mais rigorosos

Solução Planejada:
- Avaliar necessidade de criptografia em repouso
- Implementar se necessário para compliance
- Usar MySQL encryption at rest ou application-level encryption

ETA: Avaliar necessidade


LIM-004: Rate Limiting Não Uniforme

Status: Limitação | Impacto: Performance/Segurança
Data de Identificação: 2025-01-02

Descrição:
Rate limiting não está implementado de forma uniforme em todos os serviços. Alguns serviços têm, outros não.

Risco:
- Possibilidade de abuso/DDoS em serviços sem rate limiting
- Experiência inconsistente

Solução Planejada:
- Implementar rate limiting no gateway (Traefik)
- Configurar limites por serviço/endpoint
- Documentar limites em cada serviço

ETA: Q1 2025


🔧 Workarounds

WORKAROUND-001: Acesso Direto a Serviços

Problema: Gateway marca serviço como unhealthy mas serviço está funcionando

Workaround:
- Acessar serviço diretamente (se possível):
- https://csuite.internut.com.br/{service}/health
- Ou via IP interno do container

Quando usar: Para verificar se problema é no gateway ou no serviço


WORKAROUND-002: Restart Manual de Serviço

Problema: Serviço não está respondendo

Workaround:

# Restart do serviço
docker service update --force csuite-{service}_csuite-{service}

# Verificar logs
docker service logs --tail 100 csuite-{service}_csuite-{service}

Quando usar: Quando serviço está unhealthy mas não há erro crítico


WORKAROUND-003: Limpeza de Cache do Browser

Problema: Mudanças não aparecem após deploy

Workaround:
- Limpar cache do browser (Ctrl+Shift+Delete)
- Ou usar modo anônimo/privado
- Ou hard refresh (Ctrl+F5)

Quando usar: Após mudanças em frontend/UI


📅 Roadmap de Correções

Q1 2025

Q2 2025

Q3 2025


📝 Como Reportar um Problema

Canais:
- Slack: #csuite-bugs
- Email: bugs@internut.com.br
- GitHub Issues: (se aplicável)

Informações a incluir:
- Descrição do problema
- Passos para reproduzir
- Comportamento esperado vs. atual
- Screenshots/logs
- Ambiente (produção/staging/dev)
- Timestamp do problema


🔗 Documentos Relacionados


Última Revisão: 2025-01-02
Próxima Revisão: 2025-02-02 (mensal)
Mantido por: Equipe de Operações CSuite

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir