diff --git a/roles/tftp/tasks/main.yml b/roles/tftp/tasks/main.yml index 0506730..18dc4f8 100644 --- a/roles/tftp/tasks/main.yml +++ b/roles/tftp/tasks/main.yml @@ -1,41 +1,45 @@ --- -- block: - - name: install packages - package: - name: tftp-server - state: installed - - - name: create group tftpd - group: - name: tftpd - system: true - - - name: create user tftpd - user: - name: tftpd - comment: Service TFTP - createhome: false - group: tftpd - home: /var/empty - shell: /sbin/nologin - system: true - - - name: set selinxu context for data directory - sefcontext: - path: "/export/tftpboot(/.*)?" - setype: tftpdir_rw_t +- name: Install packages + ansible.builtin.package: + name: tftp-server + state: installed when: ansible_os_family != "OpenBSD" -- name: create data directory - file: +- name: Create group tftpd + ansible.builtin.group: + name: tftpd + system: true + when: ansible_os_family != "OpenBSD" + +- name: Create user tftpd + ansible.builtin.user: + name: tftpd + comment: Service TFTP + createhome: false + group: tftpd + home: /var/empty + shell: /sbin/nologin + system: true + when: ansible_os_family != "OpenBSD" + +- name: Set SELinux context for data directory + community.general.sefcontext: + path: "/export/tftpboot(/.*)?" + setype: tftpdir_rw_t + when: + - ansible_system == "Linux" + - ansible_selinux.status != "disabled" + +- name: Create data directory + ansible.builtin.file: path: /export/tftpboot state: directory mode: 0755 owner: root group: "{{ ansible_wheel }}" -- name: link data directory - file: +- name: Link data directory + ansible.builtin.file: dest: /srv/tftpboot src: /export/tftpboot state: link @@ -43,36 +47,37 @@ group: "{{ ansible_wheel }}" follow: false -- block: - - name: create drop-in directory for service - file: - path: /etc/systemd/system/tftp.service.d - state: directory - mode: 0755 - owner: root - group: "{{ ansible_wheel }}" - - - name: create service add-on config - copy: - dest: /etc/systemd/system/tftp.service.d/local.conf - content: | - [Service] - ExecStart= - ExecStart=/usr/sbin/in.tftpd -s /srv/tftpboot -u tftpd -c -v - mode: 0644 - owner: root - group: "{{ ansible_wheel }}" - notify: restart tftpd - - - name: enable service - systemd: - name: tftp.socket - enabled: true - state: started +- name: Create drop-in directory for service + ansible.builtin.file: + path: /etc/systemd/system/tftp.service.d + state: directory + mode: 0755 + owner: root + group: "{{ ansible_wheel }}" when: ansible_service_mgr == "systemd" -- name: enable service - service: +- name: Create service add-on config + ansible.builtin.copy: + dest: /etc/systemd/system/tftp.service.d/local.conf + content: | + [Service] + ExecStart= + ExecStart=/usr/sbin/in.tftpd -s /srv/tftpboot -u tftpd -c -v + mode: 0644 + owner: root + group: "{{ ansible_wheel }}" + notify: restart tftpd + when: ansible_service_mgr == "systemd" + +- name: Enable service + ansible.builtin.systemd: + name: tftp.socket + enabled: true + state: started + when: ansible_service_mgr == "systemd" + +- name: Enable service + ansible.builtin.service: name: tftpd enabled: true state: started