# hshbase Basic server configuration used for most unix based servers at HsH. __NOTE: ELC also relies on this formula - they will receive updates immediately. If your plan to make breaking changes. Communicate this just in time__ ## States ### hshbase Installs everything ### hshbase.apt Configures apt package manager on debian and ubuntu machines ### hshbase.time **DEPRECATED** this formula only manages the time server up to debian 9 and ubuntu 16.04. Starting with debian buster and ubuntu bionic beaver we use the systemd formula for network and timeserver configuration. Install NTP, and sets timezone + timeserver ### hshbase.openvmtools Install the package open-vm-tools ### hshbase.locale Install system locales and additional ones optionally ### python-packages Install python modules for salt grains or modules - Currently: * **netifaces** useful information in grains about net cfg * **psutil** TODO: who needs that?! ## Configuration The states of this formula should be configurable using one central pillar for all configurations. Have a look at pillar.example for details. ## Development **All features should be as configurable as necessary. Keep it simple, stupid ([KISS](https://de.wikipedia.org/wiki/KISS-Prinzip)).** Working on this formula requires virtualbox and vagrant installed. It comes with an vagrant box you can instantly set up to get a machine where all states will apply against. ```bash git clone ssh://git@lab.it.hs-hannover.de:2222/salt/hshbase-formula.git cd hshbase-formula vagrant up vagrant ssh sudo salt-call state.highstate ``` ### Default values when developing the formula If you introduce a new feature and want to make it configurable you might need default values. Just add them to defauls.yaml and they are magically available. Consult map.jinja for details on this topic.