coreos-home-server/config/service/git/systemd/git-ssh-pubkey@.service
Alex Palaistras 79231c37f1 Set generic Podman defaults and per-service log IDs
Defaults for Podman that were previous applied as command-line arguments
to all `podman run` or `podman create` invocations are now specified in
a dedicated configuration file.

Services are also better identified against their name rather than the
generic `podman` ID derived from the `ExecStart` invocations.
2021-08-28 22:27:54 +01:00

23 lines
1.1 KiB
Desktop File

[Unit]
Description=Git SSH Authentication via Public Key File /%I
Wants=git.service
After=git.service
ConditionFileNotEmpty=/%I
[Service]
Type=oneshot
RemainAfterExit=true
SyslogIdentifier=%N
ExecStartPre=/bin/podman exec git install --owner 10000 --group 10000 --mode 0700 -d /var/lib/git/.ssh
ExecStartPre=/bin/podman exec git install -d /var/lib/git/.ssh/authorized_keys.d
ExecStart=/bin/podman cp /%I git:/var/lib/git/.ssh/authorized_keys.d/%i
ExecStartPost=/bin/podman exec git ssh-keygen -l -f /var/lib/git/.ssh/authorized_keys.d/%i
ExecStartPost=/bin/podman exec git sh -c "cat /var/lib/git/.ssh/authorized_keys.d/* > /tmp/authorized_keys"
ExecStartPost=/bin/podman exec git install --owner 10000 --group 10000 --mode 0600 /tmp/authorized_keys /var/lib/git/.ssh/authorized_keys
ExecStop=/bin/podman exec git rm -f /var/lib/git/.ssh/authorized_keys.d/%i
ExecStopPost=/bin/podman exec git sh -c "cat /var/lib/git/.ssh/authorized_keys.d/* > /tmp/authorized_keys"
ExecStopPost=/bin/podman exec git install --owner 10000 --group 10000 --mode 0600 /tmp/authorized_keys /var/lib/git/.ssh/authorized_keys
[Install]
WantedBy=multi-user.target