From a125ec65a120ce23e4e692a48eaa169bc40e5506 Mon Sep 17 00:00:00 2001 From: Kumar Damani Date: Mon, 30 Jun 2025 17:11:10 -0400 Subject: ansible refactor to newer methods --- ansible/roles/torrents/defaults/main.yaml | 5 +++++ ansible/roles/torrents/meta/argument_specs.yaml | 25 +++++++++++++++++++++ ansible/roles/torrents/meta/main.yaml | 4 ++++ ansible/roles/torrents/tasks/config.yaml | 20 +++++++++++++++++ ansible/roles/torrents/tasks/main.yaml | 6 ++++- ansible/roles/torrents/tasks/setup.yaml | 29 ------------------------- 6 files changed, 59 insertions(+), 30 deletions(-) create mode 100644 ansible/roles/torrents/defaults/main.yaml create mode 100644 ansible/roles/torrents/meta/argument_specs.yaml create mode 100644 ansible/roles/torrents/meta/main.yaml create mode 100644 ansible/roles/torrents/tasks/config.yaml (limited to 'ansible/roles/torrents') diff --git a/ansible/roles/torrents/defaults/main.yaml b/ansible/roles/torrents/defaults/main.yaml new file mode 100644 index 0000000..45c9780 --- /dev/null +++ b/ansible/roles/torrents/defaults/main.yaml @@ -0,0 +1,5 @@ +--- + +torrents_nas_mount_path: '{{ vaultvar_torrents_nas_nfs_path }}' +torrents_rpc_username: '{{ vaultvar_torrents_rpc_username }}' +torrents_rpc_password: '{{ vaultvar_torrents_rpc_password }}' diff --git a/ansible/roles/torrents/meta/argument_specs.yaml b/ansible/roles/torrents/meta/argument_specs.yaml new file mode 100644 index 0000000..21691c7 --- /dev/null +++ b/ansible/roles/torrents/meta/argument_specs.yaml @@ -0,0 +1,25 @@ +--- + +argument_specs: + main: + short_description: Main entry point for the torrents role + description: + - This role installs the Transmission server as a systemd service. + author: + - Kumar Damani + options: + torrents_nas_mount_path: + type: 'str' + required: true + description: + - The path to the data on the NFS share. + torrents_rpc_username: + type: 'str' + required: true + description: + - The username. + torrents_rpc_password: + type: 'str' + required: true + description: + - The psswd for the user. diff --git a/ansible/roles/torrents/meta/main.yaml b/ansible/roles/torrents/meta/main.yaml new file mode 100644 index 0000000..93c21f6 --- /dev/null +++ b/ansible/roles/torrents/meta/main.yaml @@ -0,0 +1,4 @@ +--- + +dependencies: + - role: 'base' diff --git a/ansible/roles/torrents/tasks/config.yaml b/ansible/roles/torrents/tasks/config.yaml new file mode 100644 index 0000000..d375645 --- /dev/null +++ b/ansible/roles/torrents/tasks/config.yaml @@ -0,0 +1,20 @@ +--- + +# We still need to stop it to place the config file or else it will get overwritten +- name: 'config | Stop the service' + ansible.builtin.service: + name: 'transmission-daemon' + state: 'stopped' + +- name: 'config | Copy the transmission config' + ansible.builtin.template: + src: 'settings.json.j2' + dest: '/home/transmission-user/.config/transmission-daemon/settings.json' + owner: 'transmission-user' + mode: '644' + +- name: 'config | Start the service' + ansible.builtin.service: + name: 'transmission-daemon' + state: 'started' + enabled: true diff --git a/ansible/roles/torrents/tasks/main.yaml b/ansible/roles/torrents/tasks/main.yaml index 806a4e3..62d9b46 100644 --- a/ansible/roles/torrents/tasks/main.yaml +++ b/ansible/roles/torrents/tasks/main.yaml @@ -2,4 +2,8 @@ - name: 'Run the setup tasks' ansible.builtin.import_tasks: 'setup.yaml' - tags: 'torrents' + tags: ['install'] + +- name: 'Run the config tasks' + ansible.builtin.import_tasks: 'config.yaml' + tags: ['install', 'config'] diff --git a/ansible/roles/torrents/tasks/setup.yaml b/ansible/roles/torrents/tasks/setup.yaml index 25f1fe8..1aaaa83 100644 --- a/ansible/roles/torrents/tasks/setup.yaml +++ b/ansible/roles/torrents/tasks/setup.yaml @@ -1,15 +1,5 @@ --- -- name: 'setup | Ensure required vars are set' - ansible.builtin.assert: - that: - - item | mandatory - loop: - - '{{ torrents_nas_mount_path }}' - - '{{ torrents_rpc_username }}' - - '{{ torrents_rpc_password }}' - no_log: true - - name: 'setup | Install required pkgs' ansible.builtin.package: name: @@ -58,22 +48,3 @@ ansible.builtin.service: name: 'transmission-daemon' state: 'started' - -# We still need to stop it to place the config file or else it will get overwritten -- name: 'setup | Stop the service' - ansible.builtin.service: - name: 'transmission-daemon' - state: 'stopped' - -- name: 'setup | Copy the transmission config' - ansible.builtin.template: - src: 'settings.json.j2' - dest: '/home/transmission-user/.config/transmission-daemon/settings.json' - owner: 'transmission-user' - mode: '644' - -- name: 'setup | Start the service' - ansible.builtin.service: - name: 'transmission-daemon' - state: 'started' - enabled: true -- cgit v1.2.3