Last active
October 2, 2019 13:00
-
-
Save sierra-tango-echo/c6c1c0aa81f87636f47a4dbf9b87a903 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash -e | |
RAMDISKNAME=base-1309191049 | |
IMAGEFILE=${RAMDISKNAME}_live.squash | |
IMAGEURL=https://flight-images.s3.eu-west-2.amazonaws.com/${IMAGEFILE} | |
SUPPORTPACKFILE=${RAMDISKNAME}_live.supportpack | |
SUPPORTPACKURL=https://flight-images.s3.eu-west-2.amazonaws.com/${SUPPORTPACKFILE} | |
DEPLOYMENTDIR=/opt/flight/deployment/ramdisk | |
IMAGEDIR=${DEPLOYMENTDIR}/${RAMDISKNAME} | |
HTTPDIR=/deployment/ramdisk/${RAMDISKNAME} | |
PXEBOOT=/var/lib/tftpboot/boot/ | |
PXEDEFAULT=/var/lib/tftpboot/pxelinux.cfg/default | |
if ! [ -d ${IMAGEDIR} ]; then | |
mkdir -p ${IMAGEDIR} | |
else | |
echo "An image by the name of '${RAMDISKNAME}' already exists" >&2 | |
exit 1 | |
fi | |
echo "Fetching Image.." | |
curl ${IMAGEURL} > ${IMAGEDIR}/${IMAGEFILE} | |
echo "Fetching Support Pack.." | |
curl ${SUPPORTPACKURL} > ${IMAGEDIR}/${SUPPORTPACKFILE} | |
echo "Installing boot files.." | |
tar -zxvf ${IMAGEDIR}/${SUPPORTPACKFILE} -C ${PXEBOOT} | |
echo "Creating login key.." | |
ssh-keygen -t rsa -N '' -f ${IMAGEDIR}/sshkey | |
echo "Creating default metadata.." | |
cat << EOF > ${IMAGEDIR}/meta-data | |
instance-id: iid-local01 | |
dsmode: local | |
local-hostname: flightlive | |
hostname: flightlive | |
fqdn: flightlive.privatecluster.alces.network | |
public-keys: | |
- `cat ${IMAGEDIR}/sshkey.pub` | |
EOF | |
cat << EOF > ${IMAGEDIR}/user-data | |
#cloud-config | |
disable_root: 0 | |
ssh_pwauth: 1 | |
chpasswd: | |
list: | | |
root:0p3nflight | |
system_info: | |
default_user: | |
name: flightadmin | |
lock_passwd: true | |
gecos: Local Administrator | |
groups: [wheel, adm, systemd-journal] | |
sudo: ["ALL=(ALL) NOPASSWD:ALL"] | |
shell: /bin/bash | |
EOF | |
echo "Adding entry to pxedefault.." | |
cat << EOF >> ${PXEDEFAULT} | |
LABEL flightdiskless-${RAMDISKNAME} | |
MENU LABEL flightdiskless-${RAMDISKNAME} | |
KERNEL boot/kernel-${RAMDISKNAME} | |
APPEND initrd=boot/initramfs-${RAMDISKNAME} root=live:http://10.10.0.1/${HTTPDIR}/${IMAGEFILE} rd.writable.fsimg=1 rw selinux=0 ds=nocloud-net;s=http://10.10.0.1/${HTTPDIR}/ | |
EOF |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment