mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-16 00:47:29 +02:00
Optimized cloudflare purge and cache dev mdoe
This commit is contained in:
parent
aeaf84de6f
commit
e9ef62b95d
@ -1,3 +1,14 @@
|
|||||||
|
# Initialize cache dict (works within the play; persists if fact cache is enabled)
|
||||||
|
- name: "Ensure cf_zone_ids cache dict exists"
|
||||||
|
set_fact:
|
||||||
|
cf_zone_ids: "{{ cf_zone_ids | default({}) }}"
|
||||||
|
|
||||||
|
# Use cached zone_id if available for the apex (to_primary_domain)
|
||||||
|
- name: "Load cf_zone_id from cache if present"
|
||||||
|
set_fact:
|
||||||
|
cf_zone_id: "{{ (cf_zone_ids | default({})).get(domain | to_primary_domain, false) }}"
|
||||||
|
|
||||||
|
# Only look up from Cloudflare if we still don't have it
|
||||||
- name: "Ensure Cloudflare Zone ID is known for {{ domain }}"
|
- name: "Ensure Cloudflare Zone ID is known for {{ domain }}"
|
||||||
vars:
|
vars:
|
||||||
cf_api_url: "https://api.cloudflare.com/client/v4/zones"
|
cf_api_url: "https://api.cloudflare.com/client/v4/zones"
|
||||||
@ -9,21 +20,25 @@
|
|||||||
Content-Type: "application/json"
|
Content-Type: "application/json"
|
||||||
return_content: yes
|
return_content: yes
|
||||||
register: cf_zone_lookup_dev
|
register: cf_zone_lookup_dev
|
||||||
|
changed_when: false
|
||||||
when:
|
when:
|
||||||
- cf_zone_id is not defined
|
- not cf_zone_id
|
||||||
|
|
||||||
- name: "Set fact cf_zone_id (if not already set)"
|
- name: "Set fact cf_zone_id and update cache dict"
|
||||||
set_fact:
|
set_fact:
|
||||||
cf_zone_id: "{{ cf_zone_lookup_dev.json.result[0].id }}"
|
cf_zone_id: "{{ cf_zone_lookup_dev.json.result[0].id }}"
|
||||||
|
cf_zone_ids: >-
|
||||||
|
{{ (cf_zone_ids | default({}))
|
||||||
|
| combine({ (domain | to_primary_domain): cf_zone_lookup_dev.json.result[0].id }) }}
|
||||||
when:
|
when:
|
||||||
- cf_zone_id is not defined
|
- not cf_zone_id
|
||||||
- cf_zone_lookup_dev.json.result | length > 0
|
- cf_zone_lookup_dev.json.result | length > 0
|
||||||
|
|
||||||
- name: "Fail if no Cloudflare zone found for {{ domain | to_primary_domain }}"
|
- name: "Fail if no Cloudflare zone found for {{ domain | to_primary_domain }}"
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: "No Cloudflare zone found for {{ domain | to_primary_domain }} — aborting!"
|
msg: "No Cloudflare zone found for {{ domain | to_primary_domain }} — aborting!"
|
||||||
when:
|
when:
|
||||||
- cf_zone_id is not defined
|
- not cf_zone_id
|
||||||
- cf_zone_lookup_dev.json.result | length == 0
|
- cf_zone_lookup_dev.json.result | length == 0
|
||||||
|
|
||||||
- name: activate cloudflare cache development mode
|
- name: activate cloudflare cache development mode
|
||||||
|
@ -30,6 +30,3 @@
|
|||||||
changed_when: >
|
changed_when: >
|
||||||
cf_dev_mode_current.json.result.value is defined and
|
cf_dev_mode_current.json.result.value is defined and
|
||||||
cf_dev_mode_current.json.result.value != 'on'
|
cf_dev_mode_current.json.result.value != 'on'
|
||||||
when:
|
|
||||||
- cf_zone_id is defined
|
|
||||||
- cf_dev_mode_current.json.result.value | default('off') != 'on'
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user