File: //usr/local/bin/pup
#!/usr/bin/bash
# Detect if running as root and set sudo prefix accordingly
if [[ $EUID -eq 0 ]]; then
SUDO=""
else
SUDO="sudo"
fi
NODE_HOSTNAME=$(hostname --long)
while getopts e:n:i flag
do
case "${flag}" in
e) PUPPET_ENVIRONMENT=${OPTARG}
if [ -z ${PUPPET_ENVIRONMENT+x} ]; then
echo "No puppet environment flag (-e) given - not changing";
else
echo "Setting Puppet environment on ${NODE_HOSTNAME} to ${PUPPET_ENVIRONMENT}";
$SUDO puppet config set environment $PUPPET_ENVIRONMENT --section agent
fi
;;
n) PUPPET_NOOP=${OPTARG}
if [ -z ${PUPPET_NOOP+x} ]; then
echo "No puppet noop flag (-n) given - not changing";
else
echo "Setting Puppet noop on ${NODE_HOSTNAME} to ${PUPPET_NOOP}";
$SUDO puppet config set noop $PUPPET_NOOP --section agent
$SUDO sed -i 's/0/1/g' /srv/monitoring/node_exporter/text_collections/node_puppet_noop.prom
fi
;;
i) echo "Current puppet agent configuration:";
echo "environment =$(grep 'environment' /etc/puppet/puppet.conf| cut -d= -f2)";
NOOP_VALUE=$(grep 'noop' /etc/puppet/puppet.conf| cut -d= -f2)
echo "noop status = ${NOOP_VALUE:-false}";
echo "server role = $(cat /etc/fh_server_role)";
;;
esac
done