From 23145a824796434a7753ba33a748540d03111088 Mon Sep 17 00:00:00 2001 From: Sergey Malyuk Date: Thu, 9 Apr 2026 12:10:55 +0300 Subject: [PATCH 1/3] add win_chocolatey role --- roles/win_chocolatey_install/README.md | 36 +++++++++++++++++++ .../win_chocolatey_install/defaults/main.yml | 1 + .../win_chocolatey_install/handlers/main.yml | 1 + roles/win_chocolatey_install/meta/main.yml | 16 +++++++++ .../molecule/default/converge.yml | 9 +++++ .../molecule/default/molecule.yml | 22 ++++++++++++ .../molecule/default/verify.yml | 11 ++++++ roles/win_chocolatey_install/tasks/main.yml | 34 ++++++++++++++++++ roles/win_chocolatey_install/vars/main.yml | 1 + 9 files changed, 131 insertions(+) create mode 100644 roles/win_chocolatey_install/README.md create mode 100644 roles/win_chocolatey_install/defaults/main.yml create mode 100644 roles/win_chocolatey_install/handlers/main.yml create mode 100644 roles/win_chocolatey_install/meta/main.yml create mode 100644 roles/win_chocolatey_install/molecule/default/converge.yml create mode 100644 roles/win_chocolatey_install/molecule/default/molecule.yml create mode 100644 roles/win_chocolatey_install/molecule/default/verify.yml create mode 100644 roles/win_chocolatey_install/tasks/main.yml create mode 100644 roles/win_chocolatey_install/vars/main.yml diff --git a/roles/win_chocolatey_install/README.md b/roles/win_chocolatey_install/README.md new file mode 100644 index 0000000..662d721 --- /dev/null +++ b/roles/win_chocolatey_install/README.md @@ -0,0 +1,36 @@ +win_chocolatey_install +========= + +Install chocolatey on windows hosts + +Requirements +------------ + +None + +Role Variables +-------------- + +None + +Dependencies +------------ + +ansible.windows + +Example Playbook +---------------- + +```yaml +- role: genlab.common.win_chocolatey_install +``` + +License +------- + +BSD + +Author Information +------------------ + +malyuk.ss@genlab.llc diff --git a/roles/win_chocolatey_install/defaults/main.yml b/roles/win_chocolatey_install/defaults/main.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/roles/win_chocolatey_install/defaults/main.yml @@ -0,0 +1 @@ +--- diff --git a/roles/win_chocolatey_install/handlers/main.yml b/roles/win_chocolatey_install/handlers/main.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/roles/win_chocolatey_install/handlers/main.yml @@ -0,0 +1 @@ +--- diff --git a/roles/win_chocolatey_install/meta/main.yml b/roles/win_chocolatey_install/meta/main.yml new file mode 100644 index 0000000..1e16680 --- /dev/null +++ b/roles/win_chocolatey_install/meta/main.yml @@ -0,0 +1,16 @@ +--- +galaxy_info: + role_name: "win_chocolatey_install" + namespace: genlab + author: "Sergey Malyuk" + company: "Genlab, LLC" + description: "Install chocolatey" + license: "MIT" + min_ansible_version: "2.16" + + platforms: + - name: "Windows" + + galaxy_tags: [] + +dependencies: [] diff --git a/roles/win_chocolatey_install/molecule/default/converge.yml b/roles/win_chocolatey_install/molecule/default/converge.yml new file mode 100644 index 0000000..f6f0e46 --- /dev/null +++ b/roles/win_chocolatey_install/molecule/default/converge.yml @@ -0,0 +1,9 @@ +--- +- name: Converge + hosts: all + pre_tasks: + # Blank task for ignoring CI testing + # This role was tested manually + - name: Blank + ansible.builtin.command: echo + changed_when: false diff --git a/roles/win_chocolatey_install/molecule/default/molecule.yml b/roles/win_chocolatey_install/molecule/default/molecule.yml new file mode 100644 index 0000000..de54042 --- /dev/null +++ b/roles/win_chocolatey_install/molecule/default/molecule.yml @@ -0,0 +1,22 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: ubuntu + image: geerlingguy/docker-ubuntu2204-ansible:latest + pre_build_image: true + command: ${MOLECULE_DOCKER_COMMAND:-""} + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host + privileged: true +provisioner: + name: ansible +verifier: + name: ansible +lint: | + set -e + yamllint . + ansible-lint . diff --git a/roles/win_chocolatey_install/molecule/default/verify.yml b/roles/win_chocolatey_install/molecule/default/verify.yml new file mode 100644 index 0000000..da5d2ff --- /dev/null +++ b/roles/win_chocolatey_install/molecule/default/verify.yml @@ -0,0 +1,11 @@ +--- + +- name: Verify + hosts: all + gather_facts: false + tasks: + # Blank task for ignoring CI testing + # This role was tested manually + - name: Blank + ansible.builtin.command: echo + changed_when: false diff --git a/roles/win_chocolatey_install/tasks/main.yml b/roles/win_chocolatey_install/tasks/main.yml new file mode 100644 index 0000000..e76a006 --- /dev/null +++ b/roles/win_chocolatey_install/tasks/main.yml @@ -0,0 +1,34 @@ +--- +- name: Check chocolatey existance + block: + - name: Get chocolatey status + ansible.windows.win_stat: + path: C:\ProgramData\chocolatey\bin\choco.exe + register: win_chocolatey_install_status + + - name: Assert that choco binary exists + ansible.builtin.assert: + that: win_chocolatey_install_status.stat.exists + success_msg: Chocolatey IS installed + fail_msg: Chocolatey IS NOT installed + + rescue: + - name: Create temp folder + ansible.windows.win_file: + path: C:\tmp + state: directory + + - name: Download Chocolatey install script + ansible.windows.win_get_url: + url: https://community.chocolatey.org/install.ps1 + dest: C:\tmp\install_choco.ps1 + + - name: Run Chocolatey install script + ansible.windows.win_shell: | + Set-ExecutionPolicy Bypass -Scope Process -Force + C:\tmp\install_choco.ps1 + + - name: Delete tmp directory + ansible.windows.win_file: + path: C:\tmp + state: absent diff --git a/roles/win_chocolatey_install/vars/main.yml b/roles/win_chocolatey_install/vars/main.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/roles/win_chocolatey_install/vars/main.yml @@ -0,0 +1 @@ +--- From 7c29a457b69a52cb5b9741d0d433f6606b637247 Mon Sep 17 00:00:00 2001 From: Sergey Malyuk Date: Thu, 9 Apr 2026 12:11:25 +0300 Subject: [PATCH 2/3] update meta --- README.md | 1 + galaxy.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4eef694..428692f 100644 --- a/README.md +++ b/README.md @@ -39,4 +39,5 @@ - [users](roles/users/README.md) - [wg_hub](roles/wg_hub/README.md) - [wg_spoke](roles/wg_spoke/README.md) +- [win_chocolatey_install](roles/win_chocolatey_install/README.md) - [xfs_project_quotas](roles/xfs_project_quotas/README.md) diff --git a/galaxy.yml b/galaxy.yml index 829ea86..a346a54 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,7 +1,7 @@ --- namespace: genlab name: common -version: 0.35.0 +version: 0.36.0 readme: README.md authors: - Alexander Gorelyshev (corvus-migratorius@proton.me) From 1337f90c618f2e1cebc1cb86102ab9bc494a1d6b Mon Sep 17 00:00:00 2001 From: Sergey Malyuk Date: Thu, 9 Apr 2026 12:11:34 +0300 Subject: [PATCH 3/3] update dependancies --- requirements.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.yml b/requirements.yml index 5a3dc8a..49f723c 100644 --- a/requirements.yml +++ b/requirements.yml @@ -8,3 +8,4 @@ collections: - name: community.postgresql - name: lucasheld.uptime_kuma - name: maxhoesel.borgbackup + - name: ansible.windows