Arkonf is a system configuration including:
- a list of packages to install, managed using Salt;
- a collection of configuration files for these tools.
This will only install configuration files for the current user.
git clone https://github.com/Arkanosis/Arkonf.git
make -C Arkonf install
This is the prefered way to install the full Arkonf (including packages).
Before anything else, the host name must be set properly. All hosts will get the base packages and configuration, but only some hosts will get additional packages, depending on which roles are associated to their names in the pillar.
hostnamectl set-hostname $HOSTNAME
Also, make sure that the name (and the FQDN) is correct in /etc/hosts
as it
will be used by some packages (such as the MTA).
wget https://arkanosis.net/bootstrap
chmod a+x bootstrap
./bootstrap
pacman -S salt git
git clone https://github.com/Arkanosis/Arkonf.git /root/Arkonf
ln -s /root/Arkonf/saltstack/salt /srv/salt
ln -s /root/Arkonf/saltstack/pillar /srv/pillar
salt-call --local state.highstate
pacman -Syu
wget https://repo.saltproject.io/salt/py3/debian/11/amd64/latest/SALT-PROJECT-GPG-PUBKEY-2023.gpg -O /usr/share/keyrings/salt-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/11/amd64/latest bullseye main" > /etc/apt/sources.list.d/salt.list
apt update
apt install salt-minion git
systemctl disable --now salt-minion
git clone https://github.com/Arkanosis/Arkonf.git /root/Arkonf
ln -s /root/Arkonf/saltstack/salt /srv/salt
ln -s /root/Arkonf/saltstack/pillar /srv/pillar
apt update
salt-call --local state.highstate
apt upgrade
Individual states may rely on custom grains and custom modules, which must be synchronized.
salt-call --local saltutil.sync_all
Afterwards, indidual states can be applied.
salt-call --local state.sls mail
Synchronization of custom grains and custom modules is done automatically when
runningstate.highstate
, so there's no need to run saltutil.sync_all
when
applying the highstate.
Arkonf is copyright (C) 2001-2023 Jérémie Roquet jroquet@arkanosis.net and all code except code written by third-parties licensed under the ISC license.
See the LICENSE file for more details.