#5673 "S3 client and the backup job: settings, schedule, history, metrics": - steward/backup/s3.py: SigV4 over httpx, path-style; put and list only (an append-only key is enough; retention is the bucket's). Signing is held to AWS's published examples. - steward/backup/job.py: a 15-minute tick. The daily backup goes at the hour chosen on the reader's clock; a missed day is made up, and a failure is retried an hour later. History of the last 30 runs, audit (backup.made / backup.failed), and backup_age_secs / backup_bytes under "Steward itself", resource backup, for alert rules. - Settings → Backups: verdict first, then the bucket (secret sealed; a blank box keeps it), the schedule, Test the bucket, Back up now, and the recent runs. #5675 "Docs: backing up to Archives, and restoring": docs/core/backups.md. Also: the audit page now words the Prometheus target actions from #5668, which showed as codes, and a guard fails on any logged action without wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
996 B
HTML
17 lines
996 B
HTML
{# settings/_tabs.html — the Settings section's pages as one strip of tabs, in
|
|
each page's section_tabs block above the trail, as Ansible's are (#5377).
|
|
`active` names the page or the one it sits under. #}
|
|
{% from "_macros.html" import section_tabs %}
|
|
{% macro settings_tabs(active) -%}
|
|
{{ section_tabs([("general", "General", "/settings/general/"),
|
|
("thresholds", "Thresholds & Retention", "/settings/thresholds/"),
|
|
("notifications", "Notifications", "/settings/notifications/"),
|
|
("reports", "Reports", "/settings/reports/"),
|
|
("backups", "Backups", "/settings/backups/"),
|
|
("auth", "Authentication", "/settings/auth/"),
|
|
("users", "Users", "/settings/users/"),
|
|
("ansible", "Ansible", "/settings/ansible/"),
|
|
("plugins", "Plugins", "/settings/plugins/"),
|
|
("system", "System", "/settings/system/")], active, "Settings") }}
|
|
{%- endmacro %}
|