feat(gitsync): webhook-triggad synk + helt manuellt läge
All checks were successful
build-and-push / build (push) Successful in 1m7s
All checks were successful
build-and-push / build (push) Successful in 1m7s
- POST /api/git-hook: HMAC-SHA256-verifierad (X-Gitea-Signature), reagerar bara på pushar till live-grenen, svarar 202 och synkar async - webhook-hemlighet genereras server-side (headless via config.json), roteras med gitRegenerateWebhookSecret - auto_sync_minutes=0 + webhook av ⇒ ingen automatisk hämtning alls; webhook på ⇒ catch-up-synk vid uppstart (missade event) - admin-UI: webhook-toggle, target-URL + secret med copy/rotate Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -279,6 +279,14 @@ ticker). Admin-UI: `frontend/src/components/GitSyncSection.vue` med
|
||||
- **Reset från remote:** tvingar lokala grenen att matcha remoten; lokalt
|
||||
läge sparas alltid först i en backup-gren (`backup/<timestamp>`). Används
|
||||
också för bootstrap när historikerna är orelaterade (`UNRELATED_HISTORIES`).
|
||||
- **Webhook** (`webhook_enabled`/`webhook_secret`): git-värden kan trigga
|
||||
synk direkt vid push via `POST /api/git-hook` i stället för (eller utöver)
|
||||
intervall-pollning. Anropet verifieras med HMAC-SHA256 över råa bodyn
|
||||
(Giteas `X-Gitea-Signature`); hemligheten genereras server-side och roteras
|
||||
med `gitRegenerateWebhookSecret`. Endast pushar till live-grenen triggar;
|
||||
vid uppstart görs en catch-up-synk (event som missats medan servern var
|
||||
nere). Med `auto_sync_minutes: 0` **och** webhook av sker ingen automatisk
|
||||
hämtning alls.
|
||||
- **Headless-konfiguration:** allt kan sättas via `config.json`-sektionen
|
||||
`git_sync` + omstart, eller via GraphQL-mutationen `updateGitSync` — inget
|
||||
webbgui krävs.
|
||||
@@ -293,7 +301,7 @@ ticker). Admin-UI: `frontend/src/components/GitSyncSection.vue` med
|
||||
- `public_url` — extern bas-URL (t.ex. `https://archivum.brasse-pc.eu`), används
|
||||
för att härleda OIDC-redirect-URI
|
||||
- `git_sync` — se avsnittet ovan: `enabled`, `remote_url`, `live_branch`,
|
||||
`read_only`, `auto_sync_minutes`
|
||||
`read_only`, `auto_sync_minutes`, `webhook_enabled`, `webhook_secret`
|
||||
- `oidc` — valfri OIDC/SSO-konfiguration (Authentik):
|
||||
- `enabled`, `issuer`, `client_id`, `client_secret`, `redirect_url`
|
||||
- `groups_claim` (default `groups`), `username_claim` (default `preferred_username`)
|
||||
|
||||
Reference in New Issue
Block a user