Skip to content

Administration pages

The platform-administrator surface under /hub/admin/. The server side of these actions is in 08 — Platform and operations endpoints.

Administration pages

/hub/admin/ groups the platform-administrator surface. Every page in the blueprint requires a login and then auth_utils.is_current_user_admin_or_raise().

Page Route Behaviour
Index /hub/admin/ Cards with the actions below and links to the pages here; a "Read-only mode active" badge when the state is on.
Hub settings /hub/admin/hub-settings/ The in-band sites-config editor: administrator/staff/access/view users and groups, the Site applications version, and the platform master token (read-only field with show/copy and a regenerate fetch of /hub/admin/generate/master-token/). A save rewrites the sites-config ConfigMap and, when the Master Token field holds a value, the HUB_MASTER_TOKEN secret; an empty field keeps the stored token. A save then restarts the Hub Deployment. Changes drift against Helm until the next helm upgrade (see 12 — In-band settings editor).
Messages /hub/admin/messages/ Lists global messages, adds one (SitesGlobalMessageForm: type INFO/SUCCESS/ERROR/WARNING plus text), and deletes all (DELETE /hub/admin/messages/). The MessageService persists messages in Redis; the Hub renders them as toast notifications on pages that process messages (core/.../service/message.py).
Backup / restore /hub/admin/backup-restore/ Lists the dated platform backup files (newest first); restores selected Sites or, with full restore, all resources from the file. Each restore rebuilds the Site resource without its resource version and continues past failures with a flash per failure. On success it clears admin messages and the Sites caches (see 13).
Storage management /hub/admin/storage-management/ Lists Released PersistentVolumes left by deleted Sites (with the label sites.ecmwf.int/app: site and a claimRef in the release namespace); deletes the selected volumes and writes one audit entry per volume (see 02).
Dependencies /hub/admin/dependencies/ Shows the Hub version, installed package versions, configuration consistency warnings, the effective configuration as YAML, and integration probe results. Secret configuration values are replaced with *** in the YAML (ConfigurationModelSchema.redacted_dump). Probe refresh runs in a background thread behind a non-blocking lock so the page render never waits for an integration. See 17.
Dashboards /hub/admin/dashboard/system/, …/service/, …/analytics/ System metrics (node capacity and usage), service metrics (Sites, storage, CPU, and memory against the ResourceQuota), and web analytics reports. The charts are client-side Chart.js charts fed with JSON data objects that load_system_metrics / load_service_metrics build (hub/.../app/admin/dashboards/utils.py, static/js/dashboards.js). The analytics dashboard requires the analytics integration; otherwise the page redirects with a flash.

Administration links act declaratively: links carry data-admin-action (delete, post-reload, post-confirm, delete-confirm-reload, delete-redirect, inplace-show, inplace-copy, regen-master-token) with data-url, and as the action requires an optional data-confirm, data-redirect (the page to open after delete-redirect), or data-target (the element for the in-place and regenerate actions); initAdminActions in hub/.../static/js/admin-pages.js handles them.

Index action Request
Clear cache DELETE /hub/api/v2/cache/
Enable/Disable read-only mode POST /hub/api/v2/read-only/ (08 — Read-only mode)
Upgrade all sites POST /hub/api/v2/sites/upgrade/ (confirm)
Restart all sites POST /hub/api/v2/sites/restart/ (confirm)
Force Upgrade All Sites POST /hub/api/v2/sites/upgrade/?force=true (confirm)

The web-analytics report and the Site analytics tab use the same report service as the jobs in 15.

Administrative actions write audit entries to the Hub logs (core/.../misc/audit.py; see 21).