Verzeichnis 'mirror ' löschen
This commit is contained in:
@@ -1,62 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Laeuft als unprivilegierter User "mirror" (siehe entrypoint.sh, der als
|
||||
# root die Verzeichnisrechte setzt und dann per setpriv hierher wechselt).
|
||||
set -euo pipefail
|
||||
|
||||
: "${GPG_NAME:?GPG_NAME muss gesetzt sein}"
|
||||
: "${GPG_EMAIL:?GPG_EMAIL muss gesetzt sein}"
|
||||
: "${SYNC_INTERVAL_SECONDS:=21600}"
|
||||
|
||||
mkdir -p "$GNUPGHOME"
|
||||
chmod 700 "$GNUPGHOME"
|
||||
echo "allow-loopback-pinentry" > "$GNUPGHOME/gpg-agent.conf"
|
||||
echo "pinentry-mode loopback" > "$GNUPGHOME/gpg.conf"
|
||||
|
||||
PASSPHRASE_FILE=/run/secrets/gpg_passphrase
|
||||
if [ -z "${GPG_PASSPHRASE:-}" ] && [ ! -f "$PASSPHRASE_FILE" ]; then
|
||||
PASSPHRASE_FILE=""
|
||||
fi
|
||||
|
||||
# GPG-Key nur beim allerersten Start erzeugen. Das gnupg-Home liegt im
|
||||
# bind-gemounteten ./gpg-Ordner neben der docker-compose.yml - der Key (und
|
||||
# damit der Public Key, den alle Clients einmalig vertrauen) bleibt ueber
|
||||
# Container-Neustarts/-Updates hinweg gleich UND ist direkt auf dem Host
|
||||
# sichtbar/sicherbar, statt in einem anonymen Docker-Volume zu stecken.
|
||||
if ! gpg --batch --list-secret-keys "$GPG_NAME" >/dev/null 2>&1; then
|
||||
echo "[entrypoint] Erzeuge neuen Signing-Key fuer '$GPG_NAME <$GPG_EMAIL>' ..."
|
||||
KEYPARAMS=$(mktemp)
|
||||
{
|
||||
echo "%echo Generating mirror signing key"
|
||||
echo "Key-Type: RSA"
|
||||
echo "Key-Length: 4096"
|
||||
echo "Name-Real: $GPG_NAME"
|
||||
echo "Name-Email: $GPG_EMAIL"
|
||||
echo "Expire-Date: 0"
|
||||
if [ -n "$PASSPHRASE_FILE" ]; then
|
||||
echo "Passphrase: $(cat "$PASSPHRASE_FILE")"
|
||||
else
|
||||
echo "%no-protection"
|
||||
fi
|
||||
echo "%commit"
|
||||
} > "$KEYPARAMS"
|
||||
gpg --batch --gen-key "$KEYPARAMS"
|
||||
rm -f "$KEYPARAMS"
|
||||
else
|
||||
echo "[entrypoint] Signing-Key existiert bereits, wird wiederverwendet."
|
||||
fi
|
||||
|
||||
mkdir -p /srv/dnf
|
||||
gpg --batch --yes --armor --export "$GPG_NAME" > /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