update
This commit is contained in:
parent
4a50886434
commit
bde29c6731
@ -10,7 +10,7 @@ ARG \
|
||||
# Install necessary dependencies
|
||||
RUN apk add --no-cache git docker-cli python3 py3-pip && \
|
||||
curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
|
||||
|
||||
RUN adduser -s /bin/false -D -H actrunner
|
||||
# Create a directory for the virtual environment and install Ansible inside it
|
||||
RUN python3 -m venv /opt/ansible-venv && \
|
||||
/opt/ansible-venv/bin/pip install --no-cache-dir ansible
|
||||
@ -18,10 +18,8 @@ RUN python3 -m venv /opt/ansible-venv && \
|
||||
# Optional: Additional steps for SSH/GitHub authentication or configuration
|
||||
|
||||
# Copy your add-on scripts and configuration files
|
||||
COPY run.sh /run.sh
|
||||
RUN chmod +x /run.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
||||
COPY rootfs /
|
||||
RUN chmod +x /etc/services.d/actrunner/*
|
||||
|
||||
# Labels
|
||||
LABEL \
|
||||
|
15
gitea_act_runner/rootfs/etc/services.d/actrunner/finish
Normal file
15
gitea_act_runner/rootfs/etc/services.d/actrunner/finish
Normal file
@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bashio
|
||||
# ==============================================================================
|
||||
# Take down the S6 supervision tree when actrunner fails
|
||||
# s6-overlay docs: https://github.com/just-containers/s6-overlay
|
||||
# ==============================================================================
|
||||
|
||||
declare APP_EXIT_CODE=${1}
|
||||
|
||||
if [[ "${APP_EXIT_CODE}" -ne 0 ]] && [[ "${APP_EXIT_CODE}" -ne 256 ]]; then
|
||||
bashio::log.warning "Halt add-on with exit code ${APP_EXIT_CODE}"
|
||||
echo "${APP_EXIT_CODE}" > /run/s6-linux-init-container-results/exitcode
|
||||
exec /run/s6/basedir/bin/halt
|
||||
fi
|
||||
|
||||
bashio::log.info "Service restart after closing"
|
47
gitea_act_runner/rootfs/etc/services.d/actrunner/run
Normal file
47
gitea_act_runner/rootfs/etc/services.d/actrunner/run
Normal file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Add-on: actrunner
|
||||
# Runs actrunner
|
||||
# ==============================================================================
|
||||
readonly PROMTAIL_CONFIG='/etc/promtail/config.yaml'
|
||||
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')
|
||||
|
||||
# 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 s6-setuidgid actrunner act $ACT_OPTIONS
|
Loading…
x
Reference in New Issue
Block a user