|
100 | 100 | pacman-key --populate archlinux |
101 | 101 | pacman -Syy |
102 | 102 | pacman -S gnupg archlinux-keyring --noconfirm |
103 | | - pacman -Su salt cloud-utils e2fsprogs --noconfirm --overwrite /usr/bin/growpart |
| 103 | + pacman -Su salt cloud-utils e2fsprogs qemu-guest-agent git --noconfirm --overwrite /usr/bin/growpart |
104 | 104 | else |
105 | 105 | apt-get update --allow-releaseinfo-change |
106 | 106 | apt-get install curl -y |
|
127 | 127 | fi |
128 | 128 | |
129 | 129 | apt-get update |
130 | | - apt-get install cloud-guest-utils e2fsprogs salt-minion -y |
| 130 | + apt-get install cloud-guest-utils e2fsprogs salt-minion salt-master qemu-guest-agent git -y |
131 | 131 | fi |
132 | 132 | |
133 | 133 | growpart /dev/vda 1 || /bin/true |
134 | 134 | resize2fs /dev/vda1 || /bin/true |
| 135 | +
|
| 136 | + # Configure salt-minion |
135 | 137 | echo "master: {vm_saltmaster}" > /etc/salt/minion |
136 | 138 | echo "tcp_keepalive: True" >> /etc/salt/minion |
137 | 139 | echo "tcp_keepalive_idle: 30" >> /etc/salt/minion |
|
147 | 149 | echo "hypervisor: {hypervisor}" >> /etc/salt/grains |
148 | 150 | systemctl stop salt-minion || /bin/true |
149 | 151 | systemctl enable salt-minion || /bin/true |
| 152 | +
|
| 153 | +
|
| 154 | + # Configure salt-master (in case no central master is used) |
| 155 | + rm -rf /etc/homelabmanager |
| 156 | + (cd /etc/; git clone https://github.com/vdloo/homelabmanager) |
| 157 | + if [ ! -L /srv/salt ]; then ln -s /etc/homelabmanager/saltstack/salt /srv/salt; fi |
| 158 | + if [ ! -L /srv/pillar ]; then ln -s /etc/homelabmanager/saltstack/pillar /srv/pillar; fi |
| 159 | + if [ ! -L /srv/reactor ]; then ln -s /etc/homelabmanager/saltstack/reactor /srv/reactor; fi |
| 160 | + # Obviously never configure a Saltmaster like this in any real environment |
| 161 | + # We only bind on localhost, no external can connect to this salt-master |
| 162 | + echo "interface: 127.0.0.1" >> /etc/salt/master |
| 163 | + echo "open_mode: True" > /etc/salt/master |
| 164 | + echo "auto_accept: True" >> /etc/salt/master |
| 165 | + echo "reactor:" >> /etc/salt/master |
| 166 | + echo " - 'salt/minion/*/start':" >> /etc/salt/master |
| 167 | + echo " - /srv/reactor/salt.sls" >> /etc/salt/master |
| 168 | + systemctl stop salt-master || /bin/true |
| 169 | + systemctl enable salt-master || /bin/true |
150 | 170 | rm -f /etc/salt/minion_id |
151 | 171 | |
152 | 172 | # Delete the cloud-config config and reboot |
|
0 commit comments