Skip to content

docs(mimo): add Scheduler public documentation#4738

Open
cloudygreybeard wants to merge 2 commits intomasterfrom
phijones/ARO-25790/mimo-scheduler-public-docs
Open

docs(mimo): add Scheduler public documentation#4738
cloudygreybeard wants to merge 2 commits intomasterfrom
phijones/ARO-25790/mimo-scheduler-public-docs

Conversation

@cloudygreybeard
Copy link
Copy Markdown
Collaborator

@cloudygreybeard cloudygreybeard commented Apr 2, 2026

Summary

  • Add comprehensive public documentation for the MIMO Scheduler component, which autonomously creates MaintenanceManifests based on configured MaintenanceSchedules
  • New docs/mimo/scheduler.md: architecture (bucket partitioning, shared database, cluster cache), key concepts (MaintenanceSchedule, calendar format, selectors, scheduleAcross, lookForwardCount), data flow (Mermaid diagram), and schedule states
  • New docs/mimo/scheduler-calendar-and-selectors.md: full reference for systemd-style calendar expressions (wildcards, comma-separated lists, minute restrictions) and selector syntax (9 supported keys, operators, examples)
  • Updated docs/mimo/admin-api.md: expanded PUT schedule semantics (201/200 status codes, ID handling), added curl examples with sanitised placeholders, added GET selectors endpoint, and cross-references to pkg/mimo/const.go for task IDs
  • Updated docs/mimo/README.md: replaced stub text about future Scheduler implementation with links to the new documentation

Test plan

  • Verify Mermaid diagram renders correctly in GitHub markdown preview
  • Verify all relative links resolve (scheduler-calendar-and-selectors.md, admin-api.md, actuator.md, maintenance-manifest-lifecycle.md, pkg/util/bucket/, pkg/mimo/const.go)
  • Confirm no internal/sensitive information is exposed (subscription IDs, resource groups, internal tooling references)

Tracked-by: ARO-25790

Add comprehensive documentation for the MIMO Scheduler, which
autonomously creates MaintenanceManifests based on configured
MaintenanceSchedules.

New documents:
- docs/mimo/scheduler.md: Architecture, key concepts, data flow
- docs/mimo/scheduler-calendar-and-selectors.md: Calendar expression
  format and selector syntax reference

Updated documents:
- docs/mimo/README.md: Replace stub text with links to Scheduler docs
- docs/mimo/admin-api.md: Add PUT schedule semantics, curl examples,
  GET selectors endpoint, const.go cross-references

Tracked-by: ARO-25790
@cloudygreybeard cloudygreybeard force-pushed the phijones/ARO-25790/mimo-scheduler-public-docs branch from a9be5f6 to e78fdcd Compare April 2, 2026 05:04
- Remove incorrect year max 2100 claim (no upper bound in code)
- Narrow healthz wording to readiness only (no liveness check)
- Clarify that schedule id is distinct from maintenanceTaskID
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants