forked from ISTI-ansible-roles/ansible-roles
Install a letsencrypt acmetool hook script when mongodb's certificates are managed by letsencrypt. See https://support.d4science.org/issues/12448
This commit is contained in:
parent
4a127ac136
commit
f993dee88c
|
@ -1,2 +1,5 @@
|
||||||
---
|
---
|
||||||
- import_tasks: mongodb.yml
|
- import_tasks: mongodb.yml
|
||||||
|
- import_tasks: mongodb-letsencrypt-acmetool.yml
|
||||||
|
when: mongodb_ssl_letsencrypt_managed
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
- block:
|
||||||
|
- name: Create the acme hooks directory if it does not yet exist
|
||||||
|
file: dest={{ letsencrypt_acme_services_scripts_dir }} state=directory owner=root group=root
|
||||||
|
|
||||||
|
- name: Install a script that fix the letsencrypt certificate for mongodb and then reload the service
|
||||||
|
template: src=mongodb-letsencrypt-acmetool.sh dest={{ letsencrypt_acme_services_scripts_dir }}/mongodb owner=root group=root mode=4555
|
||||||
|
|
||||||
|
when:
|
||||||
|
- mongodb_ssl_letsencrypt_managed
|
||||||
|
- letsencrypt_acme_install
|
||||||
|
tags: [ 'mongodb', 'letsencrypt', 'mongodb_letsencrypt' ]
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
LE_CERTS_DIR=/etc/letsencrypt/live/$HOSTNAME
|
||||||
|
LE_LOG_DIR=/var/log/letsencrypt
|
||||||
|
MONGODB_CERTDIR=/etc/pki/mongodb
|
||||||
|
MONGODB_CERTFILE=$MONGODB_CERTDIR/mongodb.pem
|
||||||
|
DATE=$( date )
|
||||||
|
echo "$DATE" >> $LE_LOG_DIR/mongodb.log
|
||||||
|
|
||||||
|
if [ -f /etc/default/letsencrypt ] ; then
|
||||||
|
. /etc/default/letsencrypt
|
||||||
|
else
|
||||||
|
echo "No letsencrypt default file" >> $LE_LOG_DIR/mongodb.log
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ ! -d $MONGODB_CERTDIR ] && mkdir $MONGODB_CERTDIR
|
||||||
|
|
||||||
|
echo "Building the new certificate file" >> $LE_LOG_DIR/mongodb.log
|
||||||
|
cat ${LE_CERTS_DIR}/{cert,privkey} > ${MONGODB_CERTFILE}
|
||||||
|
chmod 440 ${MONGODB_CERTFILE}
|
||||||
|
chgrp mongodb ${MONGODB_CERTFILE}
|
||||||
|
|
||||||
|
{% if mongodb_ssl_enabled %}
|
||||||
|
echo "Reload the mongodb service" >> $LE_LOG_DIR/mongodb.log
|
||||||
|
service mongodb stop >/dev/null 2>&1
|
||||||
|
sleep 10
|
||||||
|
service mongodb start >/dev/null 2>&1
|
||||||
|
{% endif %}
|
||||||
|
echo "Done." >> $LE_LOG_DIR/mongodb.log
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
Loading…
Reference in New Issue