CD_DNS_SERVERS=( '9.9.9.9' ) CD_REPOSITORY='rwx.work/cd' CD_DNS_FILE='/etc/resolv.conf' case "${CD_OS_NAME}" in 'debian') case "${CD_OS_VERSION}" in 'bookworm') echo 'bookworm!' ;; *) echo 'CD_OS_VERSION' exit 2 ;; esac ;; *) echo 'CD_OS_NAME' exit 1 ;; esac function split { [ "${1}" ] && echo " ${1} " } split " 1/14 set name servers" for server in "${CD_DNS_SERVERS[@]}" ; do echo "nameserver ${server}" \ >> "${CD_DNS_FILE}" \ || exit done split " 2/14 configure package manager" echo -n "\ Acquire::Check-Valid-Until True; APT::Get::Show-Versions True; APT::Install-Recommends False; APT::Install-Suggests False; Dir::Etc::SourceParts ''; " > '/etc/apt/apt.conf.d/apt.conf' \ || exit split " 3/14 configure package repositories" echo -n "\ deb https://deb.debian.org/debian bookworm main deb https://deb.debian.org/debian bookworm-backports main deb https://deb.debian.org/debian bookworm-updates main deb https://deb.debian.org/debian-security bookworm-security main " > '/etc/apt/sources.list' \ || exit split " 4/14 disable package verification" echo -n "\ Acquire::https::Verify-Peer False; " > '/etc/apt/apt.conf.d/https' \ || exit split " 5/14 update package catalog" apt-get update \ || exit split " 6/14 install CA certificates package" apt-get install --yes 'ca-certificates' \ || exit split " 7/14 enable package verification" rm '/etc/apt/apt.conf.d/https' \ || exit split " 8/14 update package catalog" apt-get update \ || exit split " 9/14 upgrade packages" apt-get upgrade --yes \ || exit split "10/14 install Git" apt-get install --yes 'git' \ || exit DIRECTORY="$(mktemp --directory)" \ || exit split "11/14 clone Continuous Delivery" git clone \ "${GITHUB_SERVER_URL}/${CD_REPOSITORY}" \ "${DIRECTORY}" \ || exit split "12/14 install Python" apt-get install --yes 'python3' \ || exit split "13/14 clean package cache" apt-get clean \ || exit split "14/14 bootstrap" "${DIRECTORY}/bootstrap.sh"