a) Hello templates! Tee muotilla esimerkkitiedosto, jossa on muuttujien (esim grains) arvoja.
b) Message of the Day. Sisäänkirjautuessa näytetään päivän viesti. Lisää päivän viestiin tietoa ympäristöstä käyttäen muotteja. Sopiva tiedosto on /etc/motd.
c) Bash. Tee bashiin asetuksia Saltilla. Ensin käsin, vasta toimivaa automatisoidaan. Muista testata lopputulos käyttäjän näkökulmasta.
d) Nginx. Tee nginx-weppipalvelimeen asetuksia Saltilla. Voit esimerkiksi tehdä uuden site:n, niin että etusivu vaihtuu. Kun nginx on todennäköisesti sinulle uusi palvelin, tässä tehtävässä on siis ensin laaja osuus valita sopiva asetus nginx:lle ja saada se toimimaan käsin. Vasta toimivaa, käsin kokeiltua kannattaa automatisoida. Muista lopputuloksen testaus käyttäjän näkökulmasta.
x) Vapaaehtoinen: poista kaikki ylimääräinen motd:sta niin, että vain oma viestisi näkyy.
Tehtävä alkoi 2.5.2020 11.33
Tehtävä a)
Aloitin luomalla uuden kansion srv/salt/template ja loin tiedostot init.sls ja template.txt.
template.txt tiedostoon kirjoitin grains komennon: Käyttöjärjestelmä on {{ grains[’os’] }}
init.sls tiedostoon kirjoitin jinja komennot:
{% for file in ['moikka.txt'] %}
/srv/salt/template/ {{ file }}:
file.managed:
- source: salt://template/template.txt
- makedirs: True
- template: jinja
- context:
file: {{ file }}
{% endfor %}
Tämän jälkeen testasin ajaa tiedoston komennolla:
sudo salt-call --local state.apply template

Ja tämä meni läpi. Tämän jälkeen template kansioon oli luotu uusi txt tiedosto moikka.txt ja kun sitä tarkastelee cat komennolla niin se näytti käyttöjärjestelmän.
(En tiedä miksi tiedosto luotiin outoon muotoon ’ moikka.txt’)

Lähde: http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states
Tehtävä b)
Tein tehtävän b vähän eri tyylillä kuin ensimmäisen. Aloitin luomalla etc kansioon tiedoston motd eli message of the day. Tämän jälkeen menin /srv/salt kansioon ja loin sinne tiedoston motd. Motd tiedostoon lisäsin päivän viestiin seuraavat grainsit ja viestin:

Löysin grains tietoja sudo salt 'janne' grains.ls komennolla
Tämän jälkeen siirryin aiemmin luotuun sshd.sls tiedostoon ja lisäsin sinne kyseisen komennon, joka korvaa etc kansiossa olevan motd tiedoston.

Tämän jälkeen voimme ajaa ja kokeilla ja ajaa tehdyt muutokset sshd.sls tiedostoon.
sudo salt '*' state.apply sshd

Ja huomaan, että komento menee läpi ja tekee muutokset tiedostoon. Tämän jälkeen kokeilin kirjautua ssh yhteydellä ja katsoin näkyykö MOTD kirjautuessa sisään.

Ja sisäänkirjautuessa MOTD näkyy onnistuneesti ja sinne lisäämäni grainsit.
Lähde: https://lahdemi.wordpress.com/2018/04/15/3-viikkotehtava/
Tehtävä c)
Tehtävssä c päätin kokeilla muuttaa bashilla niin, että nykyinen kellonaika näkyy promptissa. Aloitin kokeilemalla aluksi /home/janne/.bashcr tiedostossa koodia jonka löysin netistä, joka muuttaa promptin asetuksia ja lisää siihen kellon ajan:
export PS1="[\\u@\\H \\W \\@]\\$ "
Tämän jälkeen poistin tai lisäsin # merkin koodin eteen, jotta pystyn tekemään muutokset saltilla.
Aloitin luomalla /srv/salt kansioon bash kansion
sudo mkdir /srv/salt/bash
bash kansioon loin init.sls tiedoston ja kello nimisen tiedoston, jonne laitettiin kyseinen koodi, joka tekee muutoksia promptiin.


Käytin file.appendia, jotta saamme lisättyä kello tiedoston koodin jo olemassa olevaan .bashrc tiedostoon ilman, että kyseinen tiedosto korvattaisiin kello nimisellä tiedostolla.
Tämän jälkeen ajoin ja katsoin, että kaikki toimii.

Sitten oli vielä kokeilu eli käynnistin terminaalin uudelleen ja katsoin, että muutokset ovat tulleet voimaan ja kellonaika näkyy promptissa.

Lähde: https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/
tehtävä d)
Aloitin tehtävän tekemisen poistamalla apache2 webpalvelimen, koska nginx on myös webbi palvelin ja kävin myös poistamassa /var/www/html kansiosta index.html tiedoston, jotta nginx saa sinne oman default sivun.
Asennuksen jälkeen kävin avaamassa HTTP portin komennolla
sudo ufw allow 'Nginx HTTP'
Ja tämän jälkeen kävin katsomassa onko status aktiivinen
sudo ufw status

Kävin myös katsomassa, että system on aktiivinen.
Kävin kokeilemassa http://oma-ip ja pääsin nginx tervetuloa sivulle eli se toimii

Kun totesimme sivun toimivan voimme lähteä tekemään muutoksia saltilla. Luon /srv/salt kansiion nginx kansion sudo mkdir nginx ja sinne tiedostot default-index.html ja init.sls
default-index.html tiedostoon kirjoitin mitä haluan, että webbi sivullani näkyy.

init.sls tiedostoon lisäsimme kyseisen tekstin, jotta teksti näkyy webbisivulla.

ja ajoimme tämän
sudo salt '*' state.apply nginx ja kaikki meni läpi kuten pitikin. Testin jälkeen voimme päivittää sivun ja katsoa tuleeko default-index.html tiedostoon tekemämme muutokset voimaan.

Ja kirjoittamani tekstit tuli näkyviin webbisivulle, joten voimme olettaa että tämä tehtävä on suoritettu ja tehty oikein.
Tehtävä loppui 3.5.2020 kello 16.09
Lähteet:
http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states
https://lahdemi.wordpress.com/2018/04/15/3-viikkotehtava/
https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/