fix: fail fast on tailscale oauth 403 with actionable message
This commit is contained in:
@@ -61,8 +61,7 @@
|
|||||||
--namespace {{ tailscale_operator_namespace }}
|
--namespace {{ tailscale_operator_namespace }}
|
||||||
--version {{ tailscale_operator_version }}
|
--version {{ tailscale_operator_version }}
|
||||||
--values /tmp/tailscale-operator-values.yaml
|
--values /tmp/tailscale-operator-values.yaml
|
||||||
--wait
|
--timeout 5m
|
||||||
--timeout 10m
|
|
||||||
register: tailscale_install
|
register: tailscale_install
|
||||||
failed_when: false
|
failed_when: false
|
||||||
changed_when: true
|
changed_when: true
|
||||||
@@ -97,4 +96,43 @@
|
|||||||
|
|
||||||
- name: Wait for Tailscale operator to be ready
|
- name: Wait for Tailscale operator to be ready
|
||||||
command: kubectl -n {{ tailscale_operator_namespace }} rollout status deployment/operator --timeout=5m
|
command: kubectl -n {{ tailscale_operator_namespace }} rollout status deployment/operator --timeout=5m
|
||||||
|
register: tailscale_rollout
|
||||||
|
failed_when: false
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Show Tailscale operator deployment status
|
||||||
|
command: kubectl -n {{ tailscale_operator_namespace }} get deployment operator -o wide
|
||||||
|
register: tailscale_deploy
|
||||||
|
changed_when: false
|
||||||
|
failed_when: false
|
||||||
|
|
||||||
|
- name: Get Tailscale operator logs
|
||||||
|
command: kubectl -n {{ tailscale_operator_namespace }} logs deployment/operator --tail=200
|
||||||
|
register: tailscale_operator_logs
|
||||||
|
changed_when: false
|
||||||
|
failed_when: false
|
||||||
|
|
||||||
|
- name: Fail when Tailscale OAuth permissions are insufficient
|
||||||
|
fail:
|
||||||
|
msg: |
|
||||||
|
Tailscale operator started but cannot create auth keys (403 permission error).
|
||||||
|
Fix your Tailscale OAuth client/tag permissions.
|
||||||
|
|
||||||
|
Required checks in Tailscale admin:
|
||||||
|
- OAuth client has devices:core write access
|
||||||
|
- OAuth client can create tagged devices for: {{ tailscale_operator_default_tags | join(', ') }}
|
||||||
|
- ACL/tag ownership allows those tags for this OAuth client
|
||||||
|
|
||||||
|
Operator log excerpt:
|
||||||
|
{{ tailscale_operator_logs.stdout | default('n/a') }}
|
||||||
|
when: "tailscale_operator_logs.stdout is defined and ('does not have enough permissions' in tailscale_operator_logs.stdout or 'Status: 403' in tailscale_operator_logs.stdout)"
|
||||||
|
|
||||||
|
- name: Warn if Tailscale operator is not ready yet
|
||||||
|
debug:
|
||||||
|
msg: |
|
||||||
|
Tailscale operator deployment is still converging.
|
||||||
|
This is non-blocking for CI; service endpoints may appear shortly.
|
||||||
|
Rollout output:
|
||||||
|
{{ tailscale_rollout.stdout | default('') }}
|
||||||
|
{{ tailscale_deploy.stdout | default('') }}
|
||||||
|
when: tailscale_rollout.rc != 0
|
||||||
|
|||||||
Reference in New Issue
Block a user