#!/bin/bash # check for keytool is installed keytool=$(which keytool) # check if sslmate is installed if [ ! -x /usr/bin/sslmate ]; then echo "Missing sslmate package" exit 1 fi if [ -n "$SSLMATE_API_KEY_FILE" ]; then echo "Attemping to use sslmate api key secret" if [ -f "$SSLMATE_API_KEY_FILE" ]; then echo "Secret found. Setting as SSLMATE_API_KEY" SSLMATE_API_KEY="$(< "$SSLMATE_API_KEY_FILE")" fi fi if [[ -z "$SSLMATE_API_KEY" ]]; then echo "Missing sslmate api key from environment. Variable name must be SSLMATE_API_KEY" exit 1 fi if [ ! -d /etc/sslmate/keys ]; then mkdir -p /etc/sslmate/keys fi if [ ! -d /etc/sslmate/certs ]; then mkdir -p /etc/sslmate/certs fi # COPY secret keys to keys dir # NOTE: /etc/sslmate needs to be a named volume so key is not stored in image for FILE in /run/secrets/*domain_*; do if [[ ! -f ${FILE} ]]; then echo "Cannot find secrets"; exit 1; fi FNAME=${FILE##*_} echo "Secret file $FILE found. Copying to /etc/sslmate/keys/${FNAME}" cp "${FILE}" "/etc/sslmate/keys/${FNAME}" done if [ ! -f /etc/sslmate.conf ]; then cat > /etc/sslmate.conf <> /etc/sslmate.conf <> /etc/sslmate.conf < r ? r : sleeptime )) else sleeptime=$r fi modulus=$(( modulus*2 )) modulus=$(( modulus > 32768 ? 256 : modulus )) else r=$((timeleft*9/10)) if [[ -v $sleeptime ]]; then sleeptime=$(( sleeptime > r ? r : sleeptime )) else sleeptime=$r fi modulus=4 fi done if [[ -z $sleeptime ]]; then echo "sleeptime error" exit 1 else echo "- sleeping for $sleeptime seconds" sleep $sleeptime fi done exit 0