HAPROXY: OCSP management is now conditional.
This commit is contained in:
parent
ee6087de29
commit
500f83aab8
|
@ -43,8 +43,9 @@ haproxy_admin_socket_dir: /run/haproxy
|
|||
haproxy_admin_socket_file: admin.sock
|
||||
haproxy_admin_socket: '{{ haproxy_admin_socket_dir }}/{{ haproxy_admin_socket_file }}'
|
||||
|
||||
haproxy_letsencrypt_managed: True
|
||||
haproxy_letsencrypt_managed: true
|
||||
haproxy_cert_dir: '{{ pki_dir }}/haproxy'
|
||||
haproxy_ssl_ocsp_enabled: false
|
||||
|
||||
haproxy_install_additional_pkgs: False
|
||||
haproxy_additional_pkgs:
|
||||
|
|
|
@ -1,17 +1,39 @@
|
|||
---
|
||||
- block:
|
||||
- name: Install the socat binary needed to talk to the haproxy socket
|
||||
apt: name=socat state=latest update_cache=yes cache_valid_time=3600
|
||||
- name: haproxy-ssl | Manage OCSP
|
||||
tags: ['haproxy', 'letsencrypt', 'ssl', 'ssl_ocsp']
|
||||
when: haproxy_ssl_ocsp_enabled
|
||||
block:
|
||||
- name: haproxy-ssl | Install the socat binary needed to talk to the haproxy socket
|
||||
ansible.builtin.apt:
|
||||
name: socat
|
||||
state: present
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: Install a script that refreshes the OCSP configuration and reloads haproxy if needed
|
||||
get_url: url='https://raw.githubusercontent.com/pierky/haproxy-ocsp-stapling-updater/master/hapos-upd' dest=/usr/local/bin/hapos-upd owner=root group=root mode=0755
|
||||
- name: haproxy-ssl | Install a script that refreshes the OCSP configuration and reloads haproxy if needed
|
||||
ansible.builtin.get_url:
|
||||
url: 'https://raw.githubusercontent.com/pierky/haproxy-ocsp-stapling-updater/master/hapos-upd'
|
||||
dest: /usr/local/bin/hapos-upd
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0755"
|
||||
|
||||
- name: Install a cron job that refreshes the OCSP configuration
|
||||
cron:
|
||||
- name: haproxy-ssl | Install a cron job that refreshes the OCSP configuration
|
||||
ansible.builtin.cron:
|
||||
name: "Refresh the haproxy OCSP information"
|
||||
user: root
|
||||
cron_file: haproxy_ocsp
|
||||
special_time: daily
|
||||
state: present
|
||||
job: "/usr/local/bin/hapos-upd {% if haproxy_docker_container %}-S{% endif %} --cert {{ haproxy_cert_dir }}/haproxy.pem -v {{ letsencrypt_acme_certs_dir }}/fullchain -s {% if not haproxy_docker_container %}{{ haproxy_admin_socket }}{% else %}{{ haproxy_docker_socket_dir }}/{{ haproxy_admin_socket_file }}{% endif %} -v - >/var/log/hapos-upd.log 2>&1{% if haproxy_docker_container %} ; docker kill --signal USR2 $(docker container ls --filter name=haproxy_haproxy --quiet){% endif %}"
|
||||
|
||||
tags: [ 'haproxy', 'letsencrypt', 'ssl', 'ssl_ocsp' ]
|
||||
|
||||
- name: haproxy-ssl | Disable the OCSP handling
|
||||
tags: ['haproxy', 'letsencrypt', 'ssl', 'ssl_ocsp']
|
||||
when: not haproxy_ssl_ocsp_enabled
|
||||
block:
|
||||
- name: haproxy-ssl | Remove the cron job that refreshes the OCSP configuration
|
||||
ansible.builtin.cron:
|
||||
name: "Refresh the haproxy OCSP information"
|
||||
user: root
|
||||
cron_file: haproxy_ocsp
|
||||
special_time: daily
|
||||
state: absent
|
||||
|
|
|
@ -23,8 +23,17 @@ fi
|
|||
|
||||
haproxy_socket={% if not haproxy_docker_container %}{{ haproxy_admin_socket }}{% else %}{{ haproxy_docker_socket_dir }}/{{ haproxy_admin_socket_file }}{% endif %}
|
||||
|
||||
echo "Check if the certificate must be replaced" >> $LE_LOG_DIR/haproxy.log
|
||||
cat ${LE_CERTS_DIR}/{fullchain,privkey} > ${HAPROXY_CERTFILE}.new
|
||||
cmp ${HAPROXY_CERTFILE}.new ${HAPROXY_CERTFILE} 2>/dev/null
|
||||
if [ $? -eq 0 ] ; then
|
||||
echo "The certificate is up to date" >> $LE_LOG_DIR/haproxy.log
|
||||
rm -f ${HAPROXY_CERTFILE}.new
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Building the new certificate file" >> $LE_LOG_DIR/haproxy.log
|
||||
cat ${LE_CERTS_DIR}/{fullchain,privkey} > ${HAPROXY_CERTFILE}
|
||||
/bin/mv -f ${HAPROXY_CERTFILE}.new ${HAPROXY_CERTFILE}
|
||||
chmod 440 ${HAPROXY_CERTFILE}
|
||||
chgrp haproxy ${HAPROXY_CERTFILE}
|
||||
|
||||
|
|
Loading…
Reference in New Issue