From c68c387091a2a6cfc3fe4286b79c18553a255dab Mon Sep 17 00:00:00 2001 From: S Date: Sun, 1 Mar 2026 10:11:16 -0500 Subject: [PATCH] feat: smart capacity defaults and per-runner data paths in runner wizard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Capacity defaults: Unraid=2, Fedora=2, macOS=1 (based on host type) - Data path appends runner name to base path to prevent collisions - RUNNER_DEFAULT_DATA_PATH → RUNNER_DATA_BASE_PATH - LOCAL_RUNNER_DATA_PATH → LOCAL_RUNNER_DATA_BASE_PATH Co-Authored-By: Claude Opus 4.6 --- setup/configure_runners.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/setup/configure_runners.sh b/setup/configure_runners.sh index fb01491..7074e18 100755 --- a/setup/configure_runners.sh +++ b/setup/configure_runners.sh @@ -16,7 +16,7 @@ RUNNERS_CONF="${PROJECT_ROOT}/runners.conf" # shellcheck disable=SC1091 source "${PROJECT_ROOT}/lib/common.sh" -# Load .env for defaults (RUNNER_DEFAULT_IMAGE, RUNNER_DEFAULT_CAPACITY, etc.) +# Load .env for defaults (RUNNER_DEFAULT_IMAGE, RUNNER_DATA_BASE_PATH, etc.) load_env # Colors — only emit ANSI escapes when stdout is a terminal (not piped/redirected) @@ -404,9 +404,9 @@ for ((i = 0; i < runner_count; i++)); do fi if [[ -z "$path_default" ]]; then if [[ "$r_type" == "native" ]]; then - path_default="${LOCAL_RUNNER_DATA_PATH:-~/gitea-runner}" + path_default="${LOCAL_RUNNER_DATA_BASE_PATH:-~/gitea-runner}/${r_name}" else - path_default="${RUNNER_DEFAULT_DATA_PATH:-/mnt/nvme/gitea-runner}" + path_default="${RUNNER_DATA_BASE_PATH:-/mnt/nvme/gitea-runner}/${r_name}" fi fi prompt_field "data_path" "absolute path for runner data" "runner_path" "$path_default" @@ -460,7 +460,12 @@ for ((i = 0; i < runner_count; i++)); do cap_default=$(ini_default_get "$ex_name" "capacity" "") fi if [[ -z "$cap_default" ]]; then - cap_default="${RUNNER_DEFAULT_CAPACITY:-1}" + # Smart defaults per host type + case "$r_host" in + UNRAID) cap_default=2 ;; + FEDORA) cap_default=2 ;; + *) cap_default=1 ;; # macOS / native + esac fi prompt_field "capacity" "max concurrent jobs (>= 1)" "capacity" "$cap_default" save_runner_field "$r_name" "capacity" "$PROMPT_RESULT"