diff --git a/defaults/main.yml b/defaults/main.yml index befdfdc..81f2517 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -117,9 +117,8 @@ haproxy_ssl_letsencrypt_acl: haproxy_hatop_download_url: "https://github.com/jhunt/hatop/archive/v0.8.0.tar.gz" haproxy_hatop_download_checksum: "sha256:bcdab1664358ec83027957df11bbeb322df1a96d414a3ccc4e211532b82c4ad2" -# Where the extra package download is executed from. -# Options are ['deployment-host', 'target-host'] -haproxy_hatop_downloader: "deployment-host" +# Install hatop +haproxy_hatop_install: true # The location where the extra packages are downloaded to haproxy_hatop_download_path: "/opt/cache/files" diff --git a/releasenotes/notes/haproxy-hatop-4d6525a52f93a69e.yaml b/releasenotes/notes/haproxy-hatop-4d6525a52f93a69e.yaml new file mode 100644 index 0000000..c853f8d --- /dev/null +++ b/releasenotes/notes/haproxy-hatop-4d6525a52f93a69e.yaml @@ -0,0 +1,10 @@ +--- +upgrade: + - | + Variable ``haproxy_hatop_downloader`` has been removed, Deployers + supposed to use ``haproxy_hatop_download_url`` override if needed + to install in deployments with limited internet connection. +features: + - | + Added new variable ``haproxy_hatop_install``, that allows to conditionally + enable or disable hatop installation. diff --git a/tasks/haproxy_install.yml b/tasks/haproxy_install.yml index 4a78d43..a7fdd53 100644 --- a/tasks/haproxy_install.yml +++ b/tasks/haproxy_install.yml @@ -24,37 +24,39 @@ retries: 5 delay: 2 -- name: Ensure haproxy_hatop_download_path exists - file: - path: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename | replace('.tar.gz', '') }}" - state: directory - delegate_to: "{{ (haproxy_hatop_downloader == 'deployment-host') | ternary('localhost', inventory_hostname) }}" +- name: Install HATop Utility + block: + - name: Ensure haproxy_hatop_download_path exists on haproxy + file: + path: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename | replace('.tar.gz', '') }}" + state: directory -- name: Download extra package - get_url: - url: "{{ haproxy_hatop_download_url }}" - dest: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename }}" - validate_certs: "{{ haproxy_hatop_download_validate_certs }}" - checksum: "{{ haproxy_hatop_download_checksum }}" - register: fetch_url - until: fetch_url is success - retries: 3 - delay: 10 - delegate_to: "{{ (haproxy_hatop_downloader == 'deployment-host') | ternary('localhost', inventory_hostname) }}" + - name: Download hatop package + get_url: + url: "{{ haproxy_hatop_download_url }}" + dest: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename }}" + validate_certs: "{{ haproxy_hatop_download_validate_certs }}" + checksum: "{{ haproxy_hatop_download_checksum }}" + register: fetch_url + until: fetch_url is success + retries: 3 + delay: 10 -- name: Unarchive HATop - unarchive: - src: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename }}" - remote_src: "{{ (haproxy_hatop_downloader == 'deployment-host') | ternary('no', 'yes') }}" - dest: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename | replace('.tar.gz', '') }}" - extra_opts: - - --strip-components=1 + - name: Unarchive HATop + unarchive: + src: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename }}" + dest: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename | replace('.tar.gz', '') }}" + remote_src: yes + extra_opts: + - --strip-components=1 -- name: Install HATop - command: "install -m 755 bin/hatop /usr/local/bin" - args: - chdir: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename | replace('.tar.gz', '') }}" - creates: "/usr/local/bin/hatop" + - name: Copy HATop binary + copy: + src: "{{ haproxy_hatop_download_path }}/{{ haproxy_hatop_download_url | basename | replace('.tar.gz', '') }}/bin/hatop" + dest: /usr/local/bin/hatop + mode: 0755 + remote_src: yes + when: haproxy_hatop_install | bool - include_tasks: haproxy_apparmor.yml when: ansible_pkg_mgr == 'zypper'