aboutsummaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
authorRaúl Benencia <raul@thousandeyes.com>2018-04-13 16:30:31 -0700
committerRaúl Benencia <raul@thousandeyes.com>2018-05-11 15:02:34 -0700
commit77c172b823b64ebface655681ab0749b9d2f7081 (patch)
tree09c13e626eb95ae1d33e76ed683172eab1ab6c96 /configs
First public commit
Diffstat (limited to 'configs')
-rw-r--r--configs/example-templates-configs/cloud-config/cloud-config-release.slc13
-rw-r--r--configs/example-templates-configs/cloud-config/users.slc11
-rw-r--r--configs/example-templates-configs/ipxe/coreos.ipxe.slc16
-rw-r--r--configs/example-templates-configs/ipxe/debian.ipxe.slc16
-rw-r--r--configs/example-templates-configs/ipxe/linux.cfg.slc15
-rw-r--r--configs/example-templates-configs/ipxe/storage.ipxe.slc16
-rw-r--r--configs/example-templates-configs/ipxe/ubuntu-minimal.ipxe.slc16
-rw-r--r--configs/example-templates-configs/mappings.yaml17
-rw-r--r--configs/example-templates-configs/preseed/common.preseed.slc12
-rw-r--r--configs/example-templates-configs/preseed/debian.preseed.slc36
-rw-r--r--configs/example-templates-configs/preseed/storage.preseed.slc104
-rw-r--r--configs/example-templates-configs/preseed/ubuntu-minimal.preseed.slc36
-rw-r--r--configs/example-templates-configs/static/test-script3
-rw-r--r--configs/shoelaces.conf6
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
nihil fit ex nihilo