forked from hashicorp/puppet-bootstrap
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathservice.sh
More file actions
executable file
·47 lines (42 loc) · 1.44 KB
/
service.sh
File metadata and controls
executable file
·47 lines (42 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env bash
#
# Start the Puppet Service or Cron
#
set -e
PUPPET_ENVIRONMENT=${PUPPET_ENVIRONMENT:-"test"}
PUPPET_CRON_MIN=${PUPPET_CRON_MIN:-"0"}
if [[ "${PUPPET_COLLECTION}" == "" ]]; then
PCONF="/etc/puppet/puppet.conf"
PMANIFESTS="/etc/puppet/manifests"
puppet_cmd='/usr/bin/puppet'
logdest='/var/log/puppet/puppet.log'
else
PCONF="/etc/puppetlabs/puppet/puppet.conf"
PMANIFESTS="/etc/puppetlabs/code/environments/${PUPPET_ENVIRONMENT}/manifests"
puppet_cmd='/opt/puppetlabs/bin/puppet'
logdest='/var/log/puppetlabs/pxp-agent/puppet.log'
fi
case "${PUPPET_ENVIRONMENT}" in
locdev|loctst|locprd|vagrant|all)
PUPPET_CRON_CMD=${PUPPET_CRON_CMD:-"${puppet_cmd} apply --config ${PCONF} --logdest ${logdest} ${PMANIFESTS}"}
;;
*)
PUPPET_CRON_CMD=${PUPPET_CRON_CMD:-"${puppet_cmd} agent --config ${PCONF} --onetime --no-daemonize"}
;;
esac
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root." >&2
exit 1
fi
# Start the Puppet Agent Service
# echo "Starting Puppet Agent..."
# puppet resource service puppet ensure=running enable=true
# Create a Cron Job Instead
echo "Starting Puppet Cron..."
if [[ "${PUPPET_CRON_MIN}" == "undef" ]]; then
puppet resource cron puppet ensure=present command="${PUPPET_CRON_CMD}" user=root
else
puppet resource cron puppet ensure=present command="${PUPPET_CRON_CMD}" user=root minute="${PUPPET_CRON_MIN}"
fi
# Force a run to generate ssl sign request
# puppet agent --test || true