Skip to main content

Alerts, Jobs, and Updates

Alerts, Jobs, and Updates

Overview

Alerts, scheduled jobs, and container updates are platform operations features. They help operators detect issues, run recurring work, and safely update CMS container services.

Alerts

CMS alerts include alert type, status, area, closed state, title, message, related type, and related ID.

Current system-generated alert sources include missing usage, missing subscriptions, region health, identity health, missing billing information, cost alerts, and license validity alerts.

License validity alerts are platform-only operational alerts. They are created by the scheduled license validity job inside the 90-day expiration window, escalate after expiration, and close automatically after renewal.

Alert Visibility

Alerts must respect CMS ownership hierarchy.

Role Visibility
PlatformAdministrator All alerts, including license validity alerts.
DistributorAdministrator Distributor, partner, tenant, and subscription alerts inside distributor scope.
PartnerAdministrator Partner, tenant, and subscription alerts inside partner scope.
TenantAdministrator Tenant and subscription alerts inside tenant scope.
TenantUser Tenant-level alerts where appropriate.

License validity alerts are stricter: only PlatformAdministrator can see or manage them.

Manual Review Required: The alerts feature document says the alert engine, UI filtering, closing, custom alerts, and all generated alert sources need broader health review. Do not assume every future alert source is complete.

Jobs

Jobs provide history for long-running platform work. Scheduled jobs store recurring platform schedules.

The hosted scheduled jobs service wakes every 10 minutes and runs due enabled jobs. Manual runs and background runs share ScheduledJobRunnerService.

Supported scheduled job types include:

Job type Purpose
DatabaseBackup Run the configured backup tier and apply cleanup.
UsageCollection Collect current-month usage, generate billing, and generate commissions.
UsageDataCleanup Delete expired usage rows only when settings allow it.
RegionHealth Refresh region and identity health for configured regions.
DelinquentPaymentNotifications Update invoice statuses and send one overdue reminder per invoice when enabled.
BudgetAlerts Evaluate tenant and subscription budget warning or breach notifications.
LicenseValidity Create or close platform license validity alerts.

Scheduled jobs stuck in Running for more than 24 hours are treated as stale and can be recovered.

Jobs Page

Administration > Jobs is available at /administration/jobs for platform roles.

The page includes:

  • Scheduled Jobs.
  • Run History.
  • Type, enabled state, status, last run, last status, next run, and description columns.
  • Manual Run Now actions for platform administrators.

Implementation Gap: The Jobs feature backlog says the jobs tab for a specific region does not currently show the jobs for that region.

Updates

CMS supports platform-admin container update workflows through a separate CMS.Updater sidecar. The API and Portal do not mount Docker directly.

The Updates page includes:

  • Available version selection from the configured release manifest.
  • Release readme display.
  • Image tag display.
  • Backup-required warnings.
  • Install action.
  • Container health widget.
  • Updates settings.

The updater sidecar applies release image overrides only for CMS application services: API, Portal, and Updater. Proxy and database image references are treated as manifest metadata and health entries only.

Update Security

All update API routes require PlatformAdministrator.

UpdaterApiKey is a secret database setting and must match the updater sidecar environment variable. The Portal polls CMS API status routes and never talks directly to the updater sidecar.

Operational Notes

Take a MySQL backup before applying scripts that seed scheduled jobs, notification state, update settings, or backup settings.

Planned Behaviour: Signed manifest verification, rollback UI, and combined multi-service release manifests are listed as update backlog items.