mirror of
https://github.com/xcat2/confluent.git
synced 2024-11-25 02:52:07 +00:00
88 lines
3.9 KiB
Bash
Executable File
88 lines
3.9 KiB
Bash
Executable File
#!/bin/sh
|
|
## Use the following option to add additional boot parameters for the
|
|
## installed system (if supported by the bootloader installer).
|
|
## Note: options passed to the installer will be added automatically.
|
|
#d-i debian-installer/add-kernel-opts string [from profile.yaml]
|
|
deploycfg=/etc/confluent/confluent.deploycfg
|
|
mgr=$(cat /etc/confluent/deployer)
|
|
|
|
cryptboot=$(grep encryptboot: $deploycfg|sed -e 's/^encryptboot: //')
|
|
if [ "$cryptboot" != "" ] && [ "$cryptboot" != "none" ] && [ "$cryptboot" != "null" ]; then
|
|
echo "****Encrypted boot requested, but not implemented for this OS, halting install" > /dev/console
|
|
[ -f '/tmp/autoconsdev' ] && (echo "****Encryptod boot requested, but not implemented for this OS,halting install" >> $(cat /tmp/autoconsdev))
|
|
while :; do sleep 86400; done
|
|
fi
|
|
cat > /usr/lib/live-installer.d/confluent-certs << EOF
|
|
#!/bin/sh
|
|
cp /tls/* /target/etc/ssl/certs/
|
|
cat /tls/*.pem >> /target/etc/ssl/certs/ca-certificates.crt
|
|
EOF
|
|
chmod a+x /usr/lib/live-installer.d/confluent-certs
|
|
mkdir -p /.ssh/
|
|
cat /ssh/*pubkey > /.ssh/authorized_keys
|
|
mkdir -p /etc/ssh
|
|
nodename=$(grep ^NODENAME: /etc/confluent/confluent.info|cut -d ' ' -f 2)
|
|
apikey=$(cat /etc/confluent/confluent.apikey)
|
|
ssh-keygen -A
|
|
for pubkey in /etc/ssh/ssh_host*key.pub; do
|
|
certfile=$(echo $pubkey | sed -e s/.pub/-cert.pub/)
|
|
keyfile=${pubkey%.pub}
|
|
wget --header="CONFLUENT_NODENAME: $nodename" --header="CONFLUENT_APIKEY: $apikey" --post-file=$pubkey https://$mgr/confluent-api/self/sshcert -O $certfile --quiet
|
|
echo HostKey $keyfile >> /etc/ssh/sshd_config
|
|
echo HostCertificate $certfile >> /etc/ssh/sshd_config
|
|
done
|
|
if [ -e /tmp/installdisk ]; then
|
|
instdisk=$(cat /tmp/installdisk)
|
|
else
|
|
for blockdev in $(ls /sys/class/block/); do
|
|
shortname=$(basename $blockdev)
|
|
if [ "$shortname" != "${shortname%loop*}" ]; then
|
|
continue
|
|
fi
|
|
udevadm info --query=property /dev/$shortname |grep DEVTYPE=disk > /dev/null || continue # ignore partitions
|
|
udevadm info --query=property /dev/$shortname |grep DM_NAME > /dev/null && continue # not a real disk
|
|
sz=$(cat /sys/block/$shortname/size 2> /dev/null)
|
|
[ -z "$sz" ] && continue
|
|
[ $sz -lt 1048576 ] && continue # Too small
|
|
[ -z "$firstdisk" ] && firstdisk=$shortname
|
|
if udevadm info --query=property /dev/$shortname|grep ID_MODEL=| sed -e s/' '/_/g | grep -iE '(thinksystem_m.2|m.2_nvme_2-bay_raid_kit)' > /dev/null; then
|
|
instdisk=$shortname
|
|
break
|
|
fi
|
|
if udevadm info --query=property /dev/$shortname|grep MD_CONTAINER=imsm; then
|
|
sraid=$sortname
|
|
else
|
|
drv=$(udevadm info -a /dev/sdb|grep DRIVERS==|grep -Ev '""|"sd"' | sed -e s/.*=// -e s/'"'//g)
|
|
if [ "ahci" = "$drv" -a -z "$onbdisk" ]; then
|
|
onbdisk=$shortname
|
|
elif [ "megaraid" = "$drv" -a -z "$rdisk" ]; then
|
|
rdisk=$shortname
|
|
fi
|
|
fi
|
|
done
|
|
fi
|
|
if [ -z "$instdisk" ]; then
|
|
if [ ! -z "$sraid"]; then
|
|
instdisk=$sraid
|
|
elif [ ! -z "$onbdisk" ]; then
|
|
instdisk=$onbdisk
|
|
elif [ ! -z "$rdisk" ]; then
|
|
instdisk=$rdisk
|
|
else
|
|
instdisk=$firstdisk
|
|
fi
|
|
fi
|
|
if [ ! -z "$instdisk" ]; then
|
|
debconf-set partman-auto/disk /dev/$instdisk
|
|
fi
|
|
echo HostbasedAuthentication yes >> /etc/ssh/sshd_config
|
|
echo HostbasedUsesNameFromPacketOnly yes >> /etc/ssh/sshd_config
|
|
echo IgnoreRhosts no >> /etc/ssh/sshd_config
|
|
echo sshd:x:1:1::/run/sshd:/bin/false >> /etc/passwd
|
|
/usr/sbin/sshd
|
|
wget --header="CONFLUENT_NODENAME: $nodename" --header="CONFLUENT_APIKEY: $apikey" https://$mgr/confluent-api/self/nodelist -O /tmp/allnodes --quiet
|
|
#kill -HUP $(ps | grep -v grep | grep /usr/sbin/sshd | sed -e 's/^ *//'|cut -d ' ' -f 1)
|
|
#curl -f https://$confluent_mgr/confluent-public/os/$confluent_profile/scripts/getinstalldisk > /tmp/getinstalldisk
|
|
#python3 /tmp/getinstalldisk
|
|
#sed -i s!%%INSTALLDISK%%!/dev/$(cat /tmp/installdisk)! /autoinstall.yaml
|