Files
infra-maintenance/.gitea/workflows/authelia.yaml
matthiasberner 1479c3f0ab
Some checks failed
continuous-integration/drone/push Build was killed
Authelia Update Check / check-and-notify (push) Failing after 1m30s
.gitea/workflows/authelia.yaml aktualisiert
2026-01-11 16:14:25 +01:00

68 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Authelia Update Check
on:
push:
workflow_dispatch:
inputs:
args:
description: 'Argumente (z.B. --apply)'
required: false
default: ''
jobs:
check-and-notify:
runs-on: ubuntu-latest
steps:
- name: SSH Execution and Logic
id: ssh_step
uses: https://github.com/appleboy/ssh-action@v1.0.3
with:
host: 10.0.4.18
username: root
password: ${{ secrets.PASSWORD_AUTHELIA }}
port: 22
# Wir nutzen hier die GitHub Actions Syntax für den Zugriff auf Inputs
script: |
fetch -o /tmp/authelia-update.sh https://git.familie-berner.de/Open/infra-maintenance/raw/branch/main/authelia/authelia-update.sh
chmod +x /tmp/authelia-update.sh
set +e
# Fallunterscheidung: Entweder Input von UI oder leer
ARGS="${{ github.event.inputs.args }}"
timeout 10m /tmp/authelia-update.sh $ARGS
EXIT_CODE=$?
set -e
case $EXIT_CODE in
0) MSG="✅ Update erfolgreich / Alles aktuell" ;;
10) MSG=" Update verfügbar, aber nicht angewendet" ;;
64) MSG="❌ Fehler: Ungültige Parameter" ;;
69) MSG="🌐 Fehler: Netzwerk/GitHub nicht erreichbar" ;;
70) MSG="📂 Fehler: Authelia Binary nicht gefunden" ;;
75) MSG="🔥 KRITISCH: Dienst startet nicht!" ;;
*) MSG="❓ Unbekannter Fehler (Code: $EXIT_CODE)" ;;
esac
# Wir schreiben die Outputs für die Gitea-Umgebung
echo "status_msg=$MSG" >> $GITHUB_OUTPUT
echo "exit_code=$EXIT_CODE" >> $GITHUB_OUTPUT
if [ $EXIT_CODE -ne 0 ] && [ $EXIT_CODE -ne 10 ]; then exit $EXIT_CODE; fi
- name: Matrix Notification via Curl
if: always()
run: |
# Wir holen uns den Access Token
TOKEN_JSON=$(curl -s -X POST -d "{\"type\":\"m.login.password\", \"user\":\"${{ secrets.USERID_MATRIX }}\", \"password\":\"${{ secrets.PASSWORD_MATRIX }}\"}" "https://matrix.familie-berner.de/_matrix/client/r0/login")
TOKEN=$(echo $TOKEN_JSON | sed -nE 's/.*"access_token":"([^"]+)".*/\1/p')
# Nachricht zusammenbauen
MSG="${{ steps.ssh_step.outputs.status_msg || 'Build-Fehler vor SSH Ausführung' }}"
CODE="${{ steps.ssh_step.outputs.exit_code || 'N/A' }}"
BODY="### Authelia Bericht\n**Status:** $MSG\n**Exit-Code:** $CODE\n[Protokoll ansehen](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})"
# Senden an Matrix
curl -s -X POST -d "{\"msgtype\":\"m.text\", \"format\":\"org.matrix.custom.html\", \"formatted_body\":\"$(echo -e $BODY)\", \"body\":\"$BODY\"}" \
"https://matrix.familie-berner.de/_matrix/client/r0/rooms/${{ secrets.ROOMID_MATRIX }}/send/m.room.message?access_token=$TOKEN"