Raspberry-Pi-IaC/roles/cloudflare-ddns/tasks/main.yml
Thomas Kleinendorst 22376928e2 Fix invalid variable naming for user role
According to the linter variables used within rules should start with
the role's prefix.
2024-04-13 13:54:49 +02:00

64 lines
1.8 KiB
YAML

---
- name: Create a new user
ansible.builtin.include_role:
name: user
vars:
user_username: "{{ cloudflare_ddns_user }}"
user_password: "{{ cloudflare_ddns_user_password }}"
- name: Install Python dependencies # noqa: package-latest
become: true
ansible.builtin.apt:
pkg: python3-pip
state: latest
- name: Copy over DDNS scripting
become: true
become_user: "{{ cloudflare_ddns_user }}"
ansible.builtin.copy:
src: cloudflare_ddns
dest: ~/bin/
mode: '0700'
- name: Configure Python venv
become: true
become_user: "{{ cloudflare_ddns_user }}"
ansible.builtin.shell: |
cd ~/bin/cloudflare_ddns
python3 -m venv ./venv
chmod u+x ./venv/bin/activate
source ./venv/bin/activate
pip3 install -r ./requirements.txt
args:
executable: /bin/bash
creates: ~/bin/cloudflare_ddns/venv
- name: Create directory for storing public IP change logs and config
become: true
become_user: "{{ cloudflare_ddns_user }}"
ansible.builtin.file:
path: ~/cloudflare_ddns
state: directory
mode: '0700'
- name: Fill config file and store it in folder
become: true
become_user: "{{ cloudflare_ddns_user }}"
ansible.builtin.template:
src: ddns_config.ini.j2
dest: ~/cloudflare_ddns/ddns_config.ini
mode: '0600'
- name: Install Cloudflare DDNS service file
become: true
ansible.builtin.template:
src: cloudflare_ddns.service
dest: /lib/systemd/system/
mode: '0644'
- name: Install Cloudflare DDNS timer file
become: true
ansible.builtin.copy:
src: cloudflare_ddns.timer
dest: /lib/systemd/system/
mode: '0644'
- name: Enable the newly added systemd timer
become: true
ansible.builtin.systemd_service:
daemon_reload: true
name: cloudflare_ddns.timer
state: started
enabled: true