#!/usr/bin/env bash MAILTO=${MAILTO:-markus@nordu.net} CROND_FILE=/etc/cron.d/cf-replace SSH_KEYS_PATH=/usr/local/bin/ssh-keys.sh SSH_URL="https://code.nordu.net/?p=cf-replace.git;a=blob_plain;f=ssh-keys.sh;hb=HEAD" CROND_URL="https://code.nordu.net/?p=cf-replace.git;a=blob_plain;f=cf-replace;hb=HEAD" if ! grep -q -i ubuntu /etc/lsb-release; then echo "Not installing, this is not an Ubuntu machine" exit 1 fi if [ -d /var/cache/cosmos/ ]; then echo "Not installing, machine is running cosmos" exit 1 fi if ! which ldapsearch >> /dev/null; then if ! apt-get install -y -qq ldap-utils >> /dev/null; then echo "Failed to install ldap-utils" exit 1 fi if ! ldapsearch -o nettimeout=2 -o ldif-wrap=no -LLL -x -H "ldaps://ldap.nordu.net" -b "ou=people,dc=nordu,dc=net" "(&(employeeType=employee)(memberof=cn=ndn-sysadmin,ou=groups,dc=nordu,dc=net)(sshPublicKey=*)(uid=markus))" uid >> /dev/null; then echo "Failed to perform ldapsearch" exit 1 fi fi if ! curl -s --show-error "$SSH_URL" > "$SSH_KEYS_PATH"; then echo "Failed to get ssh-keys.sh file" exit 1 fi chmod +x "$SSH_KEYS_PATH" if ! curl -s --show-error "$CROND_URL" > "$CROND_FILE"; then echo "Failed to get cf-replace cron file" test -f "$CROND_FILE" && rm "$CROND_FILE" exit 1 fi sed -i -e "/MAILTO/ s/markus@nordu.net/$MAILTO/" "$CROND_FILE" echo "cf-replace has been installed to $CROND_FILE"