b) Oma moduli (iso tehtävä). Ratkaise jokin oikean elämän tai keksitty tarve omilla tiloilla/moduleilla. Voit käyttää Salttia tai muuta valitsemaasi modernia keskitetyn hallinnan ohjelmaa. Esitä tulos viimeisellä opetuskerralla, 5-10 min (keskiviikon ryhmä). Live demo olisi kiva. Raportoi modulisi tarkoitus, koodi ja testit.
Lähde: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/
Tehtävässä käytetyn koneen speksit

Viimeisenä tehtävänä meillä oli rakentaa oma moduuli tai tila. Päädyin pohdiskelun jälkeen tekemään itselleni tilan, jolla pystyn asentamaan haluamani ohjelmat valmiiksi konffattuna, jos ne vaativat conffausta uudelle virtuaali koneelleni ja ainut mitä pitää tehdä on lisätä uusi kone minioniksi ja sitten vain ajaa sen state.highstate:lla. Tilan pitäisi toimi kaikilla Debian perheen distroilla mm. Kali, Ubuntu yms. Tämä säästää hurjasti aikaa vs jos alkaisin asentamaan kaikki ohjelmat uudelleen, jos lataa uuden orjan.
Myös yksi projektini ratkaisusta oli ladata myös sellaisia ohjelmia, jotka vaativat repositoryn. Ratkaisussani käytän tilaa, joka hakee automaattisesti repositoryn minionilleni, jotta ohjelman pystyy lataamaan.
Ohjelmat, jotka haluan aina ladata uudelle koneelleni ovat:
Atom #code editor
Apache2 #webserver
Stacer #System optimizer ja monitoring työkalu
Git #Jotta voin tarvittaessa viedä töitäni githubiin
SSH #voin tarvittaessa ottaa yhteyttä muihin koneisiin
Chromium #chromium on avoimeen lähdekoodiin perustuva Google Chrome ja pidän siitä enemmän kuin firefoxista.
Ja yleensä haluan tehdä muutoksia myös bashiin ja terminaliin.
Aloitin luomalla top.sls tiedoston /srv/salt kansioon ja näytän lopussa miltä se tulee näyttämään kokonaisuudessaan kun olen asentanut ohjelmat.
Apache2
Apache2 ja loin /srv/salt kansiion Apache2 kansion. Apache2 kansiion loin 2 tiedostoa. Tiedoston, joka näkyy webissä ja init.sls tiedoston, jossa on kaikki tarvittavat, jotta apache toimii. Alla init.sls ja testaus


Lähde: http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4
Omat tehtävät/Muistiinpanot
Atom
Aloitin atomin asennuksen luomalla /srv/salt kansioon sille oman kansion atom. Kansion sisään loin uuden init.sls tiedoston. Atomin asennus ei onnistu pelkällä
pkg installed komennolla vaan se tarvitsee repositoryn. Tässä kohtaa jouduin pohdiskelemaan kuinka saan repositoryn ladattua.
Pitkän tovin etsiskellessäni löysin saltstackista ohjeet pkgrepon käyttöön ja sitten aloin vaan kokeilemaan erilaisia yhdistelmiä, kunnes löysin oikean tavan käyttää tätä minun tilanteessani.
Repositoryn Atomille löysin sivulta codeforgeekistä, jotta sain asennettua Atomin. Lopullinen init.sls tiedosto tuli näyttämään seuraavalta.



Lähteet: https://codeforgeek.com/install-atom-editor-ubuntu-14-04/
https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html
Stacer
Stacer on monitorointi työkalu, jolla pystyt katsomaan CPU käyttöä muistia yms. Ja haluan ehdottomasti tämän aina uudelle koneelleni, joten aloitin ensiksi menemällä Stacerin Githubiin, josta löysin repositoryn, että saan ladattua stacerin. Tämän jälkeen loin /srv/salt kansioon stacer kansion ja sinne init.sls tiedoston joka tuli näyttämään samanlaiselta kuin atomin init.sls.



