We run part of our infrastructure on Komodo, an open-source Docker-based build and deployment tool. Its monitoring raises alerts whenever a server or container misbehaves, which is exactly what we want from it, except during planned maintenance: there, it alerts on problems we caused ourselves and already know about. Muting every alert for the duration of an intervention isn't a solution: you end up forgetting one, and missing a real outage. So we added proper maintenance windows to Komodo, and the feature is now merged upstream.
The idea: for each server, you define time slots during which Komodo suspends its alerts. Three window types, timezone-aware:
- Daily: a slot that recurs every day, for example a backup or a nightly redeploy window.
- Weekly: a slot that recurs on the same day each week.
- One-time: a single intervention, scheduled at a specific date and time.
It's all managed from a dedicated Maintenance tab in the server configuration, with a table to create, edit and track windows. During an active window, that server's alerts are muted; outside it, monitoring resumes as normal.
Under the hood
The feature spans Komodo's whole stack: the server-side alert logic in Rust, the shared entities and their types (Rust and TypeScript), and the React interface with the new tab and its management table. Around two thousand lines across a dozen files, where scheduling and timezone handling do most of the work.
Why we sent it upstream
As with our other contributions, we could have kept this feature in our fork. We don't: a private fork drifts a little further from the project with every new version, until it becomes unmanageable. Merged upstream, the feature is maintained by the project, validated by its CI and shipped to all its users, us included, with every update.
That's also what hosting and operating with us means: the infrastructure that runs your Odoo instances and your applications sits on tools we actively improve rather than merely put up with. Looking for a partner who truly masters your hosting? Write to us at contact@eclypsys.ch.


