summaryrefslogtreecommitdiff
path: root/roles/installer/debian/preseed/templates/preseed_debian-buster-with-raid.cfg.j2
blob: b4a7e84611d56357bf8cd645bebd33a3174071b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#########################################################################
#  spreadspace preseed file for Debian buster based VMs
#########################################################################

d-i debian-installer/language string en
d-i debian-installer/country string AT
d-i debian-installer/locale string en_US.UTF-8
d-i keyboard-configuration/xkb-keymap select us

d-i hw-detect/load_firmware boolean false

d-i netcfg/choose_interface select {{ install_interface | default(hostvars[hostname].network_cooked.primary.interface) }}
{% if 'install_dhcp' in hostvars[hostname] and hostvars[hostname].install_dhcp %}
d-i netcfg/disable_dhcp boolean false
d-i netcfg/disable_autoconfig boolean false
{% else %}
d-i netcfg/disable_dhcp boolean true
d-i netcfg/disable_autoconfig boolean true
d-i netcfg/get_ipaddress string {{ hostvars[hostname].network_cooked.primary.ip }}
d-i netcfg/get_netmask string {{ hostvars[hostname].network_cooked.primary.mask }}
d-i netcfg/get_gateway string {{ hostvars[hostname].network_cooked.primary.gateway }}
d-i netcfg/get_nameservers string {{ hostvars[hostname].network_cooked.nameservers | join(' ') }}
d-i netcfg/confirm_static boolean true
{% endif %}

d-i netcfg/hostname string {{ hostvars[hostname].host_name }}
d-i netcfg/get_hostname string {{ hostvars[hostname].host_name }}
d-i netcfg/domain string {{ hostvars[hostname].network_cooked.domain }}
d-i netcfg/get_domain string {{ hostvars[hostname].network_cooked.domain }}
d-i netcfg/wireless_wep string


d-i mirror/country string manual
d-i mirror/http/hostname string {{ apt_repo_providers[(hostvars[hostname].apt_repo_provider | default('default'))].debian }}
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string


d-i passwd/make-user boolean false
d-i passwd/root-password password this-very-very-secure-password-will-be-removed-by-latecommand
d-i passwd/root-password-again password this-very-very-secure-password-will-be-removed-by-latecommand


d-i clock-setup/utc boolean true
d-i time/zone string Europe/Vienna
d-i clock-setup/ntp boolean false

d-i partman-auto/disk string /dev/sda /dev/sdb

d-i partman-auto/method string raid
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-auto-lvm/new_vg_name string {{ hostvars[hostname].host_name }}
d-i partman-auto-lvm/guided_size string max

d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-md/confirm boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true

d-i partman/choose_label string dos
d-i partman/default_label string dos
d-i partman-auto/choose_recipe select boot-root
d-i partman-auto/expert_recipe string                                    \
      boot-root ::                                                       \
              256 512 256 raid                                           \
                      $lvmignore{ } $primary{ } method{ raid }           \
              .                                                          \
              1000 10000 -1 raid                                         \
                      $lvmignore{ } $primary{ } method{ raid }           \
              .                                                          \
              15360 10000 20480 ext4                                     \
                      $defaultignore{ } $lvmok{ }                        \
                      in_vg{ {{ hostvars[hostname].host_name }} }        \
                      method{ format } format{ }                         \
                      use_filesystem{ } filesystem{ ext4 }               \
                      mountpoint{ / }                                    \
              .                                                          \
              768 10000 768 ext4                                         \
                      $defaultignore{ } $lvmok{ }                        \
                      in_vg{ {{ hostvars[hostname].host_name }} }        \
                      method{ format } format{ }                         \
                      use_filesystem{ } filesystem{ ext4 }               \
                      mountpoint{ /var/log }                             \
                      options/nodev{ nodev } options/noatime{ noatime }  \
                      options/noexec{ noexec }                           \
              .                                                          \
              20480 10000 20480 ext4                                     \
                      $defaultignore{ } $lvmok{ }                        \
                      in_vg{ {{ hostvars[hostname].host_name }} }        \
                      method{ format } format{ }                         \
                      use_filesystem{ } filesystem{ ext4 }               \
                      mountpoint{ /home }                                \
              .                                                          \
              16 20000 -1 ext4                                           \
                      $defaultignore{ } $lvmok{ }                        \
                      in_vg{ {{ hostvars[hostname].host_name }} }        \
                      lv_name{ dummy }                                   \
              .

d-i partman-auto-raid/recipe string \
    1 2 0 ext4 /boot                \
          /dev/sda1#/dev/sdb1       \
    .                               \
    1 2 0 lvm -                     \
          /dev/sda2#/dev/sdb2       \
    .

d-i partman-basicfilesystems/no_swap true
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 base-installer/install-recommends boolean false
d-i apt-setup/security_host string {{ apt_repo_providers[(hostvars[hostname].apt_repo_provider | default('default'))].debian }}

tasksel tasksel/first multiselect
d-i pkgsel/include string openssh-server python python-apt
d-i pkgsel/upgrade select safe-upgrade
popularity-contest popularity-contest/participate boolean false

d-i grub-installer/choose_bootdev string /dev/sda /dev/sdb
d-i grub-installer/bootdev string /dev/sda /dev/sdb
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean false

d-i finish-install/reboot_in_progress note


d-i preseed/late_command string \
    lvremove -f {{ hostvars[hostname].host_name }}/dummy; \
    in-target bash -c "apt-get update -q && apt-get full-upgrade -y -q"; \
    in-target bash -c "sed -e 's/^allow-hotplug/auto/' -i /etc/network/interfaces"; \
{% if preseed_force_net_ifnames_policy is defined %}
    mkdir -p /target/etc/systemd/network; \
    in-target bash -c "echo '[Link]' > /etc/systemd/network/90-namepolicy.link"; \
    in-target bash -c "echo 'NamePolicy={{ preseed_force_net_ifnames_policy }}' >> /etc/systemd/network/90-namepolicy.link"; \
    in-target bash -c "update-initramfs -u"; \
{% endif %}
    in-target bash -c "passwd -d root && passwd -l root"; \
{% if hostvars[hostname].ansible_port is defined %}
    in-target bash -c "sed -e 's/^\(\s*#*\s*Port.*\)/Port {{ hostvars[hostname].ansible_port }}/' -i /etc/ssh/sshd_config"; \
{% endif %}
    mkdir -p -m 0700 /target/root/.ssh; \
    cp /authorized_keys /target/root/.ssh/