Docs: Update volume creation section
Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
This commit is contained in:
35
README.md
35
README.md
@@ -27,21 +27,20 @@ lacks this feature, Several labels are set on the image to support
|
|||||||
easy registration and execution of a runner container using a special
|
easy registration and execution of a runner container using a special
|
||||||
bash command. See the examples below for more information.
|
bash command. See the examples below for more information.
|
||||||
|
|
||||||
#### [Volume Ownership Bug](https://github.com/containers/podman/issues/16576)
|
#### [Volume setup]
|
||||||
|
|
||||||
Some versions of podman contain a bug where named local volumes aren't owned
|
Since podman inside the container runs as user `podman`, the volumes
|
||||||
by the namespaced user within a rootless container (i.e. the 'podman' user).
|
used by it need to be pre-created with ownership information. While,
|
||||||
Since the `podman` user/group inside the `pipglr` container is known, it's
|
we're at it, might as well add the performance-improving `noatime`,
|
||||||
possible to manually setup ownership ahead of time. This should be be done
|
option as well.
|
||||||
once, prior to registering your runners:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ for VOLUME in pipglr-podman-root pipglr-config pipglr-podman-cache; do \
|
$ VOLOPTS="o=uid=1000,gid=1000,noatime"; \
|
||||||
|
for VOLUME in pipglr-podman-root pipglr-config pipglr-podman-cache; do \
|
||||||
|
podman volume create --opt $VOLOPTS $VOLUME || true ; \
|
||||||
VOLPTH=$(podman unshare podman volume mount $VOLUME)
|
VOLPTH=$(podman unshare podman volume mount $VOLUME)
|
||||||
podman volume create $VOLUME; \
|
podman unshare chown -c -R 1000:1000 $VOLPTH && \
|
||||||
podman unshare chown -R 1000:1000 $VOLPTH && \
|
podman unshare chmod -c 02770 $VOLPTH && \
|
||||||
podman unshare chmod 02770 $VOLPTH && \
|
|
||||||
podman unshare ls -land $VOLPTH ; \
|
|
||||||
podman unshare podman volume unmount $VOLUME ; \
|
podman unshare podman volume unmount $VOLUME ; \
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
@@ -49,7 +48,7 @@ $ for VOLUME in pipglr-podman-root pipglr-config pipglr-podman-cache; do \
|
|||||||
If you get `podman system service` startup permission-denied errors, or
|
If you get `podman system service` startup permission-denied errors, or
|
||||||
errors from gitlab-runner, unable to connect to the podman socket, this is
|
errors from gitlab-runner, unable to connect to the podman socket, this is
|
||||||
likely the cause. You can fix it after-the-fact using the same commands
|
likely the cause. You can fix it after-the-fact using the same commands
|
||||||
above. additionally target `./*`.
|
above.
|
||||||
|
|
||||||
#### Runner registration
|
#### Runner registration
|
||||||
|
|
||||||
@@ -112,6 +111,12 @@ For example, to display the config:
|
|||||||
$ podman unshare cat $(podman unshare podman volume mount pipglr-config)/config.toml
|
$ podman unshare cat $(podman unshare podman volume mount pipglr-config)/config.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Edit the config with your favorite `$EDITOR`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ podman unshare $EDITOR $(podman unshare podman volume mount pipglr-config)/config.toml
|
||||||
|
```
|
||||||
|
|
||||||
#### Debugging
|
#### Debugging
|
||||||
|
|
||||||
The first thing to check is the container output:
|
The first thing to check is the container output:
|
||||||
@@ -120,9 +125,9 @@ The first thing to check is the container output:
|
|||||||
$ podman logs --since 0 pipglr
|
$ podman logs --since 0 pipglr
|
||||||
```
|
```
|
||||||
|
|
||||||
Before starting the runner, you may `export PODMAN_RUNNER_DEBUG=debug` to enable
|
Next, try running pipglr after an `export PODMAN_RUNNER_DEBUG=debug` to enable
|
||||||
debugging on the inner-podman. Whereas `export LOG_LEVEL=debug` can be used to
|
debugging on the inner-podman. If more runner detail is needed, you can instead/additionally
|
||||||
debug the gitlab-runner itself.
|
set `export LOG_LEVEL=debug` to debug the gitlab-runner itself.
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user