Setup for quadlet/systemd runtime management
Rather than setting up volumes and starting the pipglr container manually, utilize quadlet + systemd. Retain the old setup and execution method, but move them into separate documentation. Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
13
quadlet/pipglr-cache.volume
Normal file
13
quadlet/pipglr-cache.volume
Normal file
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Podman-in-podman GitLab Runner job cache storage volume
|
||||
Documentation=https://gitlab.com/qontainers/pipglr/-/blob/main/README.md
|
||||
After=local-fs.target
|
||||
Requires=podman.socket
|
||||
|
||||
[Volume]
|
||||
VolumeName=pipglr-cache
|
||||
Copy=false
|
||||
# The `podman` user inside the container should own everything
|
||||
Options=o=uid=1000,gid=1000
|
||||
# Support podman...prune --filters=persistent!=true
|
||||
Label=persistent=true
|
||||
13
quadlet/pipglr-storage.volume
Normal file
13
quadlet/pipglr-storage.volume
Normal file
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Podman-in-podman GitLab Runner nested-container storage volume
|
||||
Documentation=https://gitlab.com/qontainers/pipglr/-/blob/main/README.md
|
||||
After=local-fs.target
|
||||
Requires=podman.socket
|
||||
|
||||
[Volume]
|
||||
VolumeName=pipglr-storage
|
||||
Copy=false
|
||||
# The `podman` user inside the container should own everything
|
||||
Options=o=uid=1000,gid=1000
|
||||
# Support podman...prune --filters=persistent!=true
|
||||
Label=persistent=true
|
||||
33
quadlet/pipglr.container
Normal file
33
quadlet/pipglr.container
Normal file
@@ -0,0 +1,33 @@
|
||||
[Unit]
|
||||
Description=Podman-in-podman GitLab Runner
|
||||
Documentation=https://gitlab.com/qontainers/pipglr/-/blob/main/README.md
|
||||
After=pipglr-storage-volume.service pipglr-cache-volume.service
|
||||
Requires=podman.socket pipglr-storage-volume.service pipglr-cache-volume.service
|
||||
|
||||
[Container]
|
||||
ContainerName=pipglr
|
||||
Image=registry.gitlab.com/qontainers/pipglr
|
||||
|
||||
# Required to run containers inside a container and ensure
|
||||
# container can be managed with podman-restart.service
|
||||
# Note: See https://github.com/containers/podman/issues/20418
|
||||
PodmanArgs=--privileged --restart=always
|
||||
|
||||
# A nested systemd is used to manage nested podman & gitlab runner services
|
||||
Systemd=true
|
||||
|
||||
# Allow jobs access to utilize fuse-overlayfs, for example to build container images.
|
||||
Device=/dev/fuse
|
||||
|
||||
# Must be owned by the gitlab-runner user
|
||||
Secret config.toml,uid=1001,gid=1001
|
||||
|
||||
# Add network isolation from other containers
|
||||
Network=pipglr.network
|
||||
|
||||
# Storage for nested container images and job cache
|
||||
Volume=pipglr-storage:/home/podman/.local/share/containers
|
||||
Volume=pipglr-cache:/cache
|
||||
|
||||
# No need to preserve this between runs
|
||||
VolatileTmp=true
|
||||
11
quadlet/pipglr.network
Normal file
11
quadlet/pipglr.network
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Podman-in-podman GitLab Runner dedicated network
|
||||
Documentation=https://gitlab.com/qontainers/pipglr/-/blob/main/README.md
|
||||
After=network-online.target
|
||||
Requires=podman.socket network.target
|
||||
|
||||
[Network]
|
||||
Driver=bridge
|
||||
# The pipglr container never accesses other containers on/or the host
|
||||
Options=isolate
|
||||
DisableDNS=true
|
||||
Reference in New Issue
Block a user