diff --git a/.gitea/workflows/checks-test.yml b/.gitea/workflows/checks-test.yml index 91820da..dc5356e 100644 --- a/.gitea/workflows/checks-test.yml +++ b/.gitea/workflows/checks-test.yml @@ -22,11 +22,11 @@ jobs: with: path: "palkx.users" - name: Setup Python 3 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: - python-version: "3.x" + python-version: "3.13" - name: Intall test dependencies - run: pip3 install yamllint ansible-lint + run: pip3 install yamllint==1.37.1 ansible-lint==25.12.0 - name: Lint code with yamllint run: "yamllint ." - name: Lint code with yamllint @@ -38,10 +38,12 @@ jobs: matrix: distro: - rockylinux9 + - rockylinux10 - ubuntu2204 - ubuntu2404 - debian11 - debian12 + - debian13 steps: - name: Checkout the codebase @@ -49,11 +51,11 @@ jobs: with: path: "palkx.users" - name: Setup Python 3 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: - python-version: "3.x" + python-version: "3.13" - name: Intall test dependencies - run: pip3 install ansible molecule molecule-plugins[docker] docker + run: pip3 install ansible-core==2.20.0 molecule==25.12.0 molecule-plugins[docker]==25.8.12 docker==7.1.0 - name: Run Molecule tests run: molecule test env: diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index 05b4eca..021fd4d 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -8,7 +8,7 @@ package: update_cache: true cache_valid_time: 600 - when: ansible_os_family == 'Debian' + when: ansible_facts["os_family"] == 'Debian' - name: Ensure build dependencies are installed (RedHat). package: @@ -16,13 +16,13 @@ - openssh-server - openssh-clients state: present - when: ansible_os_family == 'RedHat' + when: ansible_facts["os_family"] == 'RedHat' - name: Ensure build dependencies are installed (Fedora). package: name: procps state: present - when: ansible_distribution == 'Fedora' + when: ansible_facts["distribution"] == 'Fedora' - name: Ensure build dependencies are installed (Debian). package: @@ -30,7 +30,7 @@ - openssh-server - openssh-client state: present - when: ansible_os_family == 'Debian' + when: ansible_facts["os_family"] == 'Debian' - name: Ensure auth.log file is present. copy: @@ -38,7 +38,7 @@ content: "" force: false mode: 0644 - when: ansible_distribution == 'Debian' + when: ansible_facts["distribution"] == 'Debian' roles: - role: palkx.users diff --git a/tasks/main.yml b/tasks/main.yml index 10e8a0b..9ecbd38 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -7,7 +7,7 @@ - name: Create users ansible.builtin.include_tasks: user.yml - when: ansible_default_ipv4.address in users[username]['passwords'] or users[username]['passwords'].get('default') + when: ansible_default_ipv4.address in users[username]['passwords'] or users[username]['passwords'].get('default', '') != '' with_items: "{{ users.keys() }}" loop_control: loop_var: username diff --git a/tasks/user.yml b/tasks/user.yml index 9bb2edc..55794df 100644 --- a/tasks/user.yml +++ b/tasks/user.yml @@ -11,15 +11,15 @@ ansible.builtin.user: name: "{{ username }}" password: "{{ users[username]['passwords'].get(ansible_default_ipv4.address) }}" - when: "ansible_default_ipv4.address in users[username]['passwords'] and - users[username]['passwords'].get(ansible_default_ipv4.address) != 'default'" + when: "ansible_facts['default_ipv4'].address in users[username]['passwords'] and + users[username]['passwords'].get(ansible_facts['default_ipv4'].address) != 'default'" - name: "Set default password for user `{{ username }}`" ansible.builtin.user: name: "{{ username }}" password: "{{ users[username]['passwords'].get('default') }}" - when: "ansible_default_ipv4.address not in users[username]['passwords'] or - users[username]['passwords'].get(ansible_default_ipv4.address) == 'default'" + when: "ansible_facts['default_ipv4'].address not in users[username]['passwords'] or + users[username]['passwords'].get(ansible_facts['default_ipv4'].address) == 'default'" - name: "Setup ssh key for user `{{ username }}`" ansible.posix.authorized_key: