2024-11-01 20:34:12 +01:00

50 lines
1.7 KiB
Plaintext

#!/command/with-contenv bashio
# shellcheck shell=bash
# ==============================================================================
# Home Assistant Community Add-on: actrunner
# Runs actrunner script
# ==============================================================================
declare log_level
bashio::log.info 'Starting actrunner...'
journal_path='/var/log/journal'
if ! bashio::fs.directory_exists "${journal_path}" || [ -z "$(ls -A ${journal_path})" ]; then
bashio::log.info "No journal at ${journal_path}, looking for journal in /run/log/journal instead"
journal_path='/run/log/journal'
fi
case "$(bashio::config 'log_level')" in \
trace) ;& \
debug) log_level='debug' ;; \
notice) ;& \
warning) log_level='warn' ;; \
error) ;& \
fatal) log_level='error' ;; \
*) log_level='info' ;; \
esac;
bashio::log.info "Promtail log level set to ${log_level}"
export "JOURNAL_PATH=${journal_path}"
export "LOG_LEVEL=${log_level}"
# Activate the Ansible virtual environment
source /opt/ansible-venv/bin/activate
# Load configuration from Home Assistant
GITEA_URL=$(bashio::config 'gitea_url')
GITEA_TOKEN=$(bashio::config 'gitea_token')
REPOSITORY=$(bashio::config 'repository')
ACT_OPTIONS=$(bashio::config 'act_runner_options')
# Activate the Ansible virtual environment
source /opt/ansible-venv/bin/activate
# Register Act runner with Gitea (if needed)
curl -X POST "$GITEA_URL/api/v1/repos/$REPOSITORY/actions/runners" \
-H "Authorization: token $GITEA_TOKEN" \
-d '{ "name": "Act Runner", "labels": ["self-hosted"] }'
bashio::log.info "Handing over control to actrunner..."
exec /usr/local/bin/act $ACT_OPTIONS