diff --git a/ct/forgejo-runner.sh b/ct/forgejo-runner.sh index 652085ff..93470d3c 100644 --- a/ct/forgejo-runner.sh +++ b/ct/forgejo-runner.sh @@ -18,6 +18,12 @@ var_unprivileged="${var_unprivileged:-1}" var_nesting="${var_nesting:-1}" var_keyctl="${var_keyctl:-1}" +# App-specific variables (not in build.func whitelist) +# Export so they survive lxc-attach into the container +export var_forgejo_instance="${var_forgejo_instance:-}" +export var_forgejo_runner_token="${var_forgejo_runner_token:-}" +export var_runner_labels="${var_runner_labels:-}" + header_info "$APP" variables color diff --git a/install/forgejo-runner-install.sh b/install/forgejo-runner-install.sh index 97968e75..1d2b9910 100644 --- a/install/forgejo-runner-install.sh +++ b/install/forgejo-runner-install.sh @@ -12,19 +12,31 @@ setting_up_container network_check update_os -# Get required configuration with sensible fallbacks for unattended mode -# These will show a warning if defaults are used -var_forgejo_instance=$(prompt_input_required \ - "Forgejo Instance URL:" \ - "${var_forgejo_instance:-https://codeberg.org}" \ - 120 \ - "var_forgejo_instance") +# Get required configuration — skip prompts if already set (generated/unattended mode) +if [[ -z "${var_forgejo_instance:-}" ]]; then + read -r -p "${TAB3}Forgejo Instance URL (e.g. https://codeberg.org): " var_forgejo_instance + var_forgejo_instance="${var_forgejo_instance:-https://codeberg.org}" +fi -var_forgejo_runner_token=$(prompt_input_required \ - "Forgejo Runner Registration Token:" \ - "${var_forgejo_runner_token:-REPLACE_WITH_YOUR_TOKEN}" \ - 120 \ - "var_forgejo_runner_token") +if [[ -z "${var_forgejo_runner_token:-}" ]]; then + read -r -p "${TAB3}Forgejo Runner Registration Token: " var_forgejo_runner_token +fi + +if [[ -z "${var_forgejo_runner_token:-}" ]]; then + msg_error "No runner registration token provided. Cannot continue." + exit 1 +fi + +# Runner labels — default is always included; additional labels are appended +DEFAULT_RUNNER_LABELS="linux-amd64:docker://node:22-bookworm" +if [[ -z "${var_runner_labels:-}" ]]; then + read -r -p "${TAB3}Additional runner labels (comma-separated, or leave blank for default only): " var_runner_labels +fi +if [[ -n "${var_runner_labels:-}" ]]; then + RUNNER_LABELS="${DEFAULT_RUNNER_LABELS},${var_runner_labels}" +else + RUNNER_LABELS="${DEFAULT_RUNNER_LABELS}" +fi export FORGEJO_INSTANCE="$var_forgejo_instance" export FORGEJO_RUNNER_TOKEN="$var_forgejo_runner_token" @@ -52,7 +64,7 @@ forgejo-runner register \ --instance "$FORGEJO_INSTANCE" \ --token "$FORGEJO_RUNNER_TOKEN" \ --name "$HOSTNAME" \ - --labels "linux-amd64:docker://node:20-bookworm" \ + --labels "$RUNNER_LABELS" \ --no-interactive msg_ok "Registered Forgejo Runner" @@ -79,9 +91,6 @@ EOF systemctl enable -q --now forgejo-runner msg_ok "Created Services" -# Show warning if any required values used fallbacks -show_missing_values_warning - motd_ssh customize cleanup_lxc