Lähteet: https://github.com/oguzhaninan/Stacer
https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html
SSH
SSH asennuksessa käytin apuna omia muistiinpanojani ja tehtäviäni, jotta saan SSH:n toimimaan ja muutin sieltä perinteisesti porttinumero defaultista (22) -> 8888. Tein tämän ensiksi käsin masterilla, jotta sain kopioitua sshd_config tiedoston /srv/salt/ssh kansioon.
Aloitin lataamalla Openssh-serverin omalle masterilleni, jotta saan sshd config tiedoston kopioitua /srv/salt/ssh kansioon, johon tein sitten porttinumeron muutoksen.


Asennuksen jälkeen halusin vielä kokeilla, että SSH varmasti toimii, joten testasin sen.

Lähteet: http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port
Asensin myös uuden selaimen Chromiumin ja Gitin, mutta ne menevät ihan vain pkg.installed komennolla.
Terminal ja Bash prompt
Haluan myös yleensä muokata Bash promtia ja terminaalia, joten tein niihin myös muutoksia. Aloitin ensiksi terminaalin muokkaamisella ja tein sen ensiksi käsin masterilla. Eli oikealla klikkauksella terminaalin päällä ja sieltä dropdown valikosta preferences ja sieltä pystyt vaihtamaan värejä ja muuta. Itse halusin muuttaa värimaailmaa terminaalista joten se onnistui kohdasta Colors.
Asetusten jälkeen suuntasin kansioon:
/home/slave/.config/xfce4/terminal ja sieltä kansiosta löytyi terminalrc tiedosto, jonka kopioin sitten /srv/salt/terminal kansiooni, jotta saan ajettua asetukset salt minionilleni.



Tämän jälkeen siirryin muokkaamaan bash promptia. Ajoin bashin uudet asetukset
/home/slave/.bashrc , jotta ne tulevat näkyviin minionilleni. Loin ensiksi uuden init.sls ja newbash tiedoston /srv/salt/bash kansiooni. init.sls tiedosto tuli näyttämään seuraavalta:

Uuden bashin loin käyttäen nettisivua nimeltä Easy Bash Prompt Generator, jolla pystyn muokkaamaan oman bashin millaiseksi haluan sen ja generaattori muuttaa sen koodiksi. Uuden bash promptin koodi tuli näyttämään tältä.



Vaihdoin promptista @merkin väriä ja pidin myös värimaailman samanlaisena kuin uuden terminaalini värimaailma ja promptin lopusta poistin, että se näyttää vain nykyisen directoryn.
master$ sudo salt '*' state.highstate

Lopullinen top.sls tiedosto

Salt kansion puu näkymä.

Lopuksi halusin vielä kokeilla uudella ja tyhjällä virtuaalikoneella, että tämä minun tilani toimii ja asentaa kyseiset ohjelmat ja laittaa asetukset.
Aloitin asentamalla uuden virtuaalikoneen ja guest additionit käytin apuna teron kurssi materiaali guest additionien asennukseen.
Uuden virtuaalikoneen asennuksen jälkeen latasin salt-minionin koneelle ja liitin sen master koneelleni minioniksi.
Asetusten jälkeen lähdin kokeilemaan tilaani uuteen virtuaalikoneesee ja tässä lopputulos.
master$ sudo salt ubuntuorja2 state.highstate

Tilat menivät läpi uudelle koneelle, joten tilan luonti on onnistunut. Laitan vielä kuvat loppuun, että ohjelmat toimivat uudella virtuaalikoneella.








Ja tilan luonti on onnistunut ja ohjelmat asentuivat uudelle virtuaalikoneelle conffattuna ja käyttövalmiina.
Tein tehtävää 3 eripäivänä ja aikaa meni noin 12tuntia
Lähteet: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/
http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4
https://codeforgeek.com/install-atom-editor-ubuntu-14-04/
https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html
http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port
http://terokarvinen.com/2020/remote-learning-tools-for-my-courses/
https://github.com/oguzhaninan/Stacer