Odysseus é a terceira versão nomeada do Guara Cloud. Se Achilles foi sobre crescer e Hector foi sobre se enxergar, Odysseus é sobre navegar, no tempo, no espaço e nas fronteiras da sua arquitetura.
Nesta versão a gente ataca três frentes: dar para a plataforma a capacidade de agir no tempo no seu lugar, deixar visível cada perna de uma requisição (mesmo as que saem para a internet), e acabar com a fronteira entre as suas imagens privadas e a plataforma. O resultado é uma plataforma que faz mais por você enquanto você dorme, conta uma história inteira quando algo dá errado, e aceita seus contêineres venham de onde vierem.
Tarefas agendadas, sem precisar manter um worker
Acione HTTP, NATS, Redis, RabbitMQ ou Postgres em qualquer minuto.
A plataforma agora cuida do agendamento e do disparo, então você não precisa mais rodar um
contêiner só para esperar a hora certa. Escolha um destino entre os seus próprios serviços,
escreva um payload usando placeholders como {{ run_at }}, {{ worker_id }} e {{ run_id }}, e
a gente entrega no horário marcado com retentativas automáticas, controle de timeout e um
histórico de execuções completo. Acompanhe cada disparo, rode manualmente quando precisar, e veja
seus cron workers no mapa do projeto junto com os outros serviços. Cada execução já viaja com
contexto de trace, então uma falha vira uma agulha fácil de encontrar.
Traces que enxergam a requisição inteira
Todos os serviços envolvidos, mais a internet e os destinos externos.
Quando uma requisição passa pelo seu backend, atinge seu Postgres, esquenta seu Redis e dispara um evento no NATS, agora o trace mostra cada perna da viagem como uma faixa separada, com nome legível e duração por serviço. Chamadas para a internet e para destinos externos (Stripe, OpenAI, S3, qualquer host fora do seu projeto) aparecem como nós próprios no mini mapa do trace, um para a internet e um por host. Clique numa faixa para filtrar a waterfall por aquele serviço, ou pule direto para a página do serviço de destino. A lista de traces ganhou também um chip mostrando quantos serviços participaram de cada requisição.
Profiling de CPU sempre ligado
Veja onde sua aplicação está gastando tempo, sem mexer no código.
Cada serviço seu agora tem uma aba de Profiling com flamegraph interativo, sem agente para instalar, sem dependência para incluir, sem rebuild. Suporte automático para Node.js, Java, Go, Ruby e Rust. Há um Profiling Explorer dedicado em Operações para investigações mais demoradas, e cada span do trace ganha uma aba de Profiling filtrada exatamente para a janela de tempo daquela execução, perfeito para ir de “essa requisição estava lenta” para “este loop estava queimando 40% da CPU” em poucos cliques. A retenção respeita o seu plano e os flamegraphs vivem na mesma identidade visual do dashboard.
Deploy direto do seu registry privado
Docker Hub, GHCR, Quay, GitLab, Harbor, ou qualquer registry compatível.
Suba serviços a partir de imagens em registries privados externos sem precisar de pipeline
intermediária. Informe a URL, o usuário e o token do registry no assistente do serviço (ou na aba
Configurações depois) e a gente cuida da autenticação no pull. Há um botão de Testar conexão
que valida suas credenciais antes de salvar, com mensagens de erro claras quando algo está fora do
ar, certificado vencido, host errado, token sem permissão. Se preferir, dá para salvar sem
verificar, a ação fica registrada na sua trilha de auditoria. Imagens públicas com
build_method='image' continuam funcionando sem credencial.
Sua trilha de auditoria mais sincera
Filtre por sucesso e falha, e fique tranquilo com dados sensíveis.
A trilha de auditoria agora mostra o resultado de cada ação (sucesso ou falha) e deixa você filtrar por isso, ideal para procurar tentativas de login que não deram certo, mudanças de configuração que não passaram ou ações bloqueadas por permissão. Em paralelo, blindamos a camada que registra esses eventos para que tokens, senhas e chaves de API sejam apagados antes de qualquer log, mesmo quando aparecem em formatos diferentes (camelCase, kebab-case ou snake_case). Você vê o que aconteceu, sem nunca ver o que não deveria.
E mais, por dentro da plataforma
-
Mudanças de plano (upgrade ou downgrade) propagam imediatamente para limites de retenção e quotas, sem precisar relogar.
-
Página de detalhe do trace com mini mapa de serviços, faixas por serviço, e atalho para a página do serviço destino.
-
Visualizador de logs herda o intervalo de tempo quando você abre via card de correlação, sem precisar reescolher.
-
Mensagens de erro mais claras em métricas, traces e profiling, sem detalhes internos vazando para a tela.
-
Toggles de faixa do trace waterfall agora têm rótulos para leitores de tela e tap targets adequados em mobile.
-
Documentação bilíngue (pt-br + en) atualizada cobrindo cron workers, traces multi-serviço, profiling contínuo e registries externos.
-
Códigos de erro padronizados em todas as novas superfícies, pareados com toasts curtos e acionáveis.
-
Uma rodada silenciosa de melhorias de confiabilidade nos serviços de fundo da plataforma, alta disponibilidade mais firme, menos sobreposição de tarefas internas, e auditoria de quando algo trava de verdade.
E mais, uma porção de pequenos retoques pelo dashboard, mensagens mais quietas, copy mais apertada, e uma frota de melhorias que a gente preferiu fazer a contar.