From f6dbf8e25ba427c0d7ec27eae236e0ec49d8e95a Mon Sep 17 00:00:00 2001 From: automation-bot Date: Fri, 18 Sep 2026 23:56:36 +0300 Subject: [PATCH] docs: fix sso-and-identity.md drift (proxy provider count, git pull credential) Proxy provider count is 94 live, not 96. Bigger fix: the doc claimed the 5 pull-only docker hosts each have a separate read-only Gitea Deploy Key - live investigation found no Deploy Key object exists anywhere in Gitea at all. The real mechanism (docker_git_setup role, iac repo) copies the same write-capable automation-bot account key identically to every host at first provisioning. Corrected the claim and swapped the now-inaccurate screenshot for the real provisioning task as evidence. Same fix applied to the source KB note (Gitea Access Model). --- assets/gitea-deploy-keys.png | Bin 81904 -> 0 bytes docs/sso-and-identity.md | 23 ++++++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) delete mode 100644 assets/gitea-deploy-keys.png diff --git a/assets/gitea-deploy-keys.png b/assets/gitea-deploy-keys.png deleted file mode 100644 index 36ca1417da2676e3474d16690c4790ac87fb5985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81904 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�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ʻ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 diff --git a/docs/sso-and-identity.md b/docs/sso-and-identity.md index 736317a..b704cda 100644 --- a/docs/sso-and-identity.md +++ b/docs/sso-and-identity.md @@ -1,6 +1,7 @@ - @@ -60,7 +61,7 @@ This is the actual live query against Authentik's API, not a paraphrase of what' ``` $ curl -s -H "Authorization: Bearer [REDACTED]" \ "https://authentik.[service-to-service zone]/api/v3/providers/proxy/?page_size=1" | jq '.pagination.count' -96 +94 $ curl -s -H "Authorization: Bearer [REDACTED]" \ "https://authentik.[service-to-service zone]/api/v3/providers/proxy/?page_size=200" | jq -r '.results[].name' | grep -E '^proxmox' [no output — Proxmox has no Proxy Provider at all] @@ -91,11 +92,23 @@ So an app's OIDC discovery/authority setting always points at the service-to-ser ## Git Access: least privilege, not the admin account -Automation should never run with more privilege than it needs. CI and orchestration pushes (the flows described in [`docs/orchestration.md`](orchestration.md)) run through a dedicated, non-admin bot account with scoped write access — never through an administrator identity. This wasn't the original setup: automated pushes used to run through the personal admin account used for interactive access, the same one with full admin rights over the Git server. That got fixed by standing up a separate account with its own SSH keypair and adding it as a write collaborator on every repo it touches — routine automated commits no longer run under an admin credential at all. Hosts that only need to *read* get separate read-only deploy keys instead of any shared credential. The practical payoff: if an automation credential ever leaks, the blast radius is "can push to specific repos," not "has full admin control of the Git server." +Automation should never run with more privilege than it needs. CI and orchestration pushes (the flows described in [`docs/orchestration.md`](orchestration.md)) run through a dedicated, non-admin bot account with scoped write access — never through an administrator identity. This wasn't the original setup: automated pushes used to run through the personal admin account used for interactive access, the same one with full admin rights over the Git server. That got fixed by standing up a separate account with its own SSH keypair and adding it as a write collaborator on every repo it touches — routine automated commits no longer run under an admin credential at all. The 5 docker hosts that only ever pull (never push) use that same bot account's key too — copied identically to each host at first provisioning, not a separate credential per host. The practical payoff: if an automation credential ever leaks, the blast radius is "can push to the repos this bot account touches," not "has full admin control of the Git server." ![Gitea repo collaborators: automation-bot with Write access, not an admin account](../assets/gitea-collaborators-automation-bot.png) -![Gitea repo deploy keys: a host-specific key scoped to Read only](../assets/gitea-deploy-keys.png) +This is the real provisioning task, not a description of it — the automation-bot key gets copied to every docker host identically: + +``` +# The automation-bot private key - authenticates the push to Gitea AND signs +# commits (ssh_key_path == ssh_signing_key_path). Copied from the control node. +- name: Install the automation-bot git key + copy: + src: "{{ ssh_key_path }}" + dest: "{{ ssh_key_path }}" + owner: "{{ git_repo_owner }}" + group: "{{ git_repo_group }}" + mode: "0600" +``` --- Related: [`docs/dns-naming.md`](dns-naming.md), [`docs/orchestration.md`](orchestration.md), [`docs/secrets-and-pki.md`](secrets-and-pki.md) · Stacks: [`stacks/identity-and-security/authentik/`](../stacks/identity-and-security/authentik/), [`stacks/platform/gitea/`](../stacks/platform/gitea/)