From 7008961ae713f441b16d6583ff04d8da1ac1754e Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 16:20:01 +0000 Subject: [PATCH 01/10] fix: more transitioning of ansible_* vars to ansible_facts --- roles/deps_mgr/defaults/main.yml | 2 +- roles/java/README.md | 2 +- roles/java/meta/main.yml | 2 +- roles/java/tasks/download-and-install.yml | 2 +- roles/java/vars/main.yml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/roles/deps_mgr/defaults/main.yml b/roles/deps_mgr/defaults/main.yml index 36d5f7d..10f3d9d 100644 --- a/roles/deps_mgr/defaults/main.yml +++ b/roles/deps_mgr/defaults/main.yml @@ -44,7 +44,7 @@ deps_mgr_list: # RedHat: # repositories: # - repo_type: dnf-config -# name: "rhel-{{ ansible_facts['distribution_major_version'] }}-for-{{ ansible_architecture }}-appstream-rpms" +# name: "rhel-{{ ansible_facts['distribution_major_version'] }}-for-{{ ansible_facts['architecture'] }}-appstream-rpms" # Rocky: # repositories: # - repo_type: dnf-config diff --git a/roles/java/README.md b/roles/java/README.md index 1ca0675..ec37721 100644 --- a/roles/java/README.md +++ b/roles/java/README.md @@ -28,7 +28,7 @@ Role Variables | java_use_headless | Headless variants exclude GUI components and are good for terminal-only servers. | true | | java_vendor | The vendor providing you with Java. `Default` means your distro's default repositories. | Default | | java_variant | Some vendors provide multiple versions of Java. This variable lets you specify which to install. | OpenJDK | -| java_install_directory | Install directory for non-repository-based installs. | `/usr/lib/jvm/{{ java_type }}-{{ java_version }}-{{ java_vendor }}-{{ ansible_architecture }}` | +| java_install_directory | Install directory for non-repository-based installs. | `/usr/lib/jvm/{{ java_type }}-{{ java_version }}-{{ java_vendor }}-{{ ansible_facts.architecture }}` | | java_archive_download_dir | Archive download directory for non-repository-based installs. | `/tmp` | | java_update_alternatives | Enable or disable updating alternatives for Java | false | | java_archive_exts | When not installing from a repository, file extension will determine whether a file is installed via ansible.builtin.package or extracted via ansible.builtin.unarchive. Files with extensions matching this list will go through the latter process. | `['.bz2','.tbz','.gz','.tgz','.lz','.lzma','.tlz','.xz','.txz','.zst','.tzst']` | diff --git a/roles/java/meta/main.yml b/roles/java/meta/main.yml index 3bcdbc8..0e6559c 100644 --- a/roles/java/meta/main.yml +++ b/roles/java/meta/main.yml @@ -106,7 +106,7 @@ argument_specs: - Java java_install_directory: description: Install directory for non-repository-based installs. - default: '/usr/lib/jvm/{{ java_type }}-{{ java_version }}-{{ java_vendor }}-{{ ansible_architecture }}' + default: '/usr/lib/jvm/{{ java_type }}-{{ java_version }}-{{ java_vendor }}-{{ ansible_facts.architecture }}' java_archive_download_dir: description: Archive download directory for non-repository-based installs. default: /tmp diff --git a/roles/java/tasks/download-and-install.yml b/roles/java/tasks/download-and-install.yml index beea6db..f41ce8a 100644 --- a/roles/java/tasks/download-and-install.yml +++ b/roles/java/tasks/download-and-install.yml @@ -29,7 +29,7 @@ vars: # Only RedHat-based distros support the family parameter. alternatives_family: "{{ (ansible_facts['os_family'] == 'RedHat') | ansible.builtin.ternary( - java_family ~ '-java-' ~ java_version ~ '.' ~ ansible_architecture, undef())}}" + java_family ~ '-java-' ~ java_version ~ '.' ~ ansible_facts['architecture'], undef())}}" become: true block: - name: Ensure Destination Directory Exists diff --git a/roles/java/vars/main.yml b/roles/java/vars/main.yml index 9f05799..35177c5 100644 --- a/roles/java/vars/main.yml +++ b/roles/java/vars/main.yml @@ -212,7 +212,7 @@ java_packages: - repo_type: yum name: adoptium description: Adoptium - baseurl: "https://packages.adoptium.net/artifactory/rpm/{{ ansible_distribution | lower }}/$releasever/$basearch" + baseurl: "https://packages.adoptium.net/artifactory/rpm/{{ ansible_facts['distribution'] | lower }}/$releasever/$basearch" gpgkey: https://packages.adoptium.net/artifactory/api/gpg/key/public gpgcheck: true packages: @@ -256,15 +256,15 @@ java_archives: Oracle: GraalVM: url: "https://download.oracle.com/graalvm/{{ java_version }}/latest/graalvm-jdk-{{ - java_version }}_{{ ansible_system | lower }}-{{ java_oracle_arch }}_bin.tar.gz" + java_version }}_{{ ansible_facts['system'] | lower }}-{{ java_oracle_arch }}_bin.tar.gz" checksum: "sha256:https://download.oracle.com/graalvm/{{ java_version }}/latest/graalvm-jdk-{{ - java_version }}_{{ ansible_system | lower }}-{{ java_oracle_arch }}_bin.tar.gz.sha256" + java_version }}_{{ ansible_facts['system'] | lower }}-{{ java_oracle_arch }}_bin.tar.gz.sha256" Java: url: "https://download.oracle.com/java/{{ java_version }}/latest/jdk-{{ - java_version }}_{{ ansible_system | lower }}-{{ java_oracle_arch }}_bin.{{ + java_version }}_{{ ansible_facts['system'] | lower }}-{{ java_oracle_arch }}_bin.{{ {'RedHat': 'rpm', 'Debian': 'deb'}[ansible_facts['os_family']] | default('tar.gz') }}" checksum: "sha256:https://download.oracle.com/java/{{ java_version }}/latest/jdk-{{ - java_version }}_{{ ansible_system | lower }}-{{ java_oracle_arch }}_bin.{{ + java_version }}_{{ ansible_facts['system'] | lower }}-{{ java_oracle_arch }}_bin.{{ {'RedHat': 'rpm', 'Debian': 'deb'}[ansible_facts['os_family']] | default('tar.gz') }}.sha256" @@ -274,4 +274,4 @@ java_archive_path: "{{ }}" # Oracle download files use weird architecture strings. -java_oracle_arch: "{{ {'x86_64': 'x64'}[ansible_architecture] | default(ansible_architecture) }}" +java_oracle_arch: "{{ {'x86_64': 'x64'}[ansible_facts['architecture']] | default(ansible_facts['architecture']) }}" From bc52ad552e5a02153519aaf75721f9bc9d1c640e Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 16:20:35 +0000 Subject: [PATCH 02/10] fix(acme-sh): acme_sh_dependencies variable name mismatch --- roles/acme_sh/vars/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/acme_sh/vars/main.yml b/roles/acme_sh/vars/main.yml index 13656cb..3192677 100644 --- a/roles/acme_sh/vars/main.yml +++ b/roles/acme_sh/vars/main.yml @@ -12,7 +12,7 @@ acme_sh_install_nsupdate: "{{ acme_sh_mode == 'dns' and acme_sh_mode_value is an acme_sh_install_cron: "{{ acme_sh_scheduler == 'cron' and (ansible_facts['packages'] | select('in', ['cron', 'cronie', 'isc-cron', 'mcron', 'vixie-cron']) | length == 0) }}" -acme_sh_deps_by_family: +acme_sh_dependencies: Alpine: packages: - openssl From c16d13a0a6bd2bf8cb583907e889b3f29d1f5767 Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 16:29:30 +0000 Subject: [PATCH 03/10] fix(acme_sh): test typo regexp -> regex --- roles/acme_sh/README.md | 2 +- roles/acme_sh/vars/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/acme_sh/README.md b/roles/acme_sh/README.md index d464a08..736665f 100644 --- a/roles/acme_sh/README.md +++ b/roles/acme_sh/README.md @@ -18,7 +18,7 @@ Using this role will install the following packages on the target: | **socat** | always | | **openssl** | always | | cron/cronnie/mcron/vixie-cron | `acme_sh_scheduler == 'cron'` and you do not have `cron`, `cronie`, `isc-cron`, `mcron`, or `vixie-cron` installed | -| bind-utils/bind-tools/bind9-dnsutils/bind | `acme_sh_mode == 'dns' and acme_sh_mode_value is regexp('dns_nsupdates?')` | +| bind-utils/bind-tools/bind9-dnsutils/bind | `acme_sh_mode == 'dns' and acme_sh_mode_value is regex('dns_nsupdates?')` | | wget | neither `wget` nor `curl` is installed | diff --git a/roles/acme_sh/vars/main.yml b/roles/acme_sh/vars/main.yml index 3192677..b45e35e 100644 --- a/roles/acme_sh/vars/main.yml +++ b/roles/acme_sh/vars/main.yml @@ -7,7 +7,7 @@ # acme.sh requires either wget or curl. If neither exists, install wget (it's smaller than curl) acme_sh_install_wget: "{{ ansible_facts['packages'] | select('in', ['curl', 'wget']) | length == 0 }}" # if configuring acme.sh to use nslookup for dns-01 challenges, make sure it's installed. -acme_sh_install_nsupdate: "{{ acme_sh_mode == 'dns' and acme_sh_mode_value is ansible.builtin.regexp('dns_nsupdates?') }}" +acme_sh_install_nsupdate: "{{ acme_sh_mode == 'dns' and acme_sh_mode_value is ansible.builtin.regex('dns_nsupdates?') }}" # ensure some form of vixie-compatible cron daemon is installed when using cron as the scheduler. acme_sh_install_cron: "{{ acme_sh_scheduler == 'cron' and (ansible_facts['packages'] | select('in', ['cron', 'cronie', 'isc-cron', 'mcron', 'vixie-cron']) | length == 0) }}" From c58ac432deaa0b86423283d6fbb6c3f91bced381 Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 19:01:46 +0000 Subject: [PATCH 04/10] fix: further variable name migration --- roles/acme_sh/tasks/main.yml | 2 +- tests/integration/targets/role_deps_mgr/vars/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/acme_sh/tasks/main.yml b/roles/acme_sh/tasks/main.yml index 1e26a27..a70da82 100644 --- a/roles/acme_sh/tasks/main.yml +++ b/roles/acme_sh/tasks/main.yml @@ -126,7 +126,7 @@ # Sets the domain alias to use in place of the actual domain # See: https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode#7-challenge-alias-or-domain-alias - "{{ (acme_sh_mode == 'dns') | ansible.builtin.ternary('--domain-alias', omit) }}" - - "{{ (acme_sh_mode == 'dns') | ansible.builtin.ternary(ansible_hostname~'.'~acme_sh_dns_zone, omit) }}" + - "{{ (acme_sh_mode == 'dns') | ansible.builtin.ternary(ansible_facts['hostname']~'.'~acme_sh_dns_zone, omit) }}" - "{{ (acme_sh_mode == 'dns' and (acme_sh_dns_sleep | default(false))) | ansible.builtin.ternary('--dnssleep', omit) }}" - "{{ (acme_sh_mode == 'dns' and (acme_sh_dns_sleep | default(false))) | ansible.builtin.ternary(acme_sh_dns_sleep | string, omit) }}" # Sets options for standalone and tls alpn mode. diff --git a/tests/integration/targets/role_deps_mgr/vars/main.yml b/tests/integration/targets/role_deps_mgr/vars/main.yml index 17087e0..9b7bc02 100644 --- a/tests/integration/targets/role_deps_mgr/vars/main.yml +++ b/tests/integration/targets/role_deps_mgr/vars/main.yml @@ -13,7 +13,7 @@ deps_mgr_list: Ubuntu: repositories: - repo_type: apt - name: "deb http://archive.ubuntu.com/ubuntu {{ ansible_distribution_release }} universe" + name: "deb http://archive.ubuntu.com/ubuntu {{ ansible_facts['distribution_release'] }} universe" state: present packages: - hello From 63a1b7ef3ea10dca8034d07a911b98436f4b6f98 Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 19:02:00 +0000 Subject: [PATCH 05/10] chore: update version number --- galaxy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy.yml b/galaxy.yml index 545816c..f5774d2 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -10,7 +10,7 @@ namespace: "marshallwp" name: "general" -version: 1.5.4 +version: 1.5.5 readme: README.md authors: - William P. Marshall From a8d3847ba243801ea00eb0e1f4a7b5d44b4241f0 Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 19:27:23 +0000 Subject: [PATCH 06/10] fix: inconsistent variable names --- roles/acme_sh/README.md | 4 ++-- roles/dirtree/tasks/main.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/acme_sh/README.md b/roles/acme_sh/README.md index 736665f..736ca06 100644 --- a/roles/acme_sh/README.md +++ b/roles/acme_sh/README.md @@ -51,10 +51,10 @@ Role Variables | acme_sh_env_variables | A dictionary of environment variables to be set during acme.sh operations. Primarily for dnsapi extensions. | | | acme_sh_server | Sets the [`--server`](https://github.com/acmesh-official/acme.sh/wiki/Server) parameter. | `letsencrypt_test` | | acme_sh_account_email | **MANDATORY** The email of the account to request a certificate under. | | -| acme_sh_account_keyfile | **MANDATORY** File containing your account key for authentication with the ACME server | `"{{ acme_sh_home }}/ca_account.key"` | +| acme_sh_account_key_file | **MANDATORY** File containing your account key for authentication with the ACME server | `"{{ acme_sh_home }}/ca_account.key"` | | acme_sh_keylength | Specifies the domain key length: 2048, 3072, 4096, 8192 or ec-256, ec-384, ec-521. | `ec-384` | | acme_sh_reloadcmd | Command run after newly renewed certificates are installed | | -| acme_sh_prehook | Pre hook that happens before attempting to issue a certificate | | +| acme_sh_pre_hook | Pre hook that happens before attempting to issue a certificate | | | acme_sh_post_hook | Post hook that happens after attempting to issue a certificate | | | acme_sh_renew_hook | Renew hook that is called when certs are *successfully* renewed | | | acme_sh_run_hook_setup | Setup the hooks and reloadcmd. Useful when the command executed by the hook won't work without the certificates existing first. | `true` | diff --git a/roles/dirtree/tasks/main.yml b/roles/dirtree/tasks/main.yml index 0cfa263..4121a07 100644 --- a/roles/dirtree/tasks/main.yml +++ b/roles/dirtree/tasks/main.yml @@ -8,7 +8,7 @@ ansible.builtin.file: path: "{{ item }}" state: directory - owner: "{{ dirtree_user | default(ansible_facts['user_id'], true) }}" + owner: "{{ dirtree_owner | default(ansible_facts['user_id'], true) }}" group: "{{ dirtree_group | default(ansible_facts['user_gid'], true) | marshallwp.general.get_grpname }}" mode: "{{ dirtree_mode | default() }}" loop: "{{ dirtree_tree | marshallwp.general.generate_paths(dirtree_root) }}" From d90ba349e2ef9e0221cf4acb6f2ba8372c6c88f5 Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:17:11 +0000 Subject: [PATCH 07/10] fix(java): update-alternatives commands now work --- roles/java/tasks/download-and-install.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/roles/java/tasks/download-and-install.yml b/roles/java/tasks/download-and-install.yml index f41ce8a..350e65b 100644 --- a/roles/java/tasks/download-and-install.yml +++ b/roles/java/tasks/download-and-install.yml @@ -26,10 +26,6 @@ # For Archive-based installations - name: Install {{ java_vendor ~ ' ' ~ java_variant ~ ' Java ' ~ java_version ~ ' from Archive' }} when: (java_archive_path | ansible.builtin.splitext)[1] in java_archive_exts - vars: - # Only RedHat-based distros support the family parameter. - alternatives_family: "{{ (ansible_facts['os_family'] == 'RedHat') | ansible.builtin.ternary( - java_family ~ '-java-' ~ java_version ~ '.' ~ ansible_facts['architecture'], undef())}}" become: true block: - name: Ensure Destination Directory Exists @@ -51,22 +47,22 @@ when: java_update_alternatives | default(false) community.general.alternatives: name: "jre_{{ java_version }}" - family: "{{ alternatives_family | default() }}" - link: "{{ java_install_directory }}" + path: "{{ java_install_directory }}" + link: "/usr/lib/jvm/jre_{{ java_version }}" - name: Update Alternatives - java_sdk_{{ java_version }} when: - java_update_alternatives | default(false) - java_type == 'jdk' community.general.alternatives: name: "java_sdk_{{ java_version }}" - family: "{{ alternatives_family | default() }}" - link: "{{ java_install_directory }}" + path: "{{ java_install_directory }}" + link: "/usr/lib/jvm/java_sdk_{{ java_version }}" - name: Update Alternatives - java (JRE) when: java_update_alternatives | default(false) community.general.alternatives: name: java - family: "{{ alternatives_family | default() }}" - link: "{{ (java_install_directory, 'bin', 'java') | ansible.builtin.path_join }}" + path: "{{ (java_install_directory, 'bin', 'java') | ansible.builtin.path_join }}" + link: /usr/bin/java state: auto subcommands: - name: jre @@ -84,8 +80,8 @@ - java_type == 'jdk' community.general.alternatives: name: java - family: "{{ alternatives_family | default() }}" - link: "{{ (java_install_directory, 'bin', 'java') | ansible.builtin.path_join }}" + path: "{{ (java_install_directory, 'bin', 'java') | ansible.builtin.path_join }}" + link: /usr/bin/java state: auto subcommands: - name: jcmd From 1474844e4d7081fa37ef2e71373d5364b11bd947 Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:22:45 +0000 Subject: [PATCH 08/10] chore: update reuse headers and remove CHANGELOG remnants --- CHANGELOG.rst | 324 ------------------ README.md | 4 - galaxy.yml | 1 - roles/acme_sh/README.md | 2 +- roles/acme_sh/tasks/main.yml | 2 +- roles/acme_sh/vars/main.yml | 2 +- roles/deps_mgr/defaults/main.yml | 2 +- roles/java/meta/main.yml | 2 +- roles/java/tasks/download-and-install.yml | 2 +- roles/java/vars/main.yml | 2 +- .../targets/role_deps_mgr/vars/main.yml | 2 +- 11 files changed, 8 insertions(+), 337 deletions(-) delete mode 100644 CHANGELOG.rst diff --git a/CHANGELOG.rst b/CHANGELOG.rst deleted file mode 100644 index 881b97f..0000000 --- a/CHANGELOG.rst +++ /dev/null @@ -1,324 +0,0 @@ -.. SPDX-FileCopyrightText: 2026 Industrial Info Resources, Inc. -.. SPDX-FileContributor: William P. Marshall -.. -.. SPDX-License-Identifier: GPL-3.0-or-later - -=========================================== -Marshallwp General Collection Release Notes -=========================================== - -.. contents:: Topics - -v1.5.3 -====== - -Release Summary ---------------- - -fixes an issue preventing the acme_sh role from updating deployment commands and allows the from_toml filter to work in more situations. - -Minor Changes -------------- - -- The from_toml filter now supports using ansible's built-in toml library in ansible-core 2.18 and below. - -Bugfixes --------- - -- Fix #29 by removing the erronious OR command from line 16 of the update_cmds.yml file. -- Rename "choice" properties to "choices" in argument_specs to make them compliant with specifications. - -v1.5.2 -====== - -Release Summary ---------------- - -Update testing to make Python 3.10 happy and improve java documentation, spec, and default values. - -Major Changes -------------- - -- The `java` role now queries `Public APIs for Oracle Java Releases `_ for the latest LTS version of Java available. This should help reduce the number of updates this role needs that default up-to-date. - -Minor Changes -------------- - -- Requirements files now include an explicit tomli version. - -v1.5.1 -====== - -Release Summary ---------------- - -Split the TOML filters into multiple files to improve documentation and reduce required dependencies for those interested in using only a subset of the filters. - -Minor Changes -------------- - -- devcontainer - pre-commit is now installed upon first start of the devcontainer. This ensures it is enforced without further user configuration. -- pre-commit - rewrote the pre-commit configuration file from scratch so it is no-longer based on RedHat work. - -Documentation Changes ---------------------- - -- README - Added Ansible Galaxy download count and link - -v1.5.0 -====== - -Release Summary ---------------- - -Add filters for converting to and from TOML. - -Removed Features (previously deprecated) ----------------------------------------- - -- deps_mgr - use of the `dependencies` alias for `deps_mgr_list` has been removed due to lack of support in Ansible's Argument Specification. - -Documentation Changes ---------------------- - -- Implement REUSE specification for licensing information. - -New Plugins ------------ - -Filter -~~~~~~ - -- from_toml - Converts a TOML-formatted string into a Python object. -- to_nice_toml - Converts a dictionary into a nice TOML-formatted string -- to_toml - Converts a dictionary into a TOML-formatted string - -v1.4.3 -====== - -Release Summary ---------------- - -Add support for installing Microsoft OpenJDK on Suse distributions. Add Ansible argument specs to all roles. Explicitly made deps_mgr package and replsitory management tasks elevated. - -Major Changes -------------- - -- deps_mgr - explicitly specificed that tasks related to package installation or repository management should be elevated. - -Minor Changes -------------- - -- Add argument spec to acme_sh role. -- Add argument spec to deps_mgr role. -- Add argument spec to dirtree role. -- Add argument spec to java role. -- Add support for installing Microsoft OpenJDK for Suse distributions. - -v1.4.2 -====== - -Release Summary ---------------- - -Eliminates open-ended copy operations and makes ansible code-checking happy. - -Minor Changes -------------- - -- dns_nsupdates.sh was altered to make shellcheck and ansible shebang sanity test happy. - -Security Fixes --------------- - -- acme_sh will no longer copy keys (of which there are none) from the role's files/keys directory to the destination. - -v1.4.1 -====== - -Release Summary ---------------- - -Fixes a bug in the acme_sh role that causes it to fail when specifying cron as the scheduler. - -Bugfixes --------- - -- `acme_sh` role would fail when you used cron as the scheduler. This was caused by a lack of error handling for systemd_service ansible roles, which produced errors about systemd services not existing. - -v1.4.0 -====== - -Release Summary ---------------- - -Add a role to manage acme.sh and fix a few documentation issues. - -New Roles ---------- - -- acme_sh - Manage acme.sh, a lightweight certificate managemenent tool. - -v1.3.3 -====== - -Release Summary ---------------- - -In deps_mgr, fix looping issues with the packages handler and default value issues with the repository_types handlers. - -Bugfixes --------- - -- deps_mgr - flatten the query results used to loop Manage Packages by Desired State in packages.yml. This will allow us to use query to ensure looping, but flatten the looped value down to one list. -- deps_mgr - repository_types handlers now use `default(omit)` when a parameter is not specified. Fixes issues related to type casting. - -v1.3.2 -====== - -Release Summary ---------------- - -Fixes documentation by removing duplicates, clarifying examples, and rectifying typos. - -Documentation Changes ---------------------- - -- docs(deps_mgr) - clarify examples and how the alpine repo_type is managed. -- docs(java) - fix typo in vars/main.yml comments. -- docs(java) - remove duplicate text from parameter description. - -v1.3.1 -====== - -Release Summary ---------------- - -fixed a bug that broke archive-based installs of java. - -Minor Changes -------------- - -- can now skip changing alternatives after installing an archived copy of Java. - -Bugfixes --------- - -- Missing destination directory creation step in archive extraction. -- The `java_archive_path` variable was composed using the invalid `java_archive_installers` variable instead of the `java_archives` variable. -- Typo, `ansible.builtin.splitent` was used instead of `ansible.builtin.splitext`. -- Unarchive task required remote_src = true to work. - -v1.3.0 -====== - -Release Summary ---------------- - -Added a new Java role and made minor enhancements to deps_mgr. - -Minor Changes -------------- - -- deps_mgr - alpine repositories now support copying the public key from the controller instead of downloading from a URL. -- deps_mgr - will now gather required facts if they are missing. This allows the role to work if the playbook has``gather_facts: false`` or an incompatible ``gather_subset`` setting. - -Documentation Changes ---------------------- - -- deps_mgr - updated the README.md to fix spelling and formatting errors. - -v1.2.0 -====== - -Release Summary ---------------- - -deps_mgr - Reduced duplicative labels, fixed issues with repository name, added an option to change the default package state, and added integration tests. - -Minor Changes -------------- - -- deps_mgr - added the new variable `deps_mgr_package_default_state`, which allows users to set the default state for simple packages. - -Bugfixes --------- - -- deps_mgr - all repository management types now require `name` and ensure it is mapped to a parameter. i.e., the previously documented behavior is now enforced. - -v1.1.0 -====== - -Release Summary ---------------- - -Expanded the number of supported package managers and organized steps for using each one into its own file. - -Minor Changes -------------- - -- collection - new requirement that community.general be version 8.2.0 or later to support community.general.dnf_conf_manager. -- deps_mgr - added support for apt, apt-repo, copr, and sorcery repositories/grimoires. -- deps_mgr - split repository module code into separate files for each type. Moved repo var generation to the repositories.yml file. - -Documentation Changes ---------------------- - -- deps_mgr - Added a breakdown of `dep_mgr_list` syntax. -- deps_mgr - Added a list of common repository parameters. -- deps_mgr - Added documentation for the new repository types. - -v1.0.3 -====== - -Release Summary ---------------- - -Allow the user to specify how different levels of the deps_mgr_list are merged. - -Minor Changes -------------- - -- deps_mgr - You can now specify whether to use the `lowest_only` or `precision` merge methods for packages and repositories. - -Bugfixes --------- - -- deps_mgr - Quoted the name of the 'Make Packages' task in packages.yml so the state variable value is included. - -v1.0.2 -====== - -Release Summary ---------------- - -Fix package installation issues with custom state values. - -Bugfixes --------- - -- deps_mgr - Quoted and bracketed the "state" variable. This prevents unexpected failures due to custom states. - -v1.0.1 -====== - -Release Summary ---------------- - -Update documentation collection-wide and make minor bugfixes to plugins. - -Bugfixes --------- - -- Plugins - All output strings are now run through the included to_text function to ensure proper encoding. - See: https://docs.ansible.com/ansible/latest/dev_guide/developing_plugins.html#string-encoding - -Documentation Changes ---------------------- - -- LICENSE - corrected licensing to match reality. -- Plugins - Added documentation to all plugins. -- READMEs - Added parameter definitions, expanded on dependency usage, and eliminated leftover templating cruft. - -v1.0.0 -====== diff --git a/README.md b/README.md index 1ecfa17..33ad425 100644 --- a/README.md +++ b/README.md @@ -55,10 +55,6 @@ ansible-galaxy collection install marshallwp.general:==X.Y.Z See [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more details. -## Release notes - -See the [changelog](https://github.com/marshallwp/marshallwp.general/tree/main/CHANGELOG.rst). - ## Roadmap diff --git a/galaxy.yml b/galaxy.yml index f5774d2..625fe5b 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -34,7 +34,6 @@ issues: http://github.com/marshallwp/marshallwp.general/issues # and '.git' are always filtered. Mutually exclusive with 'manifest' build_ignore: - .gitignore - - changelogs/.plugin-cache.yaml - tests/output # A dict controlling use of manifest directives used in building the collection artifact. The key 'directives' is a # list of MANIFEST.in style diff --git a/roles/acme_sh/README.md b/roles/acme_sh/README.md index 736ca06..1319911 100644 --- a/roles/acme_sh/README.md +++ b/roles/acme_sh/README.md @@ -1,5 +1,5 @@ From ec047bd38ac1257a4c817fd279848fa00efa6681 Mon Sep 17 00:00:00 2001 From: "William P. Marshall" <62070150+marshallwp@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:39:58 +0000 Subject: [PATCH 10/10] chore: update changelog --- CHANGELOG.rst | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 881b97f..7bd9480 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,6 +9,51 @@ Marshallwp General Collection Release Notes .. contents:: Topics +v1.5.5 +====== + +Release Summary +--------------- + +Fix several variable-naming and templating bugs left over from the migration to ``ansible_facts``, and correct the java role's update-alternatives tasks. + +Minor Changes +------------- + +- Continued migrating remaining magic variables (`ansible_hostname`, `ansible_distribution_release`, `ansible_architecture`, `ansible_distribution`, `ansible_system`) to their `ansible_facts` equivalents in the `acme_sh`, `deps_mgr`, and `java` roles and tests. + +Bugfixes +-------- + +- acme_sh - Fixed a variable name mismatch (`acme_sh_deps_by_family` renamed to `acme_sh_dependencies`) that prevented the role from installing its required dependencies. +- acme_sh - Corrected a typo (`regexp` to `regex`) in the Jinja test used to detect nsupdate-based DNS challenges, which previously caused a templating error. +- acme_sh - Corrected the README, which documented the old `acme_sh_account_keyfile` and `acme_sh_prehook` variable names instead of the current `acme_sh_account_key_file` and `acme_sh_pre_hook`. +- dirtree - The role now honors the documented `dirtree_owner` variable. It previously referenced an undocumented `dirtree_user` variable, so setting `dirtree_owner` had no effect. +- java - Fixed the update-alternatives tasks, which failed because the `family` parameter was being used incorrectly. They now use the `path`/`link` parameters and point at the correct `/usr/lib/jvm` and `/usr/bin/java` locations. + +Documentation Changes +--------------------- + +- Updated SPDX copyright years to 2026 and removed a leftover `changelogs/.plugin-cache.yaml` reference from `galaxy.yml`. + +v1.5.4 +====== + +Release Summary +--------------- + +Resolve ansible-lint findings by migrating magic variables to ``ansible_facts`` and remove the antsibull-changelog integration. + +Breaking Changes +----------------- + +- Removed the antsibull-changelog integration (the `changelogs/` directory and its CI workflow job), as it is no longer compatible with the ansible-dev-container. Release notes are now maintained directly in this file. + +Minor Changes +------------- + +- Migrated magic variables (`ansible_user_id`, `ansible_user_gid`, `ansible_architecture`) to their `ansible_facts` equivalents in the `acme_sh`, `deps_mgr`, `dirtree`, and `java` roles to resolve ansible-lint warnings. + v1.5.3 ======