#!/bin/bash

set -e
{% set ns = namespace(tls_dir=None) %}  
{% for machine in machined.machines %}
{% if not ns.tls_dir %}
{% set nor_machine = machine|normalize_family %}
{% set ns.tls_dir = machined['machine_' + nor_machine]['tls_dir_' + nor_machine] %}
{% endif %}
{% endfor %}
{% if ns.tls_dir %}
{% set dst_dir = machined['machine_' + rougail_variable|normalize_family]['config_dir_' + rougail_variable|normalize_family] %}
{% set src_dir = ns.tls_dir + "/machines/" + rougail_variable %}
{% if 'certificates' in extra_variables and rougail_variable in extra_variables['certificates'] %}
if [ -d "{{ dst_dir }}" ] && [ -d "{{ src_dir }}" ]; then
{% for certificate in extra_variables['certificates'][rougail_variable] %}
{% set files = [certificate.name] %}
{% if certificate.provider == 'autosigne' %}
{{ files.append(certificate.authority) }}
{% endif %}
{% if 'private' in certificate %}
{{ files.append(certificate.private) }}
{% endif %}
{% for file in files %}
    src_file="{{ src_dir }}{{ file}}"
    dst_file="{{dst_dir}}{{ file }}"
    dst_dir=$(dirname "$dst_file")
    mkdir -p "$dst_dir"
# ne fonctionne pas avec revprox :/
#    a=1
#    while [ ! -f "$src_file" ]; do
#        a=$((a+1));
#        if [ $a = 120 ]; then
#            break
#        fi 
#        sleep 1
#    done
    cp -f "$src_file" "$dst_file"
    chown root: "$dst_file"
    chmod 700 "$dst_file"

{% endfor %}
{% endfor %}
fi
{% endif %}
{% endif %}
exit 0