You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lub c18a87ebe5 update readme 5 years ago
authorized_keys remove pandro from authorized_keys 5 years ago
config use inet table instead of ip 5 years ago
hardware/ovh_rise-1 remove obsolete templates 5 years ago
README.md update readme 5 years ago
post-debootstrap-installer.sh enable nftables.service 5 years ago
reset.sh remove -e from reset.sh 5 years ago
setup.sh set hostname already in live system 5 years ago

README.md

These scripts setup a blank hardware server according to our requirements including partitions, raids, debootstrap, package installation and various other configuration. The goal is to create a server ready to join into the swarm.

Usage (from a live system):

# (!) wipes the start sectors of all disks (!)
# (!) review before executing (!)
./reset.sh
reboot


./setup.sh <template> <fqdn>

# example:
./setup.sh ovh_rise-1 server321.example.com


# Unlock the disk after booting the server from disk:
# Dropbear is configured on 222
ssh -p 222 <fqdn> /bin/cryptroot-unlock

setup.sh executes the hardware specific template files, debootstraps and invokes the actual installer inside the fresh environment.
As much as possible should be done in the chroot, as only there we have control over the software (the live system is normally provided by the hardware provider).

Templates (hardware/*) consist of three files:

  • esp - a symlink to the desired ESP partition
  • parted.sh - script to prepare the partitions. Should create ESP (/boot/efi), md0 (/) and md1 (/boot)
  • network.sh - creates the neccessary configs in /etc/systemd/network

config/* gets copied to the chroot and contains static config files

authorized_keys/* is used to create the users and populate their respective ~/.ssh/authorized_keys