#! /bin/bash set -e QUAYPATH=${QUAYPATH:-"."} QUAYCONF=${QUAYCONF:-"$QUAYPATH/conf"} QUAYCONFIG=${QUAYCONFIG:-"$QUAYCONF/stack"} CERTDIR=${CERTDIR:-"$QUAYCONFIG/extra_ca_certs"} # If we're running under kube, the previous script (02_get_kube_certs.sh) will put the certs in a different location if [[ "$KUBERNETES_SERVICE_HOST" != "" ]];then CERTDIR=${KUBE_EXTRA_CA_CERTDIR:-"$QUAYPATH/conf/kube_extra_certs"} fi cd ${QUAYDIR:-"/quay-registry"} # Add the custom LDAP certificate if [ -e $QUAYCONFIG/ldap.crt ] then cp $QUAYCONFIG/ldap.crt /usr/local/share/ca-certificates/ldap.crt fi # Add extra trusted certificates (as a directory) if [ -d $CERTDIR ]; then if test "$(ls -A "$CERTDIR")"; then echo "Installing extra certificates found in $CERTDIR directory" cp $CERTDIR/* /usr/local/share/ca-certificates/ cat $CERTDIR/* >> venv/lib/python2.7/site-packages/requests/cacert.pem cat $CERTDIR/* >> venv/lib/python2.7/site-packages/certifi/cacert.pem fi fi # Add extra trusted certificates (as a file) if [ -f $CERTDIR ]; then echo "Installing extra certificates found in $CERTDIR file" csplit -z -f /usr/local/share/ca-certificates/extra-ca- $CERTDIR '/-----BEGIN CERTIFICATE-----/' '{*}' cat $CERTDIR >> venv/lib/python2.7/site-packages/requests/cacert.pem cat $CERTDIR >> venv/lib/python2.7/site-packages/certifi/cacert.pem fi # Add extra trusted certificates (prefixed) for f in $(find $QUAYCONFIG/ -maxdepth 1 -type f -name "extra_ca*") do echo "Installing extra cert $f" cp "$f" /usr/local/share/ca-certificates/ cat "$f" >> venv/lib/python2.7/site-packages/requests/cacert.pem cat "$f" >> venv/lib/python2.7/site-packages/certifi/cacert.pem done # Update all CA certificates. update-ca-certificates