fix(authentik): embedded outpost config in the blueprint, refresh every minute #1431
Closed
claude-bot
wants to merge 2 commits from
fix/gate-embedded-refresh-interval into main
pull from: fix/gate-embedded-refresh-interval
merge into: :main
:main
:worktree-loki-retention-365d
:paperless-drop-syncthing-monitor
:worktree-alloy-unifi-syslog-label
:worktree-syncthing-ui-gate
:alert-fix/issue-1527
:shelly-manager-sleepy-rollout
:kuma-root-group
:ci-image/claude-2.1.312
:worktree-ntp-ipv4-record
:kuma-notifications
:shelly-manager-iot-v6-world-egress
:ssh-ca-nas-2
:shelly-manager-iot-ipv6-egress
:shelly-manager-net1-no-ra
:shelly-firmware-lb-reachable
:shelly-manager-local-firmware
:claude/ma-pocketcasts-up-next-top-pick
:claude/outpost-image-flux
:claude/outpost-image-literal
:claude/date-image-tag
:docs/mosquitto-shelly-manager-settings-comment
:review-bot-token-read-issue
:alert-fix/issue-1505
:t_1bc87417/konairius-registry
:review-bot-on-request
:review-bot-efficiency
:ci-ansible-netbird
:worktree-crowdsec-ma-imageproxy-whitelist
:ci-image/claude-2.1.311
:worktree-openbao-oidc-authentik
:alert-fix/issue-1461
:claude/authentik-2026.8.4
:fix/ma-sendspin-mdns-net1
:claude/ma-pocketcasts-up-next-mark-played
:claude/ma-pocketcasts-up-next-playlist
:revert/ma-po-token-server
:alert-fix/issue-1453
:claude/gitea-mcp-imagerepo
:feat/ma-youtube-music-po-token-v2
:feat/ma-youtube-music-po-token
:claude/coredns-talos-owned-2
:claude/coredns-talos-owned
:claude/k8s-gateway-ingress-resolver
:claude/egress-followups
:feat/wiki-cronjobs
:renovate/hermes-image
:renovate/ci-minor-patch
:renovate/all-minor-patch
:claude/mqtt-admin-register
:claude/shelly-manager-mdns
:feat/wiki-encyclopedia-pilot
:ci-image/claude-2.1.310
:claude/mosquitto-legacy-auth-removal
:claude/egress-lockdown
:fix/gate-embedded-refresh-interval
:fix/gate-embedded-browser-host
:feat/authentik-gate-forwardauth
:docs/drop-wildcard-references
:fix/netbird-controller-disable-dns
:feat/dns-labels-split-2
:feat/dns-labels-split-1
:fix/cloudflare-lb-sync-image-tag
:feat/cloudflare-lb-sync
:fix/wordpress-php85-php2shell
:feat/update-os
:chore/talos-1.13.12
:atlas/talos-v1.13.12-cve-2026-99999
:fix/gitea-webhook-sync-org-scope
:atlas/kuma-mcb-www-retries
:feat/hermes-gitea-pr-review-loop
:atlas/traefik-chart-42
:fix/monitoring-k8s-gateway-probe
:alert-fix/issue-1081-rotator
:ci-image/claude-2.1.306
:alert-fix/issue-1084-v2
:atlas/flux-2.9.6
:alert-fix/issue-1082
:feat/hermes-gitea-issues-kanban
:worktree-restore-test-real
:fix/hermes-multiplex-env
:feat/hermes-experts
:feat/hermes-ha-mcp
:feat/kuma-status-page
:fix/hermes-ha-updates-review
:feat/hermes-alert-monitor
:feat/hermes-ha-updates
:fix/turn-tcp-router
:fix/crowdsec-own-ca
:fix/livekit-service-links
:fix/crowdsec-lapi-transport-ca
:feat/matrix-element-call
:feat/kuma-public-coverage
:feat/ha-matrix-nabu-secret
:feat/hermes-matrix-cross-signing
:feat/hermes-matrix
:fix/wiki-basic-auth-in-service
:proposal/traefik-vip-maglev-dsr
:fix/hermes-dashboard-ws-ping-timeout
:fix/hermes-dashboard-ws-ping-interval
:fix/hermes-dashboard-refresh-token
:feat/wiki-drop-gate
:feat/wiki-oidc-provider
:fix/hermes-soul-talos-node-names
:claude/docs-konairius-main
:claude/drop-k-renner-org-secrets
:claude/prompts-main
:claude/default-branch-main
:feat/hermes-cli-logins
:claude/plan-step0-claude-bot
:alert-fix/issue-1363
:claude/homelab-konairius
:claude/konairius-org-secrets
:fix/hermes-image-registry-bot
:feat/hermes-use-custom-image
:feat/hermes-image
:feat/kuma-task5-monitors
:feat/hermes-gitea
:fix/hermes-configmap-namespace
:feat/hermes-homelab-context
:fix/uptime-kuma-script-mount
:feat/kuma-task4-bootstrap
:feat/kuma-task4-cluster
:feat/kuma-sync-default-notifications
:fix/hermes-image-policy
:fix/kuma-sync-foreign-key-create
:feat/hermes-agent
:chore/kuma-sync-smoke-remove
:feat/kuma-sync-smoke
:feat/kuma-sync-deploy
:ci-image/claude-2.1.303
:renovate/authentik
:feat/kuma-sync
:docs/uptime-kuma-plan
:chore/remove-autokuma
:fix/uptime-kuma-ipv6
:feat/autokuma-pilot-update
:fix/drop-flux-image-automation-alert
:feat/autokuma-pilot
:feat/autokuma
:fix/uptime-kuma-fail-guard
:fix/uptime-kuma-setup-diagnostics
:feat/uptime-kuma-vps
:ci/ansible-image-hvac
:claude/plan-homelab-konairius-main
:fix/kubejobfailed-resolve-on-later-success
:claude/homeassistant-konairius
:claude/ha-config-sync-identity
:feat/site-base-domain
:claude/review-bot-repos-konairius
:claude/authentik-konairius-images
:claude/notes-renovate-konairius
:claude/vsftpd-konairius-image
:claude/registry-bot-read-scope
:claude/registry-bot
:ci-image/claude-2.1.302
:claude/review-bot-approved
:claude/review-bot-backends
:fix/wp-pg-recovery-source
:feat/review-bot-status
:worktree-hcloud-wg-site
:node-dns-via-k8s-gateway
:chore/remove-paperclip
:worktree-k8s-gateway-chart-4
:fix/review-bot-approve-with-unverified
:chore/remove-wiki-maintenance-ci
:fix/review-bot-unique-tag
:fix/review-bot-rereview
:fix/review-bot-build-trigger
:fix/review-bot-backoff-cap
:fix/review-bot-rate-limit
:chore/disable-old-pr-review
:feat/review-bot-deploy
:feat/review-bot-service
:feat/pr-review-mistral
:fix/gitea-mcp-public-gitea-url
:alert-fix/issue-1242
:alert-fix/issue-1241
:fix/gitea-mcp-command
:feat/gitea-mcp
:claude/netbird-service-sync-pin
:claude/gitea-public
:feat/embed-knn-bench
:claude/pr-review-latest-cli
:ci-image/claude-2.1.296
:chore/decommission-openproject
:claude/pr-review-central
:feat/openproject-authentik-oidc
:fix/alloy-syslog-udm-cef-regex
:alert-fix/issue-1217
:alert-fix/issue-1214
:atlas/ren-1363-openproject-seeder-order
:atlas/ren-1367-gitea-1.27
:atlas/ren-1367-gitea-pre-upgrade-snapshot
:atlas/ren-1363-openproject
:atlas/ren-1345-ops-image-jq
:atlas/ren-1345-hermes-prometheus-read
:atlas/ren-1345-bridge-agent-secrets
:atlas/ren-802-retire-sml2mqtt
:atlas/ren-953-remove-legacy-users
:atlas/ren-1307-edge1-register
:atlas/ren-1307-edge1-cred-receiver
:atlas/ren-953-controller-ha-cert
:atlas/ren-1256-prune-shellies-secret
:atlas/ren-953-ha-mqtt-cert-sync
:atlas/ren-1256-adopt-shellies-secret
:atlas/ren-1203-eso-gitea-namespace
:atlas/ren-1203-gitea-package-retention
:atlas/ren-1196-agent-runtime-tzdata
:atlas/ren-1017-remove-legacy-shellies
:atlas/ren-1017-ht-wake-reland
:atlas/ren-1017-shelly-30
:atlas/ren-1167-revert-1183
:alert-fix/issue-1184
:atlas/ren-1017-ht-wake
:atlas/ren-1017-shelly-group5c
:atlas/ren-1017-shelly-group5b
:atlas/ren-1080-controller-1d03144-rotate-hold
:atlas/ren-1017-shelly-group5
:atlas/ren-1017-shelly-group4
:atlas/ren-1053-controller-a307693
:atlas/ren-1017-shelly-group3
:atlas/ren-1017-shelly-group2
:atlas/ren-1017-shelly-group1
:atlas/ren-1017-device-list
:atlas/ren-1017-shelly-accounts
:atlas/ren-953-agents-read-paperclip-pod
:atlas/ren-953-agents-read
:atlas/ren-953-ha-mqtt-tls
:atlas/ren-953-ha-account
:atlas/ren-953-evcc-cert
:atlas/ren-953-evcc-account
:atlas/ren-953-z2m-cert
:atlas/ren-953-z2m-account
:atlas/ren-953-health-probe-cert
:atlas/ren-931-agent-shelly-manager
:atlas/ren-900-controller-bump
:atlas/ren-900-mosquitto-dynsec
:atlas/ren-888-revoke-test-account
:atlas/ren-888-mqtt-account-controller
:atlas/ren-841-remove-repair-job
:atlas/ren-841-k8s-plugin-termination-receipt
:atlas/ren-841-lease-receipt-repair
:atlas/ren-802-suspend-open3e-int-rotator
:atlas/ren-826-remove-read-job
:atlas/ren-826-room-setpoint-read
:atlas/ren-809-remove-capture
:atlas/ren-809-open3e-fbh-capture
:atlas/ren-723-authentik-2026.8.3
:atlas/ren-772-remove-rekey-job
:atlas/ren-772-wp-repo4-rekey
:atlas/ren-722-mdns-relay-v191-attach
:atlas/ren-723-openbao-rolling
:atlas/ren-722-dhcp-lease-renew
:atlas/ren-722-cni-plugins-installer-v1.9.1
:atlas/ren-723-influxdb-snapshot
:atlas/ren-722-cni-plugins-v1.9.1
:atlas/ren-722-job-force-annotations
:atlas/ren-717-matrix-bridge-1791195981
:atlas/ren-702-paperclip-cap-kill
:atlas/ren-691-matrix-bridge-1791179547
:atlas/ren-685-matrix-bridge-1791177680
:ci-image/claude-2.1.289
:atlas/ren-671-matrix-bridge-1791152484
:atlas/ren-663-matrix-public
:atlas/ren-587-matrix-bridge
:atlas/ren-567-authentik-grant-types
:atlas/ren-567-mas
:atlas/ren-627-edge1-ssh-egress
:atlas/ren-621-loki-read-gateway
:atlas/ren-603-pclp-pg-memory
:atlas/ren-583-gitea-pvc-volumename
:atlas/ren-583-gitea-volume-60gi
:atlas/ren-563-claude-session-resume
:atlas/ren-563-revert-1111
:atlas/ren-567-matrix
:atlas/ren-563-acpx-session-resume
:atlas/ren-544-argus-token-v3
:atlas/ren-539-atlas-token-v3
:atlas/ren-541-claude-auto-memory
:atlas/ren-540-hestia-token-v3
:atlas/ren-528-review-bot-verify-repo
:atlas/ren-533-shelly-manager-probe
:atlas/ren-525-rotate-argus-token
:atlas/ren-509-rotate-agent-tokens
:atlas/ren-487-hubble-relay
:atlas/ren-488-govulncheck
:atlas/ren-487-agent-pod-egress
:atlas/ren-453-retire-immich-library
:atlas/ren-451-restore-abort
:atlas/ren-451-restore-test-skip-cnpg
:alert-fix/issue-1095
:atlas/ren-442-restore-capacity-gate
:z2m-ws90-converter
:alert-fix/issue-1089
:atlas/ren-419-ephemeral-wear-alert
:alert-fix/issue-1084
:alert-fix/issue-1081
:atlas/ren-414-agent-kubectl-sa
:atlas/ren-411-agent-gitea-egress
:atlas/ren-409-paperclip-14769
:atlas/ren-405-k8s-plugin-dist
:atlas/ren-401-kaniko-oom
:atlas/ren-401-paperclip-patched-image
:z2m-memory-limit
:atlas/ren-350-beets-write-retry
:fix/navidrome-native-api
:atlas/ren-350-paperclip-lidarr-cnp
:atlas/ren-350-beets-retry-skips
:atlas/ren-350-beets-write
:atlas/ren-350-beets-phase2
:atlas/ren-350-beets-cronjob
:atlas/ren-339-restore-test-teardown
:atlas/ren-339-restore-roll
:atlas/ren-339-restore-plugin
:atlas/ren-339-ha-backup-cleanup
:atlas/ren-339-ha-restore-test
:atlas/ren-315-renovate-groups
:atlas/ren-315-renovate-tool-install
:atlas/ren-107-retention-divergence-alert
:atlas/ren-159-remove-ren28-negative-probes
:atlas/ren-302-claude-agent-acp
:atlas/ren-298-agent-sandbox-v0.5.6
:atlas/ren-294-ical-proxy-926ead0
:atlas/ren-286-agent-runtime-own-workflow
:atlas/ren-285-agent-sandbox-labels
:atlas/ren-286-agent-runtime-images
:atlas/ren-285-agent-sandbox
:atlas/ren-148-paperless-ingress-scoping
:atlas/ren-93-promql-gate
:atlas/ren-268-ha-hacs-proxy
:atlas/ren-266-hacs-versions
:atlas/ren-245-ha-critical-alerts
:atlas/ren-243-ha-window
:feat/openbao-secret-exists-check
:atlas/ren-239-ical-proxy-main-73b5d97
:atlas/ren-238-ical-proxy-main-4783abe
:atlas/ren-201-ical-proxy-gitea-image
:atlas/ren-216-renovate
:atlas/ren-152-wal-backlog-retune
:atlas/ren-198-pin-kps-chart
:atlas/ren-176-ha-pg-walstorage
:atlas/ren-166-cilium-verdict-metric
:atlas/ren-7-alert-contacts
:atlas/ren-177-velero-cephfs-readonly-backuppvc
:feat/paperclip-api-door
:atlas/ren-186-cost-ledger-sync
:atlas/ren-183-yaml-anchors
:atlas/ren-161-promtool-ci
:atlas/ren-163-ceph-nearfull-headroom
:atlas/ren-7-restore-audiobooks
:atlas/ren-127-podmonitor-comment
:atlas/ren-165-wal-maxparallel-stage
:atlas/ren-141-ha-pg-32gi
:atlas/ren-147-cilium-agent-metrics-service
:atlas/ren-142-negative-control-probe
:atlas/ren-140-negative-test-probes
:atlas/ren-102-flux-ksm-crs
:atlas/ren-7-pilot-endpointmonitors
:atlas/ren-131-openbao-unavailable-for
:atlas/ren-106-narrow-eso-failed
:atlas/ren-116-probe-citation-path
:atlas/ren-103-scrape-doc-gaps
:atlas/ren-6-imc-deploy
:atlas/ren-100-externalsecret-healthcheck
:atlas/ren-91-imagepolicy-total-order
:atlas/ren-88-ceph-ec-pool-false-page
:atlas/ren-86-paperclip-dependson-monitoring
:atlas/ren-36-prometheus-read-path
:docs/probe-egress-dependency-and-revert-recipe
:docs/paperclip-claude-token
:fix/paperclip-memory
:docs/probe-cnp-egress-and-status-caveats
:feat/ren-21-paperless-app-health-probe
:feat/ren-21-navidrome-app-health-probes
:alert-fix/issue-968
:feat/paperclip-wiki-key
:feat/lidarr
:feat/wiki-api-key-paperclip
:feat/paperclip-signup-off
:feat/paperclip
:feat/netbird-retire-vps-proxy
:feat/navidrome
:feat/immich-bulk-cutover
:feat/immich-bulk-pvcs
:feat/wiki-image-automation
:chore/wiki-image-fact-drafter
:chore/wiki-image-facts-page
:chore/abs-drop-old-books-pvc
:chore/wiki-image-judge-one-request
:feat/abs-books-bulk
:feat/libation-strip-branding
:feat/cephfs-ec-bulk
:feat/open3e-int-broker-user
:feat/wiki-reloader
:chore/wiki-image-phases-4-6
:feat/wiki-anthropic-key
:feat/wiki-service-write-token
:chore/retire-python-wiki-index
:feat/wiki-machine-door
:chore/wiki-phase3-image
:chore/wiki-phase2-image
:chore/wiki-build-1790250017
:feat/wiki-gate
:fix/gitea-egress-wiki
:feat/wiki-service-manifests
:docs/proposal-wiki-web-api
:alert-fix/issue-937
:fix/alertmanager-info-inhibitor
:feat/cephx-allowed-ciphers-aes256k
:feat/cephx-drop-prior-csi-keys
:ci/wiki-consolidate-tilde-paths
:feat/cephx-csi-aes256k
:ci/wiki-consolidate-in-ci
:chore/talos-1.13.10
:feat/drain-tolerant-singletons
:ci/wiki-distill-skip-empty
:ci/wiki-audit-script
:fix/k8s-gateway-oci-chart
:docs/network-traffic-classes-as-built
:feat/node-ip-vlan-46
:alert-fix/issue-920
:feat/bird-attached-node0
:feat/node-vlan-46-link
:chore/cni-drop-stage-labels
:feat/cni-sole-writer-converge-b2
:feat/cni-sole-writer-converge-b1
:chore/cni-stage-k8s-1
:fix/whereabouts-reconciler-cordon
:chore/cni-stage-k8s-2
:chore/cni-stage-k8s-3
:feat/cni-staged-sole-writer
:feat/netbird-service-sync-phase2
:feat/netbird-service-sync-phase1
:chore/gitea-namespace-phase3
:feat/gitea-namespace-phase2
:feat/gitea-namespace-phase1
:ci-image/claude-2.1.280
:fix/ci-claude-refresh-mixed-pins
:fix/align-ci-claude-pins
:fix/ci-claude-bump-token-newline
:worktree-fix-paperless-memory-limit
:alert-fix/issue-897
:alert-fix/issue-896
:fix/wiki-maintenance-merge-verify
:feat/pick-model-newest-among-comparable
:feat/pick-model-typesafe
:fix/wiki-maintenance-rebase-push
:fix/wiki-maintenance-strip-secrets
:fix/wiki-maintenance-image-2.1.278
:feat/wiki-maintenance-ci
:fix/wiki-index-commit-tags
:fix/wiki-index-pin-digest-2
:alert-fix/issue-880
:fix/wiki-index-tree-paging
:fix/wiki-index-pin-digest
:fix/wiki-index-strip-credentials
:fix/gitea-webhook-egress-wiki-index
:fix/wiki-index-openbao-ingress
:feat/wiki-index-deploy
:feat/wiki-index-image
:fix/eso-allow-ai
:feat/wiki-embed
:fix/multus-only-cni-writer
:fix/cilium-cni-uninstall
:feat/onebase-room-telemetry
:fix/external-dns-scrape-policy
:feat/dns-monitoring
:fix/external-dns-annotation-prefix
:fix/ftp-scanner-probe
:fix/libation-accounts-persistence
:fix/libation-pin-14.2.1
:feat/ceph-read-affinity
:fix/bird-local-cidr
:feat/single-pod-table
:docs/traffic-classes
:feat/podpod-rules
:fix/bird-static
:fix/bird-digest
:feat/bird-mesh2
:feat/bird-kubectl
:feat/bird-mesh
:feat/bird-image-api
:feat/bird-daemonset
:alert-fix/issue-844
:feat/bird-image
:alert-fix/issue-843
:feat/pod-egress-vlan47
:docs/576-rejected-options
:feat/antrea-eval
:feat/nodeip-pod0
:feat/cilium-native-pod0
:feat/bgp-peer-ingress
:feat/bgp-listen-ingress
:feat/ingress-static-addressing
:feat/k8s-net-split-phase-a
:feat/cilium-pin-devices
:chore/ci-k8s-2026-09-08
:feat/flux-2.9.5
:feat/ci-tool-pins
:feat/openbao-seal-key-bootstrap
:feat/openbao-static-seal
:fix/openbao-alerts-immediate
:feat/intel-gpu-dashboard
:feat/intel-gpu-exporter
:feat/intel-gpu-monitoring-resource
:fix/reloader-configmap-annotations
:netbird-proxy-protocol-digest
:netbird-proxy-protocol-deploy
:netbird-proxy-protocol
:netbird-proxy-services-uid
:netbird-proxy-services-deploy
:netbird-proxy-services
:proxy-watchdog-cooldown
:proposal-node-roll-downtime
:alert-fix/issue-808
:lapi-transport-phase-2
:ceph-address-ranges
:fix/arp-flux-second-nic
:rehearsal-san
:osd-partlabel-no-ceph
:lapi-transport-post-crds
:san-host-device-nad
:san-rollout
:san-role-rename
:ceph-20-cutover
:rebuild-tooling
:apply-set-hygiene
:rebuild-image-resilience
:cold-rebuild-ordering
:fix/bootstrap-honour-vm-state
:chore/remove-paperless-eval
:issue-fix/789-cilium-node-ula
:issue-fix/787-mdns-relay-supervisor
:trmnl-firmware-sync-off
:trmnl-device-tls
:vmtest-flux
:eval-script-fixes
:alert-fix/issue-780
:worktree-eval-script-fixes
:eval-out-of-iac
:paperless-eval-jobs
:paperless-eval-fixes
:paperless-eval-instance
:crowdsec-tailer-polling
:crowdsec-alerting
:llama-single-slot
:llama-ctx-revert
:arm-crowdsec-proxy-1
:fix-proxy-deploy-triggers
:llama-ctx-fix
:arm-crowdsec-proxy-2
:llama-ctx-assist
:crowdsec-metrics-dashboard
:alert-fix/issue-761
:embed-batch-fix
:crowdsec-lapi-service-annotations
:ha-llm-agent
:paperless-eval
:crowdsec-bouncer-unpack-on-host
:embed-bgem3
:crowdsec-bouncer-fetch-controller
:crowdsec-edge-lapi
:alert-fix/issue-750
:embed-pvc
:immich-drop-pgvectors
:fix-stale-migration-docs
:embed-oom
:embed-eval
:paperless-reloader
:close-paperless-data-migration
:paperless-llm
:paperless-3x
:llama-gate-flow
:llama-authentik-gate
:alert-fix/issue-726
:llama-single-alias
:llama-alias-order
:llama-model-alias
:ai-eval
:remove-netbird-backup
:llama-thinking-alias
:llama-split-embed
:netbird-backup-vacuum-into
:llama-server
:intel-gpu-device-plugin
:ceph-osd-by-label
:alert-fix/issue-714
:alert-fix/issue-712
:cilium-track-untracked-settings
:proposal-cilium-single-owner
:fix-cilium-bootstrap-seed
:woodpecker-agent-probe
:add-missing-probes
:paperless-http-probes
:gatus-hardening
:gatus-drop-file-check
:gatus-config-reload
:drop-pbs2-gatus
:generic-blackbox-alert
:probe-ci-openbao
:cleanup-nas-1-remnants
:ci-image/claude-2.1.250
:woodpecker-deployment-dispatch-rest
:woodpecker-deployment-dispatch-pilot
:fix-monitor-selector-comments
:fix-wear-alert-design
:trim-comments-authentik
:trim-comments-apps
:trim-comments-helm
:trim-comments-netpol
:trim-comments-infra
:trim-comments-talos
:alert-fix/issue-675
:trim-manifest-comments
:drop-unused-barman-creds
:hetzner-creds-shared-path
:ephemeral-framing
:disk-dashboard-smart
:smartctl-privileged
:smartctl-seccomp
:smartctl-exporter
:disk-dashboard-status
:disk-dashboard
:ci-image/claude-2.1.247
:kaniko-fork-rest
:kaniko-replacement
:proposal-traffic-classes
:runbook-remote-rebuild-possible
:runbook-cold-rebuild-baremetal
:alert-fix/issue-657
:velero-stale-60h
:talos-1-13-9
:ceph-mon-disk-warn-default
:ceph-san-pool-widen
:no-ipv6-on-vlan-parents
:alert-fix/issue-649
:alert-fix/issue-645
:openbao-alerting
:openbao-ha-3-replicas
:alert-fix/issue-635
:ceph-san-cleanup
:ceph-san-nad
:whereabouts-ipam
:talos-1-12-11
:mdns-relay
:netbird-rotate-migration
:runbook-stale-sockets
:drop-monitoring-agent
:ansible-drop-dead-plays
:ansible-rotate-netbird
:ansible-drop-pve
:tofu-state-verify
:alert-fix/issue-603
:drop-decommissioned-dns
:tofu-drop-proxmox-vm
:drop-pve-monitoring
:talos-factory-installer
:cilium-reloader
:drop-talos-image-seeding
:cilium-vlan-bypass
:restore-replicapool-size
:restore-cephfs-metadata-size
:alert-fix/issue-592
:ceph-readd-neptune
:k8s-3-baremetal
:ceph-drop-neptune
:alert-fix/issue-591
:ceph-readd-saturn
:alert-fix/issue-590
:remove-vm-605
:remove-vm-151
:k8s-2-baremetal
:ceph-remove-k8s-2
:baremetal-conversion-runbook
:restore-after-jupiter
:alert-fix/issue-579
:ceph-readd-k8s-1
:k8s-1-network-fix
:alert-fix/issue-573
:k8s-1-ephemeral-on-crucial
:alert-fix/issue-571
:alert-fix/issue-569
:immich-window-scaledown
:ceph-exclude-k8s-1
:crowdsec-cpu-requests
:jupiter-baremetal-u2
:velero-restore-test-monthly
:ws90-reporting-config
:alert-fix/issue-562
:fix-ws90-merge-overclaim
:fix-ws90-debounce-rationale
:worktree-z2m-2.13.0-ws90-debounce
:kaniko-no-debug-image
:alert-fix/issue-557
:alert-fix/issue-554
:alert-fix/issue-550
:bump-stale-ci-images
:document-pool-no-redundancy-meaning
:fix-ci-pool-blocks-osd-maintenance
:rotate-cephx-daemon-keys
:fix-ceph-health-alert
:repoint-ci-workspaces
:ci-throwaway-cephfs
:rollout-archive-timeout
:archive-timeout-gf-pg
:reduce-pg-wal-fpi
:reduce-wal-segment-padding
:fix-prometheus-cardinality
:fix-barman-sidecar-visible
:feat-paperless-data-repoint
:feat-paperless-data-block
:fix-cnpg-write-tuning
:fix-emptydir-tmpfs
:fix-trmnl-renderer-tmpfs
:feat-ha-recorder-db-url
:alert-fix/issue-525
:fix-cnpg-backup-alerting
:feat-ha-recorder-postgres
:fix-ceph-mon-write-amplification
:fix-ceph-replica-size-2
:fix-ceph-deferred-write-amplification
:fix-326-noise-log-suppression
:fix-381-z2m-discovery
:decommission-rustfs-lxc
:document-hairpin-id-diff
:fix-rustfs-shim-replace
:fix-rotator-woodpecker-url
:alert-fix/issue-510
:bump-woodpecker-cli
:migrate-woodpecker-stage3
:migrate-woodpecker-stage2
:fix-eso-woodpecker-namespace
:migrate-woodpecker-namespace
:ceph-mon-data-avail-warn
:revert-image-gc-thresholds
:fix-ceph-toolbox-and-gc-thresholds
:fix-cilium-policy-map-exhaustion
:drop-stale-hetzner-dns
:fix-outpost-callback-path
:bump-ci-k8s-pins
:fix-wordpress-config-extra
:wordpress-renner-uno
:fix-authentik-double-passkey-touch
:pin-ical-proxy-image
:fix-trmnl-renderer-reloader
:fix-trmnl-render-lang
:fix-trmnl-session-expiry
:fix-trmnl-graphite-theme
:fix-trmnl-token-lifetime
:fix-trmnl-renderer-runtime
:feat-trmnl-renderer
:fix-trmnl-lb-address
:feat-trmnl-terminus
:retire-dead-monitoring
:heating-can-supervisorctl
:fix-native-teardown
:edge-capability-groups
:heating-can-image
:edge-bootstrap-selfcontained
:prometheus-pve-hostnames
:inventory-pve-hostnames
:chrony-allow-ipv6
:ntp-vrrp-linklocal-and-dad-sequencing
:ntp-service-address-health-gated
:ntp-anycast-capture-drift
:ntp-health-clock-correctness
:chrony-comment-correction
:worktree-chrony-makestep
:ci-k8s-validate
:rotator-repin
:mosquitto-rotate-health
:alert-fix/issue-454
:alert-fix/issue-452
:mosquitto-rotation-proposal
:mosquitto-openbao
:mosquitto-drop-apk
:paperless-drop-apk
:cni-plugins-image
:multus-drop-apk
:fix-jq-comment
:rename-alpine-jq
:fix-ci-yaml
:z2m-seed-drop-apk
:z2m-interview-watchdog
:alert-fix/issue-439
Labels
Clear labels
apollo
atlas
clio
daedalus
hestia
Hermes expert: Immich, Audiobookshelf, Libation, Navidrome, Music Assistant
Hermes expert: Talos, Flux, network, Authentik, Matrix, monitoring
Hermes expert: Paperless, wiki, ical-proxy, TRMNL, websites
Hermes expert: Gitea, Woodpecker, Renovate, review-bot, Hermes
Hermes expert: Home Assistant, IoT, MQTT, ESPHome, voice
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: konairius/homelab#1431
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The embedded outpost's config is Authentik's own config and does not depend on authentik-gate-sync, so it moves out of the controller into the k8s-outposts blueprint.
state: presententry forauthentik Embedded Outpostwithconfigonly, noproviders. An update of an existing object is partial (importerpartial=Trueunless MUST_CREATED), so the gates the controller attached stay.configis replaced whole, so the entry mirrors the live row with one change,refresh_interval: minutes=1. A replica whose outpost websocket is down picks up gate changes only on that interval, because the reconnect backoff never resets (goauthentik/authentik#26463).kubernetes_namespacestaysdefault: the outpost has the Local Kubernetes Cluster connection.embedded_config/ensure_embedded_config,AK_BROWSER_URLand theAUTHENTIK_HOST_BROWSERenv are removed. The controller only attaches providers.Rollout: the blueprint can land before the new image. The old controller only rewrites the three host keys, which carry the same values, and merges the rest, so the two do not fight.
Tests: 33 pass.
🤖 Generated with Claude Code
🤖 Automated review — model
claude-sonnet-5-5, commit95f3ff86b9124ed8a7d31c4546586d0e87e8e1fd.Summary
This PR adds
"refresh_interval": "minutes=1"to the config thatembedded_config()writes to the embedded outpost. The goal is to cap how long a replica with a dead outpost websocket misses gate changes. The change is small and fits the existingensure_embedded_configflow. Whether the setting does what the PR claims depends on Authentik and outpost behaviour that I could not check from this repo.⚪ Unverified
refresh_intervalis an outpost config key the embedded outpost reads, or that it governs the polling that covers a missing websocket. The repo has no other reference to it. The PR's evidence is log observation plus upstream issue goauthentik/authentik#26463, which I can't read. If the embedded outpost ignores the key, the PR does nothing, andensure_embedded_configstill reports a successful update. Please verify on the live instance. Check that gate changes show up within about a minute on a replica with a dropped websocket, or find the key in the deployed Authentik version's source or docs."minutes=1"is the format the deployed Authentik version parses for this field. Existing"hours=24"and"days=30"values inprovider_bodyuse the same style, but that is not proof.🟡 Suggestions
ci/images/authentik-gate-sync/controller.py:57:REFRESH_INTERVALis hardcoded, while the neighbouring tunables (INTERVAL,AK_BROWSER_URL) read from environment variables. Making it an env var is optional.ci/images/authentik-gate-sync/controller.py:221-222: The controller now overwrites anyrefresh_intervalset in Authentik's UI or a blueprint. The test deliberately covers this (it passes"minutes=5"and expects"minutes=1"). Say in the docstring that the key is controller-owned, as withauthentik_host.Tests
The updated
test_embedded_config_keeps_other_keyscovers the pure function: the key is set, an existing value is overridden, and other keys are kept. It cannot show that Authentik honours the setting. I read only the diff oftest_controller.py, so I did not check whether the fake Authentik's outpost PATCH handling needs the new key. The PR states 35 tests pass.Recommendation
Looks reasonable — no blocking issues; comments above are optional. The only open point is confirming on the live instance that the embedded outpost honours the key.
fix(authentik-gate-sync): refresh the embedded outpost every minuteto fix(authentik): embedded outpost config in the blueprint, refresh every minute🤖 Automated review — model
claude-opus-5-5, commit58196acebc0c319f36efc7e20485f0635fb0c1b1.Summary
Re-review against my last review at
95f3ff86. The one new commit,58196ace, takes out the controller change I reviewed (embedded_config/ensure_embedded_config,AK_BROWSER_URL, theAUTHENTIK_HOST_BROWSERenv) and puts the embedded outpost's config into thek8s-outpostsblueprint instead, withrefresh_interval: "minutes=1". My earlier review had no 🔴. Both earlier 🟡 points are moot because the code they were about is gone: the hardcodedREFRESH_INTERVALand the docstring about the controller owning the key.The PR is
mergeable. Its base is the currentmaintip (1bd31119). The blueprint was last touched onmainby772311c, andcontroller.pyby69988458(#1430). Neither conflicts with this PR or supersedes it. The PR body links no issues; goauthentik/authentik#26463 is an upstream issue I can't read. The open question is whether Authentik accepts an outpost entry with noproviders/type. This repo's own comments say it doesn't.⚪ Unverified
providersandtype? (kubernetes/apps/authentik/blueprints-configmap.yaml:380-409)partial=Trueunless MUST_CREATED). I can't check Authentik's importer from this repo, and the repo says the opposite in two places:typeandprovidersare required fields per the current outpost serializer" (blueprints-configmap.yaml:711-713).772311cfrom earlier today: "an entry must carry providers".k8s-outpostsblueprint would stop applying. That includes the LDAPSCertificateKeyPairrotation from!Env(:429-436) and the LDAP/Radius outpost entries.k8s-outpostsblueprint instance status in Authentik (successful, not error), and confirm the gates are still listed in the embedded outpost'sproviders.refresh_intervalaffect the embedded outpost's polling? This is still open from last time.refresh_interval: "minutes=5"(:730,:764).configis the live row.configis replaced whole, so any live key missing from the list is dropped. I can't see the live row.kubernetes_ingress_path_type,kubernetes_httproute_annotationsandkubernetes_httproute_parent_refs(:775-777). The new entry doesn't (:396-409).authentik_outposts_outpostas of 2026-10-23, so this is probably fine.🟡 Suggestions
blueprints-configmap.yaml:381-382: Match the outpost onmanaged: goauthentik.io/outposts/embeddedinstead ofname: authentik Embedded Outpost.managed, on the client side too, so a renamed or second outpost can't be picked up (controller.py,embedded_outpost(), ending at line 340).state: presentand a name that doesn't match, the importer would try to create an outpost from this entry, not update the real one.Tests
test_embedded_config_keeps_other_keysandtest_embedded_configmatches the removed code. The controller has no remaining references toAK_BROWSER_URLorensure_embedded_config.main) merges{**config, authentik_host, authentik_host_insecure: False, authentik_host_browser}, and the blueprint uses the same values. The controller keepsrefresh_interval, so the two don't fight.Recommendation
Looks reasonable, no blocking issues. Before relying on this, check that the
k8s-outpostsblueprint still applies with the provider-less outpost entry. Matching onmanagedis optional.Pull request closed