37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
---
|
|
- name: Cloudflare Dynamic DNS Script
|
|
hosts: linux
|
|
remote_user: bhays
|
|
become: true
|
|
become_user: root
|
|
vars_files:
|
|
- homelab-vault/secrets.yml
|
|
tasks:
|
|
- name: Copy Cloudflare IPAM Script
|
|
ansible.builtin.copy:
|
|
owner: bhays
|
|
mode: "0700"
|
|
src: ../Bash/cloudflare-dns.sh
|
|
dest: /opt/cloudflare-dns.sh
|
|
- name: Insert API Token
|
|
ansible.builtin.replace:
|
|
path: "/opt/cloudflare-dns.sh"
|
|
regexp: "^cloudflare_zone_api_token=''"
|
|
replace: "cloudflare_zone_api_token='{{ CF_API_TOKEN }}'"
|
|
- name: Insert Zone ID
|
|
ansible.builtin.replace:
|
|
path: "/opt/cloudflare-dns.sh"
|
|
regexp: "^zoneid=''"
|
|
replace: "zoneid='{{ CF_ZONE_ID }}'"
|
|
- name: Insert Zone ID
|
|
ansible.builtin.replace:
|
|
path: "/opt/cloudflare-dns.sh"
|
|
regexp: "^dns_record=''"
|
|
replace: "dns_record='{{ inventory_hostname }}'"
|
|
- name: Add Cronjob for IPAM Script
|
|
ansible.builtin.cron:
|
|
name: "Cloudflare IPAM Script"
|
|
job: "/opt/cloudflare-dns.sh"
|
|
special_time: hourly
|
|
user: bhays
|