Initial commit
This commit is contained in:
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Startet als root, uebernimmt den gemeinsamen, EXTERN erzeugten Signing-Key
|
||||
# aus dem read-only gemounteten /run/secrets/gpg (auf dem Host: ./gpg neben
|
||||
# der docker-compose.yml) in ein containerlokales GNUPGHOME, das dem
|
||||
# unprivilegierten "mirror"-User gehoert - und wechselt dann per setpriv
|
||||
# dauerhaft zu diesem User (ersetzt den Prozess direkt, kein Wrapper-
|
||||
# Kindprozess, damit Signale/PID 1 sauber bleiben).
|
||||
#
|
||||
# Bewusst eine Kopie statt direkt auf dem Mount zu arbeiten: gpg schreibt in
|
||||
# seinem Homedir (trustdb, random_seed, Lockfiles), und derselbe Ordner ist
|
||||
# gleichzeitig im flatpak-mirror-Container gemountet. Die Kopie haelt das
|
||||
# Original unveraendert und vermeidet, dass sich beide Container beim
|
||||
# Signieren gegenseitig ins Gehege kommen.
|
||||
set -euo pipefail
|
||||
|
||||
GPG_SOURCE=/run/secrets/gpg
|
||||
export GNUPGHOME="${GNUPGHOME:-/etc/mirror-gpg}"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
. /usr/local/lib/gpg-import.sh
|
||||
|
||||
import_shared_gpg
|
||||
|
||||
mkdir -p /srv/dnf /var/cache/mirror
|
||||
chown -R mirror:mirror "$GNUPGHOME" /srv/dnf /var/cache/mirror
|
||||
|
||||
exec setpriv --reuid=mirror --regid=mirror --init-groups /usr/local/bin/run-as-mirror.sh
|
||||
Reference in New Issue
Block a user