Why Schedule Maintenance?
- Set expectations: Users know downtime is planned, not a surprise outage
- Reduce support tickets: Proactive communication prevents confusion
- Build trust: Transparency about maintenance shows reliability
- Automatic status updates: Status page automatically reflects maintenance state
Maintenance States
| State | Description | Status Page Display |
|---|---|---|
scheduled | Maintenance is planned for the future | Shows upcoming maintenance banner |
in_progress | Maintenance has started | Services show “Under Maintenance” |
completed | Maintenance finished successfully | Normal status restored |
cancelled | Maintenance was cancelled | Removed from schedule |
Creating Maintenance Windows
- Dashboard
- CLI
- API
- Go to Dashboard → Maintenance → Schedule Maintenance
- Fill in the details:
- Title: “Database Migration” or “Infrastructure Upgrade”
- Description: What you’re doing and expected impact
- Start Time: When maintenance begins
- End Time: Expected completion time
- Affected Services: Which services will be impacted
- Choose notification settings:
- Notify subscribers when scheduled
- Notify when maintenance starts
- Notify when maintenance completes
- Click Schedule Maintenance
Managing Maintenance
Starting Maintenance Early
If you’re ready to begin before the scheduled time:Extending Maintenance
If maintenance is taking longer than expected:Completing Maintenance
When maintenance is finished:Cancelling Maintenance
If plans change:Subscriber Notifications
Kodo sends notifications at key points:- When scheduled: “Scheduled maintenance: Database Migration on Feb 1, 2:00 AM UTC”
- Reminder (optional): “Reminder: Maintenance begins in 1 hour”
- When started: “Maintenance in progress: Database Migration”
- When completed: “Maintenance completed: Database Migration”
- If cancelled: “Maintenance cancelled: Database Migration”
Best Practices
Schedule during low-traffic periods
Schedule during low-traffic periods
Use your analytics to identify the lowest-traffic window for your users’ timezones.
Provide specific time estimates
Provide specific time estimates
“2-4 hours” is better than “several hours”. Be realistic—it’s better to finish early than extend.
Explain the impact
Explain the impact
Tell users exactly what they can and cannot do during maintenance: “API read operations will work, writes will return 503.”
Communicate completion
Communicate completion
Always mark maintenance as complete—don’t leave users wondering if it’s still ongoing.
Post updates during long maintenance
Post updates during long maintenance
For maintenance over 1 hour, post periodic updates: “50% complete, on track to finish by 4 AM.”
Recurring Maintenance
For regular maintenance windows (weekly backups, monthly updates):Integration with Monitors
During scheduled maintenance:- Uptime monitors are automatically paused for affected services
- This prevents false alerts during planned downtime
- Monitors automatically resume when maintenance completes