From c635c489a0d5bd7b4f1d6945a9472c5181d536a4 Mon Sep 17 00:00:00 2001 From: Mykhailo Nikiforov Date: Sat, 6 Dec 2025 20:26:32 +0200 Subject: [PATCH 1/6] ci: add debian13, rockylinux10, use ansible==12.2.0 --- .gitea/workflows/checks-test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/checks-test.yml b/.gitea/workflows/checks-test.yml index 91820da..1944361 100644 --- a/.gitea/workflows/checks-test.yml +++ b/.gitea/workflows/checks-test.yml @@ -38,10 +38,12 @@ jobs: matrix: distro: - rockylinux9 + - rockylinux10 - ubuntu2204 - ubuntu2404 - debian11 - debian12 + - debian13 steps: - name: Checkout the codebase @@ -53,7 +55,7 @@ jobs: with: python-version: "3.x" - name: Intall test dependencies - run: pip3 install ansible molecule molecule-plugins[docker] docker + run: pip3 install ansible==12.2.0 molecule molecule-plugins[docker] docker - name: Run Molecule tests run: molecule test env: -- 2.49.1 From 2e3f27643360536271e5b9e0de842d5a83a40a8c Mon Sep 17 00:00:00 2001 From: Mykhailo Nikiforov Date: Sat, 6 Dec 2025 20:26:50 +0200 Subject: [PATCH 2/6] fix: condition should return Bool --- tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 10e8a0b..42e4574 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', None) is not None with_items: "{{ users.keys() }}" loop_control: loop_var: username -- 2.49.1 From c308225b56f002bb987fc1414c06b90d4e10d9b0 Mon Sep 17 00:00:00 2001 From: Mykhailo Nikiforov Date: Sat, 6 Dec 2025 21:15:30 +0200 Subject: [PATCH 3/6] ci: lock package versions --- .gitea/workflows/checks-test.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/checks-test.yml b/.gitea/workflows/checks-test.yml index 1944361..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 @@ -51,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==12.2.0 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: -- 2.49.1 From 814c9e6c1ec974559f7db0a2e5ace81e68cf6407 Mon Sep 17 00:00:00 2001 From: Mykhailo Nikiforov Date: Sat, 6 Dec 2025 21:19:58 +0200 Subject: [PATCH 4/6] fix: condition should return Bool --- tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 42e4574..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', None) is not None + when: ansible_default_ipv4.address in users[username]['passwords'] or users[username]['passwords'].get('default', '') != '' with_items: "{{ users.keys() }}" loop_control: loop_var: username -- 2.49.1 From 96f5a66852df81566166accd30a8bf81da64facf Mon Sep 17 00:00:00 2001 From: Mykhailo Nikiforov Date: Sat, 6 Dec 2025 21:24:50 +0200 Subject: [PATCH 5/6] feat: get facts with new syntax `anisble_facts[fact_name]` --- molecule/default/converge.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 -- 2.49.1 From 591715a89f21ba6166a07f83c74b83f0ebc1cd0c Mon Sep 17 00:00:00 2001 From: Mykhailo Nikiforov Date: Sat, 6 Dec 2025 21:28:24 +0200 Subject: [PATCH 6/6] feat: get facts with new syntax `anisble_facts[fact_name]` --- tasks/user.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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: -- 2.49.1