spcd/bootstrap.sh

43 lines
817 B
Bash
Raw Normal View History

2024-04-22 17:41:01 +02:00
#! /usr/bin/env bash
2024-03-25 19:59:12 +01:00
FILE="$(realpath "${BASH_SOURCE[0]}")"
ROOT="$(dirname "${FILE}")"
2024-03-25 20:49:12 +01:00
COMMANDS='cmd'
2024-03-25 12:53:37 +01:00
KEY_ALGORITHM='ed25519'
2024-03-25 15:47:24 +01:00
KEY_DIRECTORY='.ssh'
KEY_PATH="${KEY_DIRECTORY}/id_${KEY_ALGORITHM}"
2024-03-25 12:53:37 +01:00
KEY_PUBLIC='AAAAC3NzaC1lZDI1NTE5AAAAIPHCNcgHlQoiNTXfnUZYvHz9OZwYsmBCrSSV7a7Zche5'
PACKAGES=(
2024-04-08 11:45:40 +02:00
'openssh-client'
2024-03-25 12:53:37 +01:00
'rsync'
'tree'
)
SERVER="$(basename ${GITHUB_SERVER_URL})"
2024-03-25 19:59:12 +01:00
TARGET='/usr/local/sbin'
# commands
2024-03-25 20:49:12 +01:00
cd "${ROOT}/${COMMANDS}" \
2024-03-25 19:59:12 +01:00
|| exit
for file in *.sh ; do
2024-03-25 20:52:27 +01:00
cp "${file}" "${TARGET}/${file%.sh}" \
2024-03-25 19:59:12 +01:00
|| exit
done
2024-03-25 12:53:37 +01:00
2024-03-23 09:39:00 +01:00
# ssh
2024-03-25 15:47:24 +01:00
cd \
|| exit
mkdir "${KEY_DIRECTORY}" \
2024-03-25 12:53:37 +01:00
|| exit
echo "${CD}" > "${KEY_PATH}" \
|| exit
2024-03-23 00:59:39 +01:00
unset CD
2024-03-25 12:53:37 +01:00
chmod '400' "${KEY_PATH}" \
|| exit
2024-03-25 15:42:26 +01:00
echo "${SERVER} ssh-${KEY_ALGORITHM} ${KEY_PUBLIC}" \
2024-03-25 15:47:24 +01:00
> "${KEY_DIRECTORY}/known_hosts" \
2024-03-25 12:53:37 +01:00
|| exit
2024-03-23 09:52:09 +01:00
2024-03-23 12:10:20 +01:00
# packages
2024-03-25 20:03:02 +01:00
apt-get install --yes "${PACKAGES[@]}" \
|| exit