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).