123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!/bin/sh
- HERE=$(dirname $0)
- TOP=$(cd $HERE/.. ; pwd)
- OUTPUT=$HERE/output
- GZ_SMF=/opt/custom/smf
- MASTER=$1
- # process the manifests
- mkdir $OUTPUT
- for file in $HERE/*.xml
- do
- sed "s#SALT_PREFIX#$TOP#" <$file >$OUTPUT/$(basename $file)
- done
- # detect global or non-global zone
- if [[ $(zonename) == global ]]
- then
- # we assume global zones are always minions only
- # and we assume that they want to have the service come back on reboot
- mkdir -p $GZ_SMF
- sed 's/false/true/' < $OUTPUT/salt-minion.xml > $GZ_SMF/salt-minion.xml
- svccfg import $OUTPUT/salt-minion.xml
- echo "Minion is set to be launched at boot"
- else
- # non global zones get all three services imported
- # and the user can enable whichever ones they want
- for file in $OUTPUT/*.xml
- do
- svccfg import $file
- done
- echo "To enable master service, invoke either of"
- echo " svcadm enable salt-master"
- echo " svcadm enable salt-syndic"
- echo "as appropriate"
- fi
- # if the user provided the name of the master as an argument
- # configure a minimal minion file and start the minion
- if [[ -n $MASTER ]]
- then
- [[ -f $TOP/etc/minion.example ]] || mv $TOP/etc/minion{,.example}
- echo "master: $MASTER" > $TOP/etc/minion
- echo "Minion configured to talk to master $MASTER. Enabling minion now."
- svcadm enable salt-minion
- else
- echo "To enable minion service, invoke:"
- echo " svcadm enable salt-minion"
- fi
- rm -rf $OUTPUT
|