storage:
disks:
- id: os
device: /dev/disk/by-path/pci-0000:00:1f.2-ata-2.0
partitionTableType: gpt
partitions:
- id: esp
type: esp
size: 64M
- id: root-a
type: root
size: 8G
- id: root-b
type: root
size: 8G
- id: swap
type: swap
size: 2G
- id: trident
type: linux-generic
size: 128M
- id: enc-srv
type: linux-generic
size: 1G
- id: raid-a
type: linux-generic
size: 1G
- id: raid-b
type: linux-generic
size: 1G
encryption:
recoveryKeyUrl: file:///recovery.key
volumes:
- id: srv
deviceName: luks-srv
deviceId: enc-srv
pcrs:
- secure-boot-policy
raid:
software:
- id: some_raid
name: some_raid1
level: raid1
devices:
- raid-a
- raid-b
abUpdate:
volumePairs:
- id: root
volumeAId: root-a
volumeBId: root-b
filesystems:
- deviceId: esp
mountPoint:
path: /boot/efi
options: umask=0077
- deviceId: root
mountPoint:
path: /
options: defaults
- deviceId: trident
source: new
type: ext4
mountPoint:
path: /var/lib/trident
options: defaults
- deviceId: srv
source: new
type: ext4
mountPoint:
path: /srv
options: defaults
- deviceId: some_raid
source: new
type: ext4
mountPoint:
path: /mnt/raid
options: defaults
swap:
- deviceId: swap
scripts:
preServicing:
- name: sample-pre-servicing-script
runOn:
- all
content: echo 'Running before Trident servicing'
postProvision:
- name: sample-provision-script
runOn:
- clean-install
- ab-update
content: ls $TARGET_ROOT
postConfigure:
- name: sample-configure-script
runOn:
- all
content: /var/config-script.sh
environmentVariables:
SAMPLE_VARIABLE: sample-variable-value
os:
netplan:
version: 2
ethernets:
eths:
match:
name: enp*
dhcp4: true
selinux:
mode: null
users:
- name: my-custom-user
sshPublicKeys:
- <MY_PUBLIC_SSH_KEY>
sshMode: key-only
additionalFiles:
- destination: /var/config-script.sh
content: 'echo ''Running from newly deployed chroot: $SAMPLE_VARIABLE'''
permissions: '0755'
image:
url: file:///path/to/image.cosi
sha384: ec9a9aa23f02b30f4ec6a168b9bc24733b652eeab4f8abc243630666a5e34cea1667c34313a13ec1564ac4871b80112f