50 lines
1.7 KiB
Plaintext
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 |