20 Commits

Author SHA1 Message Date
Gabriel Nützi
6dd52a3783 feat: Add better tooling and CI
- Improve the build of the image by introducing `build.sh`.
  It can be used with `podman` or `buildah` and
  also provides a way of building a `dev` or `prod`
  image for development purposes by
  `build.sh [dev|prod]`.

- CI runs this script as well with `buildah`.

Signed-off-by: Gabriel Nützi <gnuetzi@gmail.com>
2024-07-10 10:03:34 -04:00
Chris Evich
adf47d94a5 Update setup docs
* Simplify the overview, include minimum podman version.
* Clarify linger setup
* Overhaul user-namespace setup section
* Rename "registration" to "activation" (gitlab 16+)

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-05-08 11:15:11 -04:00
Chris Evich
d8357d4688 Minor: Update build-schedule docs
In reality, the build pipeline is scheduled to run weekly, not daily.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-05-07 13:03:03 -04:00
Chris Evich
d0687408dc Add pre-commit hooks + CI
Signed-off-by: Chris Evich <cevich@redhat.com>
2024-04-02 14:19:30 -04:00
Gabriel Nützi
2cd27dfae9 doc: Format README.md 2024-04-02 20:13:42 +02:00
Chris Evich
a987bf649c Document immediate namespace update effect
Fixes #11

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-01-08 12:47:01 -05:00
Andrey Radchishin
6c752ebebf Allow overriding Gitlab URL 2023-12-18 12:28:30 -05:00
Chris Evich
c093d6a845 Improve user-namespace docs slightly
Try to explain in more detail and add new error-message possibility.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-10-04 14:36:44 -04:00
Chris Evich
7727884c55 Fix <65535 IDs available to nested containers
Fixes: #3

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-04-26 10:24:58 -04:00
Chris Evich
e297613194 Document need for enabling linger-mode
Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-16 11:55:14 -05:00
Chris Evich
9d8c463a7f Emphacise need to pre-create config.toml
The README did not make it clear enough that a blank `config.toml` file
needs to be pre-created before runner registration.  Otherwise the
`register` *runlabel* will silently fail to bind-mount the file into the
proper location inside the container.

While we're at it, also add a small example of why it may be a good idea
to edit the `config.toml` file before commiting it as a secret.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-01-31 13:43:32 -05:00
Chris Evich
6cb20272e4 Fix podman leaking conmon processes
When running in the background without a full-blown init system,
`podman system service` will leak `conmon` processes for every
gitlab-runner job that executes via the docker socket API.  These
`conmon` processes almost immediately becomes zombies, and are never
cleaned up.  Eventually the zombies will consume all available PIDs.

Many attempts to fix this in various ways have all failed.  In all cases
the GitLab Runner process will start behaving strangely (or fail
completely) after an amount of time dependent on its usage executing
jobs.

Fix this by entirely reimplementing *pipglr* to utilize systemd and a
pair of lingering user-slices.  One for podman, another for the gitlab
runner.  Include a systemd timer service to affect runner cleanup,
periodically. Also update documentation and examples accordingly.

Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
2023-01-28 09:59:59 -05:00
Chris Evich
75bdc3196f Docs: Update volume creation section
Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
2022-12-06 02:18:27 -05:00
Chris Evich
19a7e501be Docs update
Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-30 09:44:34 -05:00
Chris Evich
2bda4c3be6 Fix maintenance task
The function was defined but never called, resulting in immediate exit
of the maintenance script.  Fix this, also add a configuration build-arg and
ENV to control the cleaning interval.

Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
2022-11-23 12:10:07 -05:00
Chris Evich
df8f46eb2d Update docs and Containerfile to match
Fully tested README.md instructions end-to-end on F36.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-22 14:53:41 -05:00
Chris Evich
cbddc54007 Resolve TODO, update volume names, update docs.
Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
2022-11-18 21:56:24 -05:00
Chris Evich
0e51bfdf8e Support externally maintained DNF cache
Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
2022-11-18 21:50:34 -05:00
Chris Evich
b9e5e066c8 Update documentation
Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-10 11:53:56 -05:00
Chris Evich
9f16ea6bec initial commit
Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-10 10:36:16 -05:00