fix(cloudflare): prefer DNS scoped token
This commit is contained in:
parent
19a3c9f72a
commit
a2ce5b9d05
@ -6,10 +6,10 @@ Reusable Ansible role for creating and updating Cloudflare DNS records in the `s
|
|||||||
|
|
||||||
- Zone lookup by name, or direct `cloudflare_dns_zone_id`
|
- Zone lookup by name, or direct `cloudflare_dns_zone_id`
|
||||||
- Create/update/delete of managed DNS records
|
- Create/update/delete of managed DNS records
|
||||||
- Token resolution from Ansible extra vars:
|
- Token resolution from Ansible extra vars, with the DNS-scoped token preferred:
|
||||||
- `-e CLOUDFLARE_DNS_API_TOKEN=...`
|
- `-e CLOUDFLARE_DNS_API_TOKEN=...`
|
||||||
- `-e CLOUDFLARE_API_TOKEN=...`
|
- `-e CLOUDFLARE_API_TOKEN=...`
|
||||||
- Environment-backed token resolution as fallback:
|
- Environment-backed token resolution as fallback, with the DNS-scoped token preferred:
|
||||||
- `CLOUDFLARE_DNS_API_TOKEN`
|
- `CLOUDFLARE_DNS_API_TOKEN`
|
||||||
- `CLOUDFLARE_API_TOKEN`
|
- `CLOUDFLARE_API_TOKEN`
|
||||||
|
|
||||||
|
|||||||
@ -11,8 +11,8 @@
|
|||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
cloudflare_dns_api_token: >-
|
cloudflare_dns_api_token: >-
|
||||||
{{
|
{{
|
||||||
vars.get('CLOUDFLARE_API_TOKEN', '')
|
vars.get('CLOUDFLARE_DNS_API_TOKEN', '')
|
||||||
| default(vars.get('CLOUDFLARE_DNS_API_TOKEN', ''), true)
|
| default(vars.get('CLOUDFLARE_API_TOKEN', ''), true)
|
||||||
}}
|
}}
|
||||||
when: cloudflare_dns_api_token | default('', true) | length == 0
|
when: cloudflare_dns_api_token | default('', true) | length == 0
|
||||||
|
|
||||||
@ -20,8 +20,8 @@
|
|||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
cloudflare_dns_api_token: >-
|
cloudflare_dns_api_token: >-
|
||||||
{{
|
{{
|
||||||
lookup('ansible.builtin.env', 'CLOUDFLARE_API_TOKEN')
|
lookup('ansible.builtin.env', 'CLOUDFLARE_DNS_API_TOKEN')
|
||||||
| default(lookup('ansible.builtin.env', 'CLOUDFLARE_DNS_API_TOKEN'), true)
|
| default(lookup('ansible.builtin.env', 'CLOUDFLARE_API_TOKEN'), true)
|
||||||
}}
|
}}
|
||||||
when: cloudflare_dns_api_token | default('', true) | length == 0
|
when: cloudflare_dns_api_token | default('', true) | length == 0
|
||||||
|
|
||||||
@ -78,7 +78,7 @@
|
|||||||
- "'#zone:read' in (cloudflare_dns_zone_lookup.json.result[0].permissions | default([]))"
|
- "'#zone:read' in (cloudflare_dns_zone_lookup.json.result[0].permissions | default([]))"
|
||||||
- "'#dns_records:edit' in (cloudflare_dns_zone_lookup.json.result[0].permissions | default([]))"
|
- "'#dns_records:edit' in (cloudflare_dns_zone_lookup.json.result[0].permissions | default([]))"
|
||||||
fail_msg: >-
|
fail_msg: >-
|
||||||
CLOUDFLARE_API_TOKEN is valid but lacks DNS edit permission for {{ cloudflare_dns_zone_name }}.
|
CLOUDFLARE_DNS_API_TOKEN is valid but lacks DNS edit permission for {{ cloudflare_dns_zone_name }}.
|
||||||
Current permissions: {{ cloudflare_dns_zone_lookup.json.result[0].permissions | default([]) }}.
|
Current permissions: {{ cloudflare_dns_zone_lookup.json.result[0].permissions | default([]) }}.
|
||||||
Required: Zone read + DNS edit on the svc.plus zone.
|
Required: Zone read + DNS edit on the svc.plus zone.
|
||||||
when:
|
when:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user