2026-05-19 04:48:13 +02:00
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
from django.contrib import admin
|
|
|
|
|
from django.urls import path
|
|
|
|
|
|
2026-05-19 11:53:32 +02:00
|
|
|
from pobsync_backend import api, views
|
2026-05-19 11:43:50 +02:00
|
|
|
|
2026-05-19 04:48:13 +02:00
|
|
|
|
|
|
|
|
urlpatterns = [
|
2026-05-19 11:53:32 +02:00
|
|
|
path("", views.dashboard, name="dashboard"),
|
(feature) Add full native installer and self-check page
Expand the systemd installer so it can perform a complete native
installation with sensible defaults: copy the checkout into the target
app directory, create runtime directories, write the environment file,
install dependencies, configure systemd units, and optionally configure
nginx.
Add a staff-only Django self-check page that verifies runtime settings,
required binaries, writable paths, database connectivity, global config
state, and systemd service status when available.
Document installer overrides and expose the self-check from the main
navigation.
2026-05-19 16:05:03 +02:00
|
|
|
path("self-check/", views.self_check, name="self_check"),
|
2026-05-19 19:11:57 +02:00
|
|
|
path("logs/", views.logs, name="logs"),
|
2026-05-19 12:25:45 +02:00
|
|
|
path("config/global/", views.edit_global_config, name="edit_global_config"),
|
2026-05-19 14:37:38 +02:00
|
|
|
path("ssh-credentials/", views.ssh_credentials, name="ssh_credentials"),
|
|
|
|
|
path("ssh-credentials/new/", views.create_ssh_credential, name="create_ssh_credential"),
|
2026-05-19 19:41:40 +02:00
|
|
|
path("ssh-credentials/generate/", views.generate_ssh_credential, name="generate_ssh_credential"),
|
2026-05-19 15:22:40 +02:00
|
|
|
path("ssh-credentials/<int:credential_id>/", views.edit_ssh_credential, name="edit_ssh_credential"),
|
2026-05-19 19:41:40 +02:00
|
|
|
path("ssh-credentials/<int:credential_id>/delete/", views.delete_ssh_credential, name="delete_ssh_credential"),
|
2026-05-19 12:25:45 +02:00
|
|
|
path("hosts/new/", views.create_host_config, name="create_host_config"),
|
2026-05-19 11:53:32 +02:00
|
|
|
path("hosts/<str:host>/", views.host_detail, name="host_detail"),
|
2026-05-19 12:17:17 +02:00
|
|
|
path("hosts/<str:host>/config/", views.edit_host_config, name="edit_host_config"),
|
2026-05-19 19:25:05 +02:00
|
|
|
path("hosts/<str:host>/prepare-directories/", views.prepare_host_directories, name="prepare_host_directories"),
|
2026-05-19 19:55:40 +02:00
|
|
|
path("hosts/<str:host>/scan-known-key/", views.scan_host_known_key, name="scan_host_known_key"),
|
2026-05-21 00:50:05 +02:00
|
|
|
path("hosts/<str:host>/preflight/", views.run_host_preflight, name="run_host_preflight"),
|
2026-05-19 13:04:50 +02:00
|
|
|
path("hosts/<str:host>/queue-backup/", views.queue_manual_backup, name="queue_manual_backup"),
|
2026-05-19 11:56:45 +02:00
|
|
|
path("hosts/<str:host>/discover-snapshots/", views.discover_host_snapshots, name="discover_host_snapshots"),
|
2026-05-19 13:54:15 +02:00
|
|
|
path("hosts/<str:host>/retention-apply/", views.apply_host_retention, name="apply_host_retention"),
|
2026-05-19 12:00:19 +02:00
|
|
|
path("hosts/<str:host>/retention-plan/", views.host_retention_plan, name="host_retention_plan"),
|
2026-05-19 12:13:12 +02:00
|
|
|
path("hosts/<str:host>/schedule/", views.edit_host_schedule, name="edit_host_schedule"),
|
2026-05-19 12:31:47 +02:00
|
|
|
path("runs/<int:run_id>/", views.run_detail, name="run_detail"),
|
2026-05-20 00:09:59 +02:00
|
|
|
path("runs/<int:run_id>/rsync-log/", views.run_rsync_log, name="run_rsync_log"),
|
2026-05-19 20:46:10 +02:00
|
|
|
path("runs/<int:run_id>/cancel/", views.cancel_run, name="cancel_run"),
|
2026-05-19 12:31:47 +02:00
|
|
|
path("snapshots/<int:snapshot_id>/", views.snapshot_detail, name="snapshot_detail"),
|
2026-05-19 11:43:50 +02:00
|
|
|
path("api/", api.api_index),
|
2026-05-19 11:46:22 +02:00
|
|
|
path("api/status/", api.status),
|
2026-05-19 11:43:50 +02:00
|
|
|
path("api/hosts/", api.hosts),
|
|
|
|
|
path("api/snapshots/", api.snapshots),
|
|
|
|
|
path("api/runs/", api.runs),
|
2026-05-19 04:48:13 +02:00
|
|
|
path("admin/", admin.site.urls),
|
|
|
|
|
]
|