diff --git a/defaults/main.yml b/defaults/main.yml index 46ab982..f9e27e2 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -8,6 +8,10 @@ haproxy_pkg_state: present haproxy_enabled: True haproxy_loglevel: info haproxy_k_bind_non_local_ip: True +haproxy_install_dataplane_api: True +haproxy_dataplane_api_version: '2.2.0' +haproxy_dataplane_api_download_url: 'https://github.com/haproxytech/dataplaneapi/releases/download/v{{ haproxy_dataplane_api_version }}/dataplaneapi_{{ haproxy_dataplane_api_version }}_Linux_x86_64.tar.gz' + haproxy_docker_container: False haproxy_docker_version: '{{ haproxy_version }}.6' haproxy_docker_image: 'haproxytech/haproxy-debian:{{ haproxy_docker_version }}' diff --git a/tasks/haproxy-dataplaneapi.yml b/tasks/haproxy-dataplaneapi.yml new file mode 100644 index 0000000..b2751f6 --- /dev/null +++ b/tasks/haproxy-dataplaneapi.yml @@ -0,0 +1,20 @@ +--- +- name: Manage the dataplaneapi executable + block: + - name: Create the dataplaneapi dest directory + file: + dest: '/opt/haproxy-api' + state: directory + + - name: Download and unpack the dataplaneapi executable + unarchive: + remote_src: yes + src: '{{ haproxy_dataplane_api_download_url }}' + dest: '/opt/haproxy-api' + mode: '0755' + owner: root + group: root + args: + creates: '/opt/haproxy-api/build/dataplaneapi' + + tags: [ 'haproxy', 'haproxy_dataplane', 'haproxy_dataplaneapi' ] diff --git a/tasks/main.yml b/tasks/main.yml index 1a6e68f..8926c13 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -2,6 +2,10 @@ - import_tasks: haproxy-sysctl.yml - import_tasks: haproxy-service.yml when: not haproxy_docker_container +- import_tasks: haproxy-dataplaneapi.yml + when: + - not haproxy_docker_container + - haproxy_install_dataplane_api - import_tasks: haproxy-letsencrypt-acme-sh.yml when: - haproxy_letsencrypt_managed