From ffd61cd754d258e1bb39910814a44ea82c8e07c2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 1 Jun 2025 17:37:45 +1200 Subject: [PATCH] 'Generic Commit' --- gitea-runner-docker/config/.template_info.env | 10 +++++++ gitea-runner-docker/config/service.env | 16 ++++++++++ gitea-runner-docker/destroy.sh | 13 ++++++++ gitea-runner-docker/install.sh | 15 ++++++++++ gitea-runner-docker/logs.sh | 8 +++++ gitea-runner-docker/ssh.sh | 16 ++++++++++ gitea-runner-docker/start.sh | 30 +++++++++++++++++++ gitea-runner-docker/status.sh | 10 +++++++ gitea-runner-docker/stop.sh | 9 ++++++ gitea-runner-docker/uninstall.sh | 14 +++++++++ squashkiwi/logs.sh | 3 +- 11 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 gitea-runner-docker/config/.template_info.env create mode 100644 gitea-runner-docker/config/service.env create mode 100755 gitea-runner-docker/destroy.sh create mode 100755 gitea-runner-docker/install.sh create mode 100644 gitea-runner-docker/logs.sh create mode 100644 gitea-runner-docker/ssh.sh create mode 100755 gitea-runner-docker/start.sh create mode 100755 gitea-runner-docker/status.sh create mode 100755 gitea-runner-docker/stop.sh create mode 100755 gitea-runner-docker/uninstall.sh diff --git a/gitea-runner-docker/config/.template_info.env b/gitea-runner-docker/config/.template_info.env new file mode 100644 index 0000000..5c59935 --- /dev/null +++ b/gitea-runner-docker/config/.template_info.env @@ -0,0 +1,10 @@ +# DO NOT EDIT THIS FILE FOR YOUR SERVICE! +# This file is replaced from the template whenever there is an update. +# Edit the service.env file to make changes. + + +# Template to use - always required! +TEMPLATE=gitea-runner +REQUIRES_HOST_ROOT=false +REQUIRES_DOCKER=true +REQUIRES_DOCKER_ROOT=true diff --git a/gitea-runner-docker/config/service.env b/gitea-runner-docker/config/service.env new file mode 100644 index 0000000..8e7c53e --- /dev/null +++ b/gitea-runner-docker/config/service.env @@ -0,0 +1,16 @@ +# Service settings specific to this server +# (can also override anything in the .template_info.env file in the template to make it specific to this server) + +# $HOME etc expanded on remote server by bash. +GITEA_RUNNER_DIRECTORY="${HOME}/.gitea-runner" +ACT_RUNNER_VERSION="0.2.11" +GITEA_URL="https://gitea.jde.nz" +GITEA_TOKEN="GITEA_TOKEN" +GITEA_RUNNER_NAME="${SERVER}-${SERVICE}" +GITEA_RUNNER_LABELS="ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster" + +CONTAINER_NAME="gitea-runner-${SERVICE}" + +# Server Settings +SSH_USER="dropshell" + diff --git a/gitea-runner-docker/destroy.sh b/gitea-runner-docker/destroy.sh new file mode 100755 index 0000000..7a22fe0 --- /dev/null +++ b/gitea-runner-docker/destroy.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "GITEA_RUNNER_DIRECTORY" + +# Call uninstall script first +./uninstall.sh + +echo "Removing ${GITEA_RUNNER_DIRECTORY}" +rm -rf "${GITEA_RUNNER_DIRECTORY}" + +echo "Destroyed ${SERVICE}" diff --git a/gitea-runner-docker/install.sh b/gitea-runner-docker/install.sh new file mode 100755 index 0000000..4d68344 --- /dev/null +++ b/gitea-runner-docker/install.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "TEMP_DIR" \ + "GITEA_RUNNER_DIRECTORY" "ACT_RUNNER_VERSION" \ + "GITEA_URL" "GITEA_TOKEN" "GITEA_RUNNER_NAME" "GITEA_RUNNER_LABELS" \ + "CONTAINER_NAME" + + +mkdir -p "${GITEA_RUNNER_DIRECTORY}" || _die "Failed to create ${GITEA_RUNNER_DIRECTORY}" + +./start.sh || _die "Failed to start" + +echo "Installation complete for service ${SERVICE}." diff --git a/gitea-runner-docker/logs.sh b/gitea-runner-docker/logs.sh new file mode 100644 index 0000000..90139f3 --- /dev/null +++ b/gitea-runner-docker/logs.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "CONTAINER_NAME" + +echo "Container ${CONTAINER_NAME} logs:" +docker logs "${CONTAINER_NAME}" diff --git a/gitea-runner-docker/ssh.sh b/gitea-runner-docker/ssh.sh new file mode 100644 index 0000000..9ef3e8e --- /dev/null +++ b/gitea-runner-docker/ssh.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "CONTAINER_NAME" + + +if ! _is_container_running "$CONTAINER_NAME"; then + _die "Container ${CONTAINER_NAME} is not running. Can't connect to it." +fi + +echo "Connecting to ${CONTAINER_NAME}..." + +docker exec -it "${CONTAINER_NAME}" bash + +echo "Disconnected from ${CONTAINER_NAME}" diff --git a/gitea-runner-docker/start.sh b/gitea-runner-docker/start.sh new file mode 100755 index 0000000..b12adf6 --- /dev/null +++ b/gitea-runner-docker/start.sh @@ -0,0 +1,30 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "TEMP_DIR" \ + "GITEA_RUNNER_DIRECTORY" "ACT_RUNNER_VERSION" \ + "GITEA_URL" "GITEA_TOKEN" "GITEA_RUNNER_NAME" "GITEA_RUNNER_LABELS" \ + "CONTAINER_NAME" + +DOCKER_RUN_CMD="docker run -d \ + --restart unless-stopped \ + --name ${CONTAINER_NAME} \ + -e GITEA_INSTANCE_URL=${GITEA_URL} \ + -e GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_TOKEN} \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v ${GITEA_RUNNER_DIRECTORY}:/data \ + gitea/act_runner:nightly" + + +if ! _create_and_start_container "$DOCKER_RUN_CMD" "$CONTAINER_NAME"; then + echo "${DOCKER_RUN_CMD}" + _die "Failed to start container ${CONTAINER_NAME}" +fi + +# Check if the container is running +if ! _is_container_running "$CONTAINER_NAME"; then + _die "Container ${CONTAINER_NAME} is not running" +fi + +echo "Container ${CONTAINER_NAME} started" diff --git a/gitea-runner-docker/status.sh b/gitea-runner-docker/status.sh new file mode 100755 index 0000000..b09dfd1 --- /dev/null +++ b/gitea-runner-docker/status.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "CONTAINER_NAME" + +_is_container_running "$CONTAINER_NAME" || _die "Service is not running - did not find container $CONTAINER_NAME." + +echo "Service is healthy" +exit 0 \ No newline at end of file diff --git a/gitea-runner-docker/stop.sh b/gitea-runner-docker/stop.sh new file mode 100755 index 0000000..9eb30ef --- /dev/null +++ b/gitea-runner-docker/stop.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "CONTAINER_NAME" + +_stop_container "$CONTAINER_NAME" || _die "Failed to stop container ${CONTAINER_NAME}" + +echo "Container ${CONTAINER_NAME} stopped" diff --git a/gitea-runner-docker/uninstall.sh b/gitea-runner-docker/uninstall.sh new file mode 100755 index 0000000..47000c3 --- /dev/null +++ b/gitea-runner-docker/uninstall.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -euo pipefail +# shellcheck disable=SC1091 +source "${AGENT_PATH}/common.sh" +_check_required_env_vars "SERVER" "SERVICE" "GITEA_RUNNER_DIRECTORY" "CONTAINER_NAME" + + + +_remove_container "$CONTAINER_NAME" || _die "Failed to remove container ${CONTAINER_NAME}" +_is_container_running && _die "Couldn't stop existing container" +_is_container_exists && _die "Couldn't remove existing container" + +echo "Uninstallation of ${CONTAINER_NAME} complete." +echo "Local data folder ${GITEA_RUNNER_DIRECTORY} still in place." diff --git a/squashkiwi/logs.sh b/squashkiwi/logs.sh index 5adf520..850702d 100755 --- a/squashkiwi/logs.sh +++ b/squashkiwi/logs.sh @@ -3,6 +3,5 @@ source "${AGENT_PATH}/common.sh" _check_required_env_vars "CONTAINER_NAME" echo "Container ${CONTAINER_NAME} logs:" -_grey_start + docker logs "${CONTAINER_NAME}" -_grey_end