Enhance Authentik role by adding Helm wait timeout for oauth2-proxy and improving task conditions for admin access and OAuth2 provider upserts. Update README with new variable descriptions and adjust Longhorn deployment tasks to ensure proper rollout before Loki installation, enhancing overall deployment reliability.
This commit is contained in:
@@ -14,6 +14,8 @@ noble_authentik_namespace: authentik
|
||||
# Helm release name (deployments: **{release}-server**, **{release}-worker**).
|
||||
noble_authentik_release_name: authentik
|
||||
noble_authentik_oauth2_proxy_chart_version: "10.4.3"
|
||||
# Helm **--wait** timeout for **oauth2-proxy** (first pull / API checks can exceed 10m).
|
||||
noble_authentik_oauth2_proxy_helm_wait_timeout: 10m
|
||||
|
||||
noble_authentik_host: auth.apps.noble.lab.pcenicni.dev
|
||||
noble_authentik_public_url: "https://{{ noble_authentik_host }}"
|
||||
|
||||
@@ -51,5 +51,4 @@ def main() -> None:
|
||||
print("worker: bootstrap user group membership updated", flush=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
|
||||
@@ -69,5 +69,4 @@ def main() -> None:
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
|
||||
@@ -106,5 +106,4 @@ def main() -> None:
|
||||
print("worker: OAuth2 providers + applications upserted", flush=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
|
||||
@@ -276,7 +276,15 @@
|
||||
environment:
|
||||
KUBECONFIG: "{{ noble_kubeconfig }}"
|
||||
register: noble_authentik_worker_admin_access
|
||||
changed_when: true
|
||||
changed_when: >-
|
||||
"worker:" in (noble_authentik_worker_admin_access.stdout | default(""))
|
||||
and "authentik Admins" in (noble_authentik_worker_admin_access.stdout | default(""))
|
||||
failed_when: >-
|
||||
(noble_authentik_worker_admin_access.rc | default(-1)) != 0
|
||||
or (
|
||||
"worker:" not in (noble_authentik_worker_admin_access.stdout | default(""))
|
||||
or "authentik Admins" not in (noble_authentik_worker_admin_access.stdout | default(""))
|
||||
)
|
||||
when:
|
||||
- noble_authentik_configure_idp | default(true) | bool
|
||||
- noble_authentik_ensure_admin_ui_access | default(true) | bool
|
||||
@@ -321,7 +329,15 @@
|
||||
environment:
|
||||
KUBECONFIG: "{{ noble_kubeconfig }}"
|
||||
register: noble_authentik_worker_oidc_upsert
|
||||
changed_when: true
|
||||
changed_when: >-
|
||||
"worker: OAuth2 providers + applications upserted"
|
||||
in (noble_authentik_worker_oidc_upsert.stdout | default(""))
|
||||
failed_when: >-
|
||||
(noble_authentik_worker_oidc_upsert.rc | default(-1)) != 0
|
||||
or (
|
||||
"worker: OAuth2 providers + applications upserted"
|
||||
not in (noble_authentik_worker_oidc_upsert.stdout | default(""))
|
||||
)
|
||||
when:
|
||||
- noble_authentik_configure_idp | default(true) | bool
|
||||
- (noble_authentik_oidc_provision_via | default('worker') | lower) == 'worker'
|
||||
@@ -366,7 +382,10 @@
|
||||
environment:
|
||||
KUBECONFIG: "{{ noble_kubeconfig }}"
|
||||
register: noble_authentik_worker_user_groups
|
||||
changed_when: true
|
||||
changed_when: >-
|
||||
"worker: bootstrap user group membership updated"
|
||||
in (noble_authentik_worker_user_groups.stdout | default(""))
|
||||
failed_when: (noble_authentik_worker_user_groups.rc | default(-1)) != 0
|
||||
when:
|
||||
- noble_authentik_configure_idp | default(true) | bool
|
||||
- (noble_authentik_oidc_provision_via | default('worker') | lower) == 'worker'
|
||||
@@ -467,7 +486,7 @@
|
||||
- --force-conflicts
|
||||
- --wait
|
||||
- --timeout
|
||||
- 10m
|
||||
- "{{ noble_authentik_oauth2_proxy_helm_wait_timeout }}"
|
||||
environment:
|
||||
KUBECONFIG: "{{ noble_kubeconfig }}"
|
||||
changed_when: true
|
||||
|
||||
@@ -11,6 +11,11 @@ noble_platform_kube_prometheus_operator_wait_retries: 60
|
||||
noble_platform_kube_prometheus_operator_wait_delay: 5
|
||||
# Longhorn PVCs + full stack often need 45-60m; node-exporter DaemonSet can be last at 3/4 until one node catches up.
|
||||
noble_platform_kube_prometheus_helm_wait_timeout: 60m
|
||||
# Loki SingleBinary + Longhorn PVC: Helm **--wait** can exceed **5m** defaults; raise if Longhorn attach is slow.
|
||||
noble_platform_loki_helm_wait_timeout: 30m
|
||||
# Before Loki (first Longhorn PVC workload), ensure CSI plugin DaemonSet is fully rolled out (avoids **FailedMount** / backend timeouts).
|
||||
noble_platform_wait_longhorn_csi_before_loki: true
|
||||
noble_platform_longhorn_csi_rollout_timeout: 15m
|
||||
|
||||
# Decrypt **clusters/noble/secrets/*.yaml** with SOPS and kubectl apply (requires **sops**, **age**, and **age-key.txt**).
|
||||
noble_apply_sops_secrets: true
|
||||
|
||||
@@ -131,6 +131,21 @@
|
||||
KUBECONFIG: "{{ noble_kubeconfig }}"
|
||||
changed_when: true
|
||||
|
||||
- name: Wait for Longhorn CSI plugin before Loki (PVC attach)
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- kubectl
|
||||
- rollout
|
||||
- status
|
||||
- daemonset/longhorn-csi-plugin
|
||||
- -n
|
||||
- longhorn-system
|
||||
- --timeout={{ noble_platform_longhorn_csi_rollout_timeout }}
|
||||
environment:
|
||||
KUBECONFIG: "{{ noble_kubeconfig }}"
|
||||
when: noble_platform_wait_longhorn_csi_before_loki | default(true) | bool
|
||||
changed_when: false
|
||||
|
||||
- name: Install Loki
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
@@ -147,6 +162,8 @@
|
||||
- "{{ noble_repo_root }}/clusters/noble/bootstrap/loki/values.yaml"
|
||||
- --force-conflicts
|
||||
- --wait
|
||||
- --timeout
|
||||
- "{{ noble_platform_loki_helm_wait_timeout }}"
|
||||
environment:
|
||||
KUBECONFIG: "{{ noble_kubeconfig }}"
|
||||
changed_when: true
|
||||
|
||||
Reference in New Issue
Block a user