agence 9 juin 2025

Adicionar janelas de manutenção ao Komodo

Melhoramos as ferramentas open source que usamos no dia a dia. Último exemplo: janelas de manutenção adicionadas ao Komodo e fundidas no projeto de origem, para suspender os alertas durante as intervenções planeadas.

Adicionar janelas de manutenção ao Komodo

Operamos parte da nossa infraestrutura com o Komodo, uma ferramenta open source de build e implementação baseada em Docker. A sua monitorização gera alertas assim que um servidor ou contentor falha, exatamente o que esperamos dele, exceto durante uma manutenção planeada: aí, alerta sobre problemas que nós próprios provocámos e que já conhecemos. Cortar todos os alertas durante uma intervenção não é solução: acabamos por esquecer um e por não detetar uma avaria real. Por isso adicionámos ao Komodo verdadeiras janelas de manutenção, e a funcionalidade está agora fundida no projeto de origem.

O princípio: para cada servidor, definem-se períodos durante os quais o Komodo suspende os seus alertas. Três tipos de janela, tendo em conta o fuso horário:

  • Diária: um período que se repete todos os dias, por exemplo para uma janela de backup ou um redeploy noturno.
  • Semanal: um período recorrente no mesmo dia todas as semanas.
  • Pontual: uma intervenção única, planeada para uma data e hora precisas.

Tudo se gere a partir de um separador Manutenção dedicado na configuração do servidor, com uma tabela para criar, editar e acompanhar as janelas. Durante uma janela ativa, os alertas desse servidor são silenciados; fora dela, a monitorização retoma normalmente.

Nos bastidores

A funcionalidade atravessa toda a stack do Komodo: a lógica de alertas do lado do servidor em Rust, as entidades partilhadas e os seus tipos (Rust e TypeScript), e a interface React com o novo separador e a sua tabela de gestão. Cerca de duas mil linhas repartidas por uma dúzia de ficheiros, onde o agendamento e a gestão de fusos horários fazem o grosso do trabalho.

Porque o enviámos para o projeto de origem

Como nas nossas outras contribuições, poderíamos ter mantido esta funcionalidade no nosso fork. Não o fazemos: um fork privado afasta-se um pouco mais do projeto a cada nova versão, até se tornar ingerível. Fundida no projeto de origem, a funcionalidade é mantida pelo projeto, validada pela sua CI e entregue a todos os seus utilizadores, nós incluídos, a cada atualização.

É também isso que significa alojar e operar connosco: a infraestrutura que faz funcionar as suas instâncias Odoo e as suas aplicações assenta em ferramentas que melhoramos ativamente, em vez de simplesmente as suportar. Procura um parceiro que domine verdadeiramente o seu alojamento? Escreva-nos para contact@eclypsys.ch.

Autres actualités
VOTRE PROJET

Un projet similaire en tête ?

Discutons de vos besoins et construisons ensemble la solution adaptée.