Tässä raportissa tutustun tiedostojen ja tilojen luomiseen orjakoneelle masterista käsin. Raportti on osana Tero Karvisen Palvelinten hallinta-kurssia.
Raportin ennakkotietoina aiempi raporttini 1. Hei Maailma, verkon yli ja idempotenssi, jossa tehdään saltstackin asennus ja master-minion yhteyden luonti Xubuntu 18.04 – virtuaalikoneella.
a) Muotilla tiedostonluonti, jossa muuttujan arvoja
Loin oikean tiedostopolun sudo mkdir -p /srv/salt/
muotti
Polkuun loin .sls-tiedoston sudoedit init.sls

Täydensin .sls-tiedostoon rivit, jotka viittaavat samaan kansioon luotavaan hellomarkus.txt-tiedostoon.
sudoedit hellomarkus.txt

Lisäsin tiedostoon rivit, jotka noutavat grains-tietoja tietokoneesta. Tässä tapauksessa kokonaismuistin sekä cpu, että gpu yksiköiden määrät.
Ajetaan masterilla tila sudo salt '*' state.apply muotti

Tila ajettiin onnistuneesti.
Lopputulos:

b) Message of the Day
Luodaan Ubuntulle kirjautuessa näytettävä päivän viesti. Testasin aluksi näkymää kirjautumalla:

Uusi kansio mkdir /srv/salt/templatemotd
Loin kansioon init.sls-tiedoston, jonne lisäsin päivän sanan. Käytin aiempia grains-tietoja:

Loin samaan kansioon motd-tiedoston:

Ajoin tilan sudo salt '*' state.apply templatemotd
onnistuneesti, jonka jälkeen testasin lopputulosta kirjautumalla:

Uusi päivän sana löytyy nyt perästä.
c) Bash
Muokataan bashia ensin käsin ja sitten saltilla. Tallensin nykyiset bash-asetukset DEFAULT=$PS1
, jotta voin vaivatta palata normaaliin myöhemmin.
Muokataan bashia komennolla PS1="[\033[7;32m]\u@\h:\w$ "
ja katsotaan tulokset:

Kaikki muuttui vihreäksi. Palataan normaaliin PS1=$DEFAULT
Seuraavaksi teen samat muutokset saltilla. Uusi kansio mkdir /srv/salt/bashtemplate/
, jonne tiedosto sudoedit init.sls
.

sudoedit /srv/salt/bashtemplate/bashrc

kopioin tiedostoon .bashrc-tiedoston kohteesta /home/*käyttäjä*/.bashrc ja muutin korostettuja rivejä. Ajoin seuraavaksi tilan sudo salt '*' state.apply bashtemplate

Tila ajettiin onnistuneesti ja tarkistin tuloksen uudesta terminaalista. Pääsin takaisin normaaliin kopioimalla alkuperäisen rivin tiedostoon ja ajamalla tilan uudestaan.
d) Nginx
Tehdään saltilla muutoksia Nginx-webpalvelimeen. Asennetaan palvelin ensin käsin, jonka jälkeen automatisoidaan etusivu saltilla.
sudo apt-get install nginx
sudo ufw allow 'Nginx HTTP'
Katsotaan localhost selaimelta

Olen tutustunut Apache2-palvelimeen ja ilokseni huomasin Nginx-palvelimen konfiguroinnin olevan samankaltainen. /etc/nginx/sites-available/default-tiedostosta näin, että Nginx oletussivua voi muokasta tiedostosta /var/www/html/index.html.
Tuttuun tapaan uusi kansio mkdir /srv/salt/nginx
. Loin kansioon init.sls-tiedoston.

Loin samaan kansioon index.html-tiedoston: Hello Markus! This is Nginx!
Ajetaan tila ja katsotaan localhostista lopputulos:


Lähteet:
https://docs.saltstack.com/en/latest/topics/grains/
https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04