#!/bin/bash
set -euo pipefail

INSTANCE="${1:?Usage: gitea-act-runner-setup <instance-name>}"
RUNNER_DIR="/var/lib/gitea/runners/${INSTANCE}"
CONFIG="/etc/gitea/runners/${INSTANCE}.yaml"

if [ ! -f "$CONFIG" ]; then
    echo "Config not found: $CONFIG"
    echo "Copy /etc/gitea/runners/runner1.yaml to $CONFIG first."
    exit 1
fi

mkdir -p "$RUNNER_DIR"
chown gitea-runner:gitea-runner "$RUNNER_DIR"

mkdir -p "$RUNNER_DIR"
chown gitea-runner:gitea-runner "$RUNNER_DIR"

# Enable rootless podman socket (once per user, idempotent)
RUNNER_HOME=$(getent passwd gitea-runner | cut -d: -f6)
SOCKET_WANTS="${RUNNER_HOME}/.config/systemd/user/sockets.target.wants"
PODMAN_SOCKET="/usr/lib/systemd/user/podman.socket"
if [ -f "$PODMAN_SOCKET" ] && [ ! -L "${SOCKET_WANTS}/podman.socket" ]; then
    mkdir -p "$SOCKET_WANTS"
    ln -s "$PODMAN_SOCKET" "${SOCKET_WANTS}/podman.socket"
    chown -R gitea-runner:gitea-runner "${RUNNER_HOME}/.config"
fi

cd "$RUNNER_DIR"
sudo -u gitea-runner gitea-act-runner register -c "$CONFIG"
