mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-18 20:34:35 -05:00
77 lines
2.0 KiB
Bash
77 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
# Copyright (c) Edgeless Systems GmbH
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
depends() {
|
|
# expands to: systemd systemd-hostnamed systemd-networkd systemd-resolved systemd-timedated systemd-timesyncd
|
|
echo systemd-network-management
|
|
}
|
|
|
|
install_and_enable_unit() {
|
|
unit="$1"; shift
|
|
target="$1"; shift
|
|
inst_simple "$moddir/$unit" "$systemdsystemunitdir/$unit"
|
|
mkdir -p "${initdir}${systemdsystemconfdir}/${target}.wants"
|
|
ln_r "${systemdsystemunitdir}/${unit}" \
|
|
"${systemdsystemconfdir}/${target}.wants/${unit}"
|
|
}
|
|
|
|
install_path() {
|
|
local dir="$1"; shift
|
|
mkdir -p "${initdir}/${dir}"
|
|
}
|
|
|
|
install() {
|
|
inst_multiple \
|
|
bash
|
|
inst_script "/usr/sbin/disk-mapper" \
|
|
"/usr/sbin/disk-mapper"
|
|
|
|
inst_script "$moddir/prepare-state-disk.sh" \
|
|
"/usr/sbin/prepare-state-disk"
|
|
install_and_enable_unit "prepare-state-disk.service" \
|
|
"basic.target"
|
|
install_and_enable_unit "configure-constel-csp.service" \
|
|
"basic.target"
|
|
|
|
# aws nvme disks
|
|
inst_multiple \
|
|
tail \
|
|
tr
|
|
|
|
# azure scsi disks
|
|
inst_multiple \
|
|
cut \
|
|
readlink
|
|
|
|
# gcp nvme disks
|
|
inst_multiple \
|
|
date \
|
|
xxd \
|
|
grep \
|
|
sed \
|
|
ln \
|
|
command \
|
|
readlink
|
|
|
|
inst_script "/usr/sbin/nvme" \
|
|
"/usr/sbin/nvme"
|
|
inst_script "/usr/lib/udev/google_nvme_id" \
|
|
"/usr/lib/udev/google_nvme_id"
|
|
inst_rules "64-gce-disk-removal.rules" "65-gce-disk-naming.rules"
|
|
|
|
inst_script "$moddir/aws-nvme-disk.sh" \
|
|
"/usr/sbin/aws-nvme-disk"
|
|
install_and_enable_unit "aws-nvme-disk.service" \
|
|
"basic.target"
|
|
|
|
# TLS / CA store in initramfs
|
|
install_path /etc/pki/tls/certs/
|
|
inst_simple /etc/pki/tls/certs/ca-bundle.crt \
|
|
/etc/pki/tls/certs/ca-bundle.crt
|
|
|
|
# backport of https://github.com/dracutdevs/dracut/commit/dcbe23c14d13ca335ad327b7bb985071ca442f12
|
|
inst_simple "$moddir/sysusers-dracut.conf" "$systemdsystemunitdir/systemd-sysusers.service.d/sysusers-dracut.conf"
|
|
}
|