Initial commit
This commit is contained in:
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# Laeuft als unprivilegierter User "mirror" (siehe entrypoint.sh, der als root
|
||||
# den gemeinsamen Signing-Key nach $GNUPGHOME kopiert und dann per setpriv
|
||||
# hierher wechselt).
|
||||
set -euo pipefail
|
||||
|
||||
: "${GPG_KEY_ID:?GPG_KEY_ID muss gesetzt sein (gemeinsamer Signing-Key, siehe .env)}"
|
||||
: "${MIRROR_REPO_ID:=company-mirror}"
|
||||
: "${SYNC_INTERVAL_SECONDS:=21600}"
|
||||
|
||||
# Der Key wird NICHT vom Container erzeugt: beide Spiegel benutzen denselben,
|
||||
# extern erzeugten Key aus ./gpg (den entrypoint.sh als root hierher kopiert
|
||||
# hat). Ist er unbrauchbar, ist der ganze Sync sinnlos - lieber sofort und mit
|
||||
# einer Meldung abbrechen, die sagt, was stattdessen im Schluesselbund liegt.
|
||||
# shellcheck source=/dev/null
|
||||
. /usr/local/lib/gpg-import.sh
|
||||
require_usable_signing_key
|
||||
|
||||
mkdir -p /srv/dnf
|
||||
gpg --batch --yes --armor --export "$GPG_KEY_ID" > /srv/dnf/RPM-GPG-KEY-mirror
|
||||
echo "[entrypoint] Public Key nach /srv/dnf/RPM-GPG-KEY-mirror exportiert."
|
||||
|
||||
term_handler() {
|
||||
echo "[entrypoint] Beende nach aktuellem Sync-Lauf ..."
|
||||
exit 0
|
||||
}
|
||||
trap term_handler SIGTERM SIGINT
|
||||
|
||||
while true; do
|
||||
/usr/local/bin/sync.sh || echo "[entrypoint] sync.sh ist mit Fehler beendet, naechster Versuch in ${SYNC_INTERVAL_SECONDS}s"
|
||||
sleep "$SYNC_INTERVAL_SECONDS" &
|
||||
wait $!
|
||||
done
|
||||
Reference in New Issue
Block a user