Web-kehittäjän Puppet-moduuli

Moduuli asentaa web-kehitykseen soveltuvia ohjelmistoja. Moduuli tunnistaa onko käytössä Debian-, Redhat- vai Windows-perheen käyttöjärjestelmä, ja tekee asennukset sillä perusteella.

Mooduuli vaatii, että Puppetmaster on jo valmiiksi asennettuna, ja siltä löytyy tietyt tarvittavat tiedostot. Tämä moduuli siis toimii vain orjakoneiden käyttöönottoon. Ilman esiasennettua puppetmasteria, tämä moduuli ei toimi.

Linuxille asentuu Apache, Gedit, Geany (vain Debian) ja Sublime Text 3. Sublime Text ei löydy vakiona pakettiluettelosta, joten sille asennetaan oma repository, jonka jälkeen Puppet osaa suorittaa asennuksen. Sublime Textille asetetaan myös kustomoidut asetukset. Moduuli myös muuttaa näppäimistökartan suomenkieliseksi. Lopuksi asennetaan testikäyttäjä "Test McDummy", jolla voidaan testata asennusten onnistuminen

Windowsille asennetaan Sublime Text 3, Notepad ++, Brackets, Github Desktop, Eclipse, ja Xampp. Sublime Textiin ja Bracketsiin asetetaan kustomoidut asetukset. Lopuksi luodaan testikäyttäjä "Test McDummy", jolla voidaan testata asennusten onnistuminen.

Mestarin ja orjan setuppi:

Puppetmaster:

sudo apt-get install puppet puppetmaster
sudo puppet module install puppetlabs/windows

Puppet slave:

wget renki.dy.fi/developertools/debian_install.sh
sudo bash debian_install.sh

Tällä sivulla olevat linkit avaavat .txt-tiedoston. Ne on tarkoitettu skriptin sisällön tarkasteluun, eli eivät siis aja skriptejä.

Kansiorakenne puppetmasterilla:

/etc/puppet/
├── autosign.conf
├── files
│   ├── brackets.ps1
│   ├── debian_install.sh
│   ├── notepadplusplus.ps1
│   ├── redhat_install.sh
│   ├── shortcuts.bat
│   ├── sublime.ps1
│   └── windows_install.bat
├── manifests
│   └── site.pp
├── modules
│   ├── developer_tools_linux
│   │   ├── files
│   │   │   ├── keyboarddebian
│   │   │   ├── keyboardredhat
│   │   │   ├── login.defs
│   │   │   ├── Preferences.sublime-settings
│   │   │   └── userdir.conf
│   │   └── manifests
│   │       ├── init.pp
│   │       └── sublimerepo.pp
│   └── developer_tools_win
│       ├── files
│       │   ├── brackets.json
│       │   └── Preferences.sublime-settings
│       └── manifests
│           └── init.pp
└── puppet.conf

Autosign.conffi, joka kertoo mitä sertifikatteja voidaan hyväksyä automaattisesti:
/etc/puppet/autosign.conf

	*.pp.htv.fi

Puppetmasterin conffi:
/etc/puppet/puppet.conf

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/run/puppet
factpath=$vardir/lib/facter
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post
ordering=manifest

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
dns_alt_names = ubuntumate.pp.htv.fi

[agent]
runinterval = 600

Puppetmasterin site.pp-manifesti:
/etc/puppet/manifests/site.pp

if $kernel == 'windows' {
        include chocolatey
        include developer_tools_win
}
 elsif $kernel == 'Linux' {
        include developer_tools_linux::sublimerepo
        include developer_tools_linux
}

Seuraavat tiedostot ovat liian laajoja jotta ne voisi näyttää suoraan sivulla. Klikkaa linkkiä nähdäksesi sisältö.

Linuxin manifesti:
/etc/puppet/modules/developer_tools_linux/manifests/init.pp

Sublime Text 3:n repositoryjen lisäys Linuxilla:
/etc/puppet/modules/developer_tools_linux/manifests/sublimerepo.pp

Windowsin manifesti:
/etc/puppet/modules/developer_tools_win/manifests/init.pp

Puppetin asennusskriptit Rengillä:
@renki.dy.fi/developertools
.
├── brackets.ps1
├── debian_install.sh
├── notepadplusplus.ps1
├── redhat_install.sh
├── shortcuts.bat
├── sublime.ps1
└── windows_install.bat

Debianin skripti:
debian_install.sh

Redhatin skripti:
redhat_install.sh

Windowsin skripti:
windows_install.bat

Windowsin työpöydälle pikakuvakkeet:
shortcuts.bat

Esimerkki yksittäisen ohjelman pikakuvakkeesta:
sublime.ps1

Testattu seuraavilla käyttöjärjestelmillä:
CentOS 7 (x86_64) LiveGNOME 1708
Elementary OS 0.4.1 Loki
Linux Mint 18.3 Cinnamon
Ubuntu 16.04.3 LTS Desktop
Windows 10 Home

Demovideot asennuksista

Videoiden ei-interaktiiviset kohdat mennään pikakelauksella.

Elementary OS

Centos 7

Windows 10

Nauhoitukset tehty Apowersoft Screen Recorderilla

Editointi Davinci Resolve 14