From 943864231aa4caf367ae86a066c1ef63c3d17d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Tue, 8 Jan 2019 19:45:19 -0800 Subject: Rename example-templates-configs to data-dir --- .../data-dir/cloud-config/cloud-config-release.slc | 13 +++ configs/data-dir/cloud-config/users.slc | 11 +++ configs/data-dir/ipxe/centos.ipxe.slc | 14 +++ configs/data-dir/ipxe/coreos.ipxe.slc | 16 ++++ configs/data-dir/ipxe/debian.ipxe.slc | 16 ++++ configs/data-dir/ipxe/linux.cfg.slc | 15 +++ configs/data-dir/ipxe/storage.ipxe.slc | 16 ++++ configs/data-dir/ipxe/ubuntu-minimal.ipxe.slc | 16 ++++ configs/data-dir/kickstart/centos.ks.slc | 36 +++++++ configs/data-dir/mappings.yaml | 17 ++++ configs/data-dir/preseed/common.preseed.slc | 12 +++ configs/data-dir/preseed/debian.preseed.slc | 36 +++++++ configs/data-dir/preseed/storage.preseed.slc | 104 +++++++++++++++++++++ .../data-dir/preseed/ubuntu-minimal.preseed.slc | 36 +++++++ configs/data-dir/static/test-script | 3 + 15 files changed, 361 insertions(+) create mode 100644 configs/data-dir/cloud-config/cloud-config-release.slc create mode 100644 configs/data-dir/cloud-config/users.slc create mode 100644 configs/data-dir/ipxe/centos.ipxe.slc create mode 100644 configs/data-dir/ipxe/coreos.ipxe.slc create mode 100644 configs/data-dir/ipxe/debian.ipxe.slc create mode 100644 configs/data-dir/ipxe/linux.cfg.slc create mode 100644 configs/data-dir/ipxe/storage.ipxe.slc create mode 100644 configs/data-dir/ipxe/ubuntu-minimal.ipxe.slc create mode 100644 configs/data-dir/kickstart/centos.ks.slc create mode 100644 configs/data-dir/mappings.yaml create mode 100644 configs/data-dir/preseed/common.preseed.slc create mode 100644 configs/data-dir/preseed/debian.preseed.slc create mode 100644 configs/data-dir/preseed/storage.preseed.slc create mode 100644 configs/data-dir/preseed/ubuntu-minimal.preseed.slc create mode 100644 configs/data-dir/static/test-script (limited to 'configs/data-dir') diff --git a/configs/data-dir/cloud-config/cloud-config-release.slc b/configs/data-dir/cloud-config/cloud-config-release.slc new file mode 100644 index 0000000..0f3de35 --- /dev/null +++ b/configs/data-dir/cloud-config/cloud-config-release.slc @@ -0,0 +1,13 @@ +{{define "cloudconfig-coreos" -}} +#cloud-config +{{template "cloudconfig-coreos-users"}} + +hostname:{{.hostname}} +coreos: + update: + reboot-strategy: off + units: + - name: update-engine.service + enable: true + command: start +{{end}} diff --git a/configs/data-dir/cloud-config/users.slc b/configs/data-dir/cloud-config/users.slc new file mode 100644 index 0000000..6ebdd3f --- /dev/null +++ b/configs/data-dir/cloud-config/users.slc @@ -0,0 +1,11 @@ +{{define "cloudconfig-coreos-users"}} +users: + - name: "shoelaces" + groups: + - "sudo" + - "docker" + ssh-authorized-keys: + - "ssh-rsa fake-key shoelaces@example.com" +ssh_authorized_keys: + - "ssh-rsa fake-key shoelaces@example.com" +{{end}} diff --git a/configs/data-dir/ipxe/centos.ipxe.slc b/configs/data-dir/ipxe/centos.ipxe.slc new file mode 100644 index 0000000..88b3fc2 --- /dev/null +++ b/configs/data-dir/ipxe/centos.ipxe.slc @@ -0,0 +1,14 @@ +{{define "centos.ipxe" -}} +#!ipxe +set hostname {{.hostname}} +set release {{.release}} +set base http://mirror.centos.org/centos/${release}/os/x86_64 + +echo This automatically overwrites data! +echo CentOS ${release} +echo Installing ${hostname} + +kernel ${base}/images/pxeboot/vmlinuz initrd=initrd.img repo=${base} ks=http://{{.baseURL}}/configs/centos.ks?hostname=${hostname}&release=${release} +initrd ${base}/images/pxeboot/initrd.img +boot +{{end}} diff --git a/configs/data-dir/ipxe/coreos.ipxe.slc b/configs/data-dir/ipxe/coreos.ipxe.slc new file mode 100644 index 0000000..64685ff --- /dev/null +++ b/configs/data-dir/ipxe/coreos.ipxe.slc @@ -0,0 +1,16 @@ +{{define "coreos.ipxe" -}} +#!ipxe + +set coreos-url http://stable.release.core-os.net/amd64-usr/current + +echo This will currently autologin into tty1 on the console. +echo From there you can su to root and install CoreOS to disk using: +echo coreos-install -d /dev/sda -C {{.release}} +echo You will probably need to chroot into /dev/sda9 to configure accounts. +echo More info @ http://coreos.com/docs/running-coreos/bare-metal/installing-to-disk/ + +kernel ${coreos-url}/coreos_production_pxe.vmlinuz cloud-config-url=http://{{.baseURL}}/configs/cloudconfig-coreos?release={{.release}}&hostname={{.hostname}} console=tty1 coreos.autologin=tty1 +initrd ${coreos-url}/coreos_production_pxe_image.cpio.gz + +boot +{{end}} \ No newline at end of file diff --git a/configs/data-dir/ipxe/debian.ipxe.slc b/configs/data-dir/ipxe/debian.ipxe.slc new file mode 100644 index 0000000..8717d5e --- /dev/null +++ b/configs/data-dir/ipxe/debian.ipxe.slc @@ -0,0 +1,16 @@ +{{define "debian.ipxe" -}} +#!ipxe + +echo This automatically overwrites data! +echo Debian {{.release}} + +set mirror http://ftp.debian.org/debian/dists/{{.release}}/main/installer-amd64/current/images/netboot/debian-installer/amd64 + +chain http://{{.baseURL}}/configs/linux.cfg?hostname={{.hostname}} + +imgfree + +kernel ${mirror}/linux auto=true priority=critical initrd=initrd.gz keyboard-configuration/xkb-keymap=us preseed/url=http://{{.baseURL}}/configs/debian.preseed ${linuxargs} +initrd ${mirror}/initrd.gz +boot +{{end}} diff --git a/configs/data-dir/ipxe/linux.cfg.slc b/configs/data-dir/ipxe/linux.cfg.slc new file mode 100644 index 0000000..512f7f2 --- /dev/null +++ b/configs/data-dir/ipxe/linux.cfg.slc @@ -0,0 +1,15 @@ +{{define "linux.cfg" -}} +#!ipxe + +# We set VGA to normal and nomodeset because often the framebuffers +# are extraordinarily slow. + +# Two serial interfaces enabled, hopefully one for local and one for remote +# on Dells with iDRAC/iKVM (serial over lan). + +# libata.force=noncq for https://bbs.archlinux.org/viewtopic.php?id=196267 +# We probably want ncq for harddrives, but we don't have many of those. +# queued trim is broken with our 850PRO/Linux combo, or maybe entirely on the Samsung 850 PRO SSDs + +set linuxargs hostname={{.hostname}} console=tty0 console=ttyS0,115200n8 console=ttyS1,115200n8 vga=normal biosdevname=0 nomodeset interface=auto libata.force=noncq consoleblank=0 +{{end}} \ No newline at end of file diff --git a/configs/data-dir/ipxe/storage.ipxe.slc b/configs/data-dir/ipxe/storage.ipxe.slc new file mode 100644 index 0000000..457dad7 --- /dev/null +++ b/configs/data-dir/ipxe/storage.ipxe.slc @@ -0,0 +1,16 @@ +{{define "storage.ipxe" -}} +#!ipxe + +echo This automatically overwrites data! +echo Ubuntu {{.release}} amd64 storage + +set mirror http://mirror.rackspace.com/ubuntu/dists/{{.release}}/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64 + +chain --autofree http://{{.baseURL}}/configs/linux.cfg?hostname={{.hostname}} + +imgfree + +kernel ${mirror}/linux auto=true priority=critical initrd=initrd.gz preseed/url=http://{{.baseURL}}/configs/storage.preseed ${linuxargs} +initrd ${mirror}/initrd.gz +boot +{{end}} \ No newline at end of file diff --git a/configs/data-dir/ipxe/ubuntu-minimal.ipxe.slc b/configs/data-dir/ipxe/ubuntu-minimal.ipxe.slc new file mode 100644 index 0000000..e52f63c --- /dev/null +++ b/configs/data-dir/ipxe/ubuntu-minimal.ipxe.slc @@ -0,0 +1,16 @@ +{{define "ubuntu-minimal.ipxe" -}} +#!ipxe + +echo This automatically overwrites data! +echo Ubuntu {{.release}} minimal + +set mirror http://mirror.rackspace.com/ubuntu/dists/{{.release}}/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64 + +chain http://{{.baseURL}}/configs/linux.cfg?hostname={{.hostname}} + +imgfree + +kernel ${mirror}/linux auto=true priority=critical initrd=initrd.gz preseed/url=http://{{.baseURL}}/configs/ubuntu-minimal.preseed ${linuxargs} +initrd ${mirror}/initrd.gz +boot +{{end}} diff --git a/configs/data-dir/kickstart/centos.ks.slc b/configs/data-dir/kickstart/centos.ks.slc new file mode 100644 index 0000000..04d5455 --- /dev/null +++ b/configs/data-dir/kickstart/centos.ks.slc @@ -0,0 +1,36 @@ +{{define "centos.ks" -}} +logging --level=info +cmdline + +url --url="http://mirror.netcologne.de/centos/{{.release}}/os/x86_64" + +network --bootproto dhcp --hostname {{.hostname}} + +rootpw root +auth --useshadow --passalgo=sha512 --enablefingerprint + +keyboard --vckeymap=de --xlayouts='de (nodeadkeys)' +lang en_US.UTF-8 +timezone Europe/Berlin --isUtc +zerombr +clearpart --drives=sda --all --disklabel=gpt +bootloader --append="crashkernel=auto panic=60" --location=mbr +part biosboot --fstype=biosboot --size=1 +part /boot --fstype="ext4" --ondisk=sda --size=500 --label=/boot +part swap --fstype="swap" --ondisk=sda --size=8000 +part pv.01 --size=1000 --grow --ondisk=sda +volgroup vg0 pv.01 +logvol / --fstype="ext4" --vgname=vg0 --size=10000 --name=lv_root --grow + +%packages +@core +%end + +%post +#!/bin/bash +hostnamectl set-hostname {{.hostname}} +echo -e "\n#######################\n # Finished Post Tasks\n#######################\n" +sleep 5 +%end +reboot +{{end}} \ No newline at end of file diff --git a/configs/data-dir/mappings.yaml b/configs/data-dir/mappings.yaml new file mode 100644 index 0000000..dfcb8c9 --- /dev/null +++ b/configs/data-dir/mappings.yaml @@ -0,0 +1,17 @@ +networkMaps: + - network: 192.168.0.0/24 + script: + name: ubuntu-minimal.ipxe + params: + release: xenial + - network: 10.0.10.0/24 + script: + name: coreos.ipxe + params: + release: stable +hostnameMaps: + - hostname: msc1.example.com + script: + name: ubuntu-minimal.ipxe + params: + release: trusty diff --git a/configs/data-dir/preseed/common.preseed.slc b/configs/data-dir/preseed/common.preseed.slc new file mode 100644 index 0000000..bcbf98b --- /dev/null +++ b/configs/data-dir/preseed/common.preseed.slc @@ -0,0 +1,12 @@ +{{define "common.preseed"}} +d-i auto-install/enable boolean true +d-i debian-installer/locale string en_US +d-i console-setup/ask_detect boolean false + +d-i user-setup/allow-password-weak boolean true +d-i passwd/root-login boolean true +d-i passwd/make-user boolean false + +d-i passwd/root-password password password +d-i passwd/root-password-again password password +{{end}} \ No newline at end of file diff --git a/configs/data-dir/preseed/debian.preseed.slc b/configs/data-dir/preseed/debian.preseed.slc new file mode 100644 index 0000000..0915fe3 --- /dev/null +++ b/configs/data-dir/preseed/debian.preseed.slc @@ -0,0 +1,36 @@ +{{define "debian.preseed" -}} +{{template "common.preseed"}} + +d-i partman-auto/method string regular +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-md/device_remove_md boolean true +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true + +# atomic: Just one partition +d-i partman-auto/choose_recipe select atomic + +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + +d-i user-setup/encrypt-home boolean false + +d-i base-installer/install-recommends boolean true + +d-i clock-setup/utc boolean true +d-i time/zone string America/Los_Angeles + +d-i clock-setup/ntp boolean true + +d-i debian-installer/quiet boolean false +d-i debian-installer/splash boolean false + +d-i pkgsel/update-policy select unattended-upgrades + +d-i grub-installer/timeout string 5 +d-i popularity-contest/participate boolean false + +d-i finish-install/reboot_in_progress note +{{end}} diff --git a/configs/data-dir/preseed/storage.preseed.slc b/configs/data-dir/preseed/storage.preseed.slc new file mode 100644 index 0000000..982b41b --- /dev/null +++ b/configs/data-dir/preseed/storage.preseed.slc @@ -0,0 +1,104 @@ +{{define "storage.preseed" -}} +{{template "common.preseed"}} + +# The method should be set to "raid". +d-i partman-auto/method string raid +# Specify the disks to be partitioned. They will all get the same layout, +# so this will only work if the disks are the same size. +d-i partman-auto/disk string /dev/sda /dev/sdb + +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-lvm/device_remove_lvm_span boolean true +d-i partman-auto/purge_lvm_from_device boolean true +d-i partman-md/device_remove_md boolean true +d-i partman-lvm/confirm boolean true +d-i partman-auto-lvm/new_vg_name string vg0 + +# Next you need to specify the physical partitions that will be used. +d-i partman-auto/expert_recipe string \ + multiraid :: \ + 256 512 1024 raid \ + $lvmignore{ } \ + $primary{ } \ + method{ raid } \ + raidid{ 1 } \ + . \ + 4000 4096 -1 raid \ + $lvmignore{ } \ + method{ raid } \ + raidid{ 2 } \ + . \ + 2000 4096 50000 ext4 \ + $defaultignore{ } \ + $lvmok{ } \ + method{ format } \ + format{ } \ + use_filesystem{ } \ + filesystem{ ext4 } \ + mountpoint{ / } \ + lv_name{ root } \ + options/noatime{ noatime } \ + options/nodiratime{ nodiratime } \ + options/discard{ discard } \ + . \ + 100% 512 100% linux-swap \ + $defaultignore{ } \ + $lvmok{ } \ + method{ swap } \ + format{ } \ + lv_name{ swap } \ + . + + +# Last you need to specify how the previously defined partitions will be +# used in the RAID setup. Remember to use the correct partition numbers +# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported; +# devices are separated using "#". +# Parameters are: +# \ +# + +d-i partman-auto-raid/recipe string \ + 1 2 0 ext3 /boot \ + raidid=1 \ + . \ + 1 2 0 lvm - \ + raidid=2 \ + . + + + +d-i mdadm/boot_degraded boolean true +d-i partman-md/confirm boolean true +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select Finish partitioning and write changes to disk +d-i partman/confirm boolean true +d-i partman-md/confirm_nooverwrite boolean true +d-i partman/confirm_nooverwrite boolean true + +d-i user-setup/encrypt-home boolean false + +d-i base-installer/install-recommends boolean false + +d-i clock-setup/utc boolean true +d-i time/zone string UTC + +d-i clock-setup/ntp boolean true + +d-i debian-installer/quiet boolean false +d-i debian-installer/splash boolean false + +##This should be set by Puppet instead. +d-i pkgsel/update-policy select none +## + +d-i grub-installer/timeout string 5 +d-i popularity-contest/participate boolean false + + +d-i finish-install/keep-consoles boolean true +d-i finish-install/reboot_in_progress note + +# This just halts, we want a reboot. +#d-i debian-installer/exit/poweroff boolean true +{{end}} diff --git a/configs/data-dir/preseed/ubuntu-minimal.preseed.slc b/configs/data-dir/preseed/ubuntu-minimal.preseed.slc new file mode 100644 index 0000000..2138764 --- /dev/null +++ b/configs/data-dir/preseed/ubuntu-minimal.preseed.slc @@ -0,0 +1,36 @@ +{{define "ubuntu-minimal.preseed" -}} +{{template "common.preseed"}} + +d-i partman-auto/method string regular +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-md/device_remove_md boolean true +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true + +# atomic: Just one partition +d-i partman-auto/choose_recipe select atomic + +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + +d-i user-setup/encrypt-home boolean false + +d-i base-installer/install-recommends boolean true + +d-i clock-setup/utc boolean true +d-i time/zone string America/Los_Angeles + +d-i clock-setup/ntp boolean true + +d-i debian-installer/quiet boolean false +d-i debian-installer/splash boolean false + +d-i pkgsel/update-policy select unattended-upgrades + +d-i grub-installer/timeout string 5 +d-i popularity-contest/participate boolean false + +d-i finish-install/reboot_in_progress note +{{end}} diff --git a/configs/data-dir/static/test-script b/configs/data-dir/static/test-script new file mode 100644 index 0000000..8c33db6 --- /dev/null +++ b/configs/data-dir/static/test-script @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "Hello world" -- cgit v1.2.3