Compare commits

...

3 Commits

Author SHA1 Message Date
Ethan Paul
5e9ccebe4f Add missing kustomize dependency to toolbox image 2025-12-01 15:11:06 -05:00
Ethan Paul
b3943566b5 Update act runner to use dedicated local SSH key for access 2025-12-01 15:04:04 -05:00
Ethan Paul
418f39d0b9 Update build script to generate and use dedicated local SSH key 2025-11-18 09:18:25 -08:00
3 changed files with 14 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -eo pipefail
if [ $# -lt 1 ]; then if [ $# -lt 1 ]; then
echo "ERROR: Specify config path" echo "ERROR: Specify config path"
@@ -20,9 +20,11 @@ BUTANE_CONFIG="${CONFIG_PATH}/act-runner.bu"
VCPUS="8" VCPUS="8"
RAM_MB="16132" RAM_MB="16132"
DISK_GB="100" DISK_GB="100"
SSH_KEY="${HOME}/.ssh/_${HOSTNAME}_act_runner_ed25519"
IGNITION_PATH="${CONFIG_PATH}/${NAME}.ign" IGNITION_PATH="${CONFIG_PATH}/${NAME}.ign"
IMAGE_PATH="${CONFIG_PATH}/${NAME}.qcow2" IMAGE_PATH="${CONFIG_PATH}/${NAME}.qcow2"
DOWNLOAD_PATH="$(mktemp -d)"
KVM="qemu:///session" KVM="qemu:///session"
if ! systemctl is-active libvirtd --quiet; then if ! systemctl is-active libvirtd --quiet; then
@@ -45,21 +47,23 @@ if [[ $all_vms == *"${NAME}"* ]]; then
rm "${IGNITION_PATH}" rm "${IGNITION_PATH}"
fi fi
download_dir=$(mktemp -d)
podman run \ podman run \
--rm \ --rm \
-v "${download_dir}:/data:z" \ -v "${DOWNLOAD_PATH}:/data:z" \
-w /data \ -w /data \
quay.io/coreos/coreos-installer:release \ quay.io/coreos/coreos-installer:release \
download -s "${STREAM}" -p qemu -f qcow2.xz --decompress download -s "${STREAM}" -p qemu -f qcow2.xz --decompress
download_image=$(command ls "${download_dir}"/*.qcow2) download_image=$(command ls "${DOWNLOAD_PATH}"/*.qcow2)
mv "${download_image}" "${IMAGE_PATH}" mv "${download_image}" "${IMAGE_PATH}"
echo "${HOSTNAME}-act-runner" >"${CONFIG_PATH}/hostname" echo "${HOSTNAME}-act-runner" >"${CONFIG_PATH}/hostname"
cat ~/.ssh/*.pub >"${CONFIG_PATH}/core_ssh_keys.pub"
if [ ! -f "${SSH_KEY}" ]; then
ssh-keygen -q -f "${SSH_KEY}" -t ed25519 -C "${USERNAME}@${HOSTNAME}-act-runner" -N ''
fi
cp "${SSH_KEY}.pub" "${CONFIG_PATH}/core_ssh_keys.pub"
mkdir --parents "${CONFIG_PATH}/host_keys" mkdir --parents "${CONFIG_PATH}/host_keys"

View File

@@ -27,6 +27,7 @@ RUN dnf install --assumeyes \
google-cloud-sdk-gke-gcloud-auth-plugin \ google-cloud-sdk-gke-gcloud-auth-plugin \
jq \ jq \
kubectl \ kubectl \
kustomize \
libacl-devel \ libacl-devel \
libffi-devel \ libffi-devel \
libpq-devel \ libpq-devel \

View File

@@ -10,10 +10,10 @@ function get_latest() {
function do_install() { function do_install() {
local name local name
name="${1}" name="${1}"
local url local url
url="${2}" url="${2}"
local working local working
working=$(mktemp -d) working=$(mktemp -d)
@@ -72,4 +72,4 @@ cosign=$(get_latest sigstore/cosign)
do_install cosign "https://github.com/sigstore/cosign/releases/download/${cosign}/cosign-${cosign:1}-1.x86_64.rpm" do_install cosign "https://github.com/sigstore/cosign/releases/download/${cosign}/cosign-${cosign:1}-1.x86_64.rpm"
codium=$(get_latest VSCodium/vscodium) codium=$(get_latest VSCodium/vscodium)
do_install codium "https://github.com/VSCodium/vscodium/releases/download/${codium}/codium-${codium}-el8.x86_64.rpm" do_install codium "https://github.com/VSCodium/vscodium/releases/download/${codium}/codium-${codium}-el8.x86_64.rpm"