|
|
- #!/bin/sh
-
- # Author: Pekka Helenius (~Fincer), 2018
- #
- # - This script creates two different text strings for two minions: minion_1 & minion_2
- # - This script is meant to be run on Salt master
- #
- # - This script creates the following files on master:
- # /srv/pillar/top.sls
- # /srv/pillar/minion-1.sls
- # /srv/pillar/minion-2.sls
- # /srv/salt/files/pillarfile
- # /srv/salt/myfirstpillar.sls
-
- if [ $(id -u) -eq 0 ]; then
- mkdir -p /srv/pillar
-
- tee /srv/pillar/top.sls <<PILLAR_TOP
- base:
- 'minion_1':
- - minion-1
- 'minion_2':
- - minion-2
- PILLAR_TOP
-
- tee /srv/pillar/minion-1.sls <<MINION_1_DATA
- test_variable: 'secret like coffee shop wants to say hello to the world'
- MINION_1_DATA
-
- tee /srv/pillar/minion-2.sls <<MINION_2_DATA
- test_variable: 'hidden miniart: superman vs. hulk figures'
- MINION_2_DATA
-
- mkdir -p /srv/salt/files
-
- tee /srv/salt/files/pillarfile << PILLARFILE_CONTENT
- This is my pillarfile which has the following content:
-
- {{ pillar['test_variable'] }}
- PILLARFILE_CONTENT
-
- tee /srv/salt/myfirstpillar.sls <<GENERIC_PILLAR
- pillar_file:
- file.managed:
- - user: 1000
- - group: 1000
- - name: /tmp/pillarfile_for_{{ grains['id'] }}
- - source: salt://files/pillarfile
- - makedirs: True
- - template: jinja
-
- GENERIC_PILLAR
-
- if [ ! -f /srv/salt/myfirstpillar.sls ] || \
- [ ! -f /srv/salt/files/pillarfile ] || \
- [ ! -f /srv/pillar/top.sls ]; then
- echo "Salt files missing. Aborting."
- exit 1
- else
- salt 'minion_*' test.ping
- if [ $? -eq 0 ]; then
- echo -e "\e[1m\n**Salt -- pillar.items output**\n\e[0m"
- salt 'minion_*' pillar.items
- echo -e "\e[1m\n**Salt -- state.apply output**\n\e[0m"
- salt 'minion_*' state.apply myfirstpillar
- echo -e "\e[1m\n**Salt -- get file output with head command**\n\e[0m"
- salt 'minion_*' cmd.run 'head /tmp/pillarfile_for*'
- fi
-
- fi
-
- else
- echo "Run this script as root (or with sudo)"
- fi
|