# Installing the Admin server ## Prerequisites The installation script assumes a installed and configured openSUSE Leap 15.3 x86_64 with Gnome desktop. My setup has two NIC and one wifi. - `eth0` is connected to the lab switch, internal network - `eth1` is going to be the external interface - `wlan0` acts as a wireless access point to internal network ## Installing Clone this repository and run the `update.sh` script as a normal user with **sudo** permissions, the admin server needs access to Internet. The update script will run through several steps: - check prerequisites, if any packages needed to install/configure the admin server it will ask to install them. - salt-call, the main installation/configuration is done with a masterless salt-call. This step will apply the highstate - rmt sync, a sync with SUSE Customer Center will be performed - rmt enable products, this will enable the preconfigured products to sync with SCC - rmt mirror, mirror all enabled products - install tools, install latest versions of some additional tools into `$HOME/bin`, such as helm, kubctl, stern, virtctl, etc ### customizing the setup. The preconfigured defaults are located in the `salt/pillar/*.sls` files, you can override them by creating a `salt/pillar/local.sls` and specify your setting :warning: You need at least specify your SCC organization mirror credentials and your docker username and access token ```yaml rmt: scc: username: password: docker: username: access_token: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX ``` There's also a bunch of default passwords you might want to change, some examples: - WPA pass phrase for **hostapd** - root password for **mariadb** - CA certificate pass phrase for rancher - Bootstrap password for rancher - CA certificate pass phrase for rmt - DB password for rmt - TLU Harvester OS password - TLU Harvester admin password - TLU Harvester token - remote-desktop password When you have made your changes just run the following script to install and configure everything ``` ./update.sh ``` all options for the update.sh script is avaiable with `update.sh -h` ``` ./update.sh -h Usage update.sh [options..] -h,-?, --help Show help and exit -s, --salt run a masterless salt-call -y, --yes answer 'yes' on all questions -t, --tools Install/update tools (kubectl, helm, etc) -r, --rancher Install rancher server VM --rmt-sync Sync database with SUSE Customer Center --rmt-enable-products Enable all preconfigured repositories --rmt-mirror Mirror repositories ``` If you make changes in your `salt/pillars/local.sls` you can run the following to apply them ``` ./update.sh --salt ```