diff options
Diffstat (limited to 'configs')
14 files changed, 317 insertions, 0 deletions
diff --git a/configs/example-templates-configs/cloud-config/cloud-config-release.slc b/configs/example-templates-configs/cloud-config/cloud-config-release.slc new file mode 100644 index 0000000..0f3de35 --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/cloud-config/users.slc b/configs/example-templates-configs/cloud-config/users.slc new file mode 100644 index 0000000..6ebdd3f --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/ipxe/coreos.ipxe.slc b/configs/example-templates-configs/ipxe/coreos.ipxe.slc new file mode 100644 index 0000000..64685ff --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/ipxe/debian.ipxe.slc b/configs/example-templates-configs/ipxe/debian.ipxe.slc new file mode 100644 index 0000000..817b9ff --- /dev/null +++ b/configs/example-templates-configs/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 preseed/url=http://{{.baseURL}}/configs/debian.preseed ${linuxargs} +initrd ${mirror}/initrd.gz +boot +{{end}} diff --git a/configs/example-templates-configs/ipxe/linux.cfg.slc b/configs/example-templates-configs/ipxe/linux.cfg.slc new file mode 100644 index 0000000..512f7f2 --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/ipxe/storage.ipxe.slc b/configs/example-templates-configs/ipxe/storage.ipxe.slc new file mode 100644 index 0000000..457dad7 --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/ipxe/ubuntu-minimal.ipxe.slc b/configs/example-templates-configs/ipxe/ubuntu-minimal.ipxe.slc new file mode 100644 index 0000000..e52f63c --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/mappings.yaml b/configs/example-templates-configs/mappings.yaml new file mode 100644 index 0000000..dfcb8c9 --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/preseed/common.preseed.slc b/configs/example-templates-configs/preseed/common.preseed.slc new file mode 100644 index 0000000..bcbf98b --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/preseed/debian.preseed.slc b/configs/example-templates-configs/preseed/debian.preseed.slc new file mode 100644 index 0000000..0915fe3 --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/preseed/storage.preseed.slc b/configs/example-templates-configs/preseed/storage.preseed.slc new file mode 100644 index 0000000..982b41b --- /dev/null +++ b/configs/example-templates-configs/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: +# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \ +# <devices> <sparedevices> + +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/example-templates-configs/preseed/ubuntu-minimal.preseed.slc b/configs/example-templates-configs/preseed/ubuntu-minimal.preseed.slc new file mode 100644 index 0000000..2138764 --- /dev/null +++ b/configs/example-templates-configs/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/example-templates-configs/static/test-script b/configs/example-templates-configs/static/test-script new file mode 100644 index 0000000..8c33db6 --- /dev/null +++ b/configs/example-templates-configs/static/test-script @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "Hello world" diff --git a/configs/shoelaces.conf b/configs/shoelaces.conf new file mode 100644 index 0000000..fd4230f --- /dev/null +++ b/configs/shoelaces.conf @@ -0,0 +1,6 @@ +port=8081 +domain=localhost +data-dir=configs/example-templates-configs/ +template-extension=.slc +mappings-file=mappings.yaml +debug=true |