49 lines
1.7 KiB
Bash
Executable file
49 lines
1.7 KiB
Bash
Executable file
#! /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
|