Releases: ansible-ThoTeam/nexus3-oss
jmespath requirement check
The role will now fail gracefully if jmespath is not installed on the ansible host. See #155
Refactoring groovy scripts
Breaking change: If you declared docker proxies in your config, you need to rename proxy_url
to remote_url
which is the normalized name for all proxies definitions
This is the first release starting refactoring groovy scripts with performance and feedback in mind.
Most groovy scripts have been reworked to:
- minimise the number of calls during provisionning
- provide a better feedback
The next patch releases will take the left over scripts in charge and will try to give a more valualble feedback to ansible in term of idempotence (ok / changed / error).
In this release as well: the tests on travis now launch a mock ldap server (thoteam/slapd-server-mock docker image) and integrate configuration of LDAP.
Simple yamllint change
This is a minor release simply changing the yamllint rules to enforce new line at end of file.
ldap roles, extended privileges, ssl chain and more
This release introduces a variable name refactoring: public_hostname
was renamed nexus_public_hostname
. You need to set this new variable with a correct value and remove the old variable declaration if possible. If you launch the role with you old variable declaration, it will fail with an informational error message.
This release includes several users PRs or recommendations. Thanks to @keitalbame, @gbonnefille, @marty-macfly , @nicosto, @meierw, @emanuele-leopardi-dap. @pyranja, @martypitt for their contributions.
In this release:
- Maintenance: several CI improvements/fixes among which using a recent version of molecule and ansible-lint with more good practice rules that have been fixed (#125, #133, #141)
- Fix: Don't use sudo for local actions (#126)
- Fix: Avoid exception when removing a directory that does not exists (#127)
- Feat: nexus user home dir can be changed from default
/home/nexus
(#130) - Feat: You can now configure a chain file for SSL apache reverse proxy (#131)
- Feat: You can now map roles to LDAP users (#142)
- Fix: Do not fail silently on script synchronization if rsync is not installed (partially fixed in #141 and enhanced in #143)
- Feat: Allow deployment of nexus PRO version (#144). This has been introduced for testing purpose only. We will not support any features or bugs related to deploying the PRO version
- Feat: For advanced usage: allow to customize the api base url for provisionning calls from the default https://localhost:8081 (#145)
- Feat: Allow to set more types of privileges (#146)
- Feat: Store current running nexus version in variable
nexus_version_running
for debugging and other potential uses - e.g. upgrade email notification (#147) - Feat: New special
nexus_run_provisionning
var to allow skipping all provisionning tasks (#148).
v2.2.7: Upgrade on demand and non-ssh (aka lxd) connections support
In this release:
- Passing groovy scripts to host for new script detection (before registering) now uses archive/unarchive rather than syncrhonize module. Synchronize is not supported by non-ssh connection types. So lxd connection now work. Thanks to @BaluX for the contribution (see #116, #119 and #120)
- Using automatic latest version detection (
nexus_version=""
) will now keep the currently installed version by default unless you specify-e nexus_upgrade=true
when calling your playbook. (see #117 and #118) - For contributors: you can now create a
molecule/custom_env.yml
file (git ignored) to locally set extra environments on the guest (e.g. set proxy) and callmolecule converge -s <scenario> -- -e @../custom_env.yml
. See comments in https://github.com/ansible-ThoTeam/nexus3-oss/blob/3b9e86044b5773a9cccc452d24fec630b7258bb7/molecule/default-playbook.yml#L9 for explanations (introduced in #118)
v2.2.6: Groovy scripts now use nexus log
All logging for scripts is now going to <nexus_data_dir>/log/nexus.log
and subsequent tasks/*.log
for tasks scripts.
As a consequence, the nexus_backup_log
variable has been deprecated.
Minor: the default cron expression for backup as been modified to include seconds. Not setting seconds can lead to unwanted tasks rerun/rescheduling in some situations.
v2.2.5: backup pre-rotation for limited disk space configs
If you use backups and backup rotation from this role, backup rotation happened only after the current backup is finished. This can be a problem if you have a limited disk space on some configurations.
You can now decide to pre-rotate backups (making room for new backup rather than cleaning up afterwards). See #114
v2.2.4: Change admin password after first install
Thanks to @guwi17 for reporting #113 leading to this final enhancement.
- Admin password detection (default or configured) could be clumsy on some situations (nexus-data dir being present on a mounted volume while still first installing nexus....)
- Admin password can now be changed after first installation. You need to
- Set the new password in
nexus_admin_password
in your playbook - Run your playbook with an extra var (i.e
ansible-playbook -i inventory.ini your_playbook.yml -e nexus_default_admin_password=OldPassword
. See https://github.com/ansible-ThoTeam/nexus3-oss/blob/master/README.md#change-admin-password-after-first-install
- Set the new password in
v2.2.3: new maintenance/debug command and purge var deprecation.
Following the latest support ticket I helped to resolve, I just added a new maintenance/debug variable to force groovy scripts registration.
When adding documentation, I realized that the nexus purge procedure was not described and that it was using a var not following naming convention. This was fixed as well.
Since the purge
var is now deprecated in favor of nexus_purge
, I added a deprecation test and moved all existing deprecation tests to their own include file.