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:
Chris Evich
2024-02-16 13:17:39 -05:00
parent 2161f09276
commit 942d58d41c
6 changed files with 117 additions and 19 deletions

View File

@@ -159,34 +159,30 @@ to reflect the number of registered runners. If you need to edit this file
after committing it as a secret, there's
[ a `dumpconfig` *runlabel* for that](README.md#configuration-editing).
#### Volume setup (step 5)
#### Quadlet setup and container start (step 5)
Since several users are utilized inside the container volumes must be
specifically configured to permit access. This is done using several
*runlabels* as follows:
**Note**: If your system is missing or does not support the use of quadlet
(`man 5 podman-systemd.unit`), you'll find [manual volume setup steps
here](manual_setup.md).
Create and copy the quadlet configuration files:
```bash
$ IMAGE="registry.gitlab.com/qontainers/pipglr:latest"
$ podman container runlabel setupstorage $IMAGE
$ podman container runlabel setupcache $IMAGE
$ mkdir -p ~/.config/containers/systemd
$ cp quadlet/* ~/.config/containers/systemd/
```
Note: These volumes generally do not contain any critical operational data,
they may be re-created anytime to quickly free up host disk-space if
it's running low. Simply remove them with the command
`podman volume rm pipglr-storage pipglr-cache`. Then reuse the `setupstorage`
and `setupcache` *runlabels* as in the above example.
#### Runner Startup (step 6)
With the runner configuration saved as a Podman secret, and the runner volumes
created, the GitLab runner container may be launched with the following commands:
Finally, reload the local systemd user-slice to generate the unit files,
and fire up pipglr!
```bash
$ IMAGE="registry.gitlab.com/qontainers/pipglr:latest"
$ podman container runlabel run $IMAGE
$ systemd --user daemon-reload
$ systemd start pipglr
```
If you want the service to start automatically on boot, you may run
`systemctl --user enable podman-restart.service`
### Configuration Editing
The gitlab-runner configuration contains some sensitive values which