Commit Graph

97 Commits

Author SHA1 Message Date
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
e55a0ca3a5 Merge branch 'update_cicd_runner_labels' into 'main'
Use small/medium public runners

See merge request qontainers/pipglr!47
2024-05-07 17:02:26 +00:00
Chris Evich
81d62b08c7 Use small/medium public runners
For whatever reason the `docker`/`linux` tags do not appear in the list
of public runners.  Update to values actually present, guessing at their
meaning.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-05-07 12:39:51 -04:00
Chris Evich
9cd88ce8ae Merge branch 'feature/2-refactor-setup' into 'main'
feat: Refactor setup

See merge request qontainers/pipglr!39
2024-04-19 16:36:58 +00:00
Gabriel Nützi
b78565281e feat: Refactor setup script into function calls
- The setup script has been broken up into function calls
  to improve readability and further maintenance.
  Also its beneficial for other derivations with different
  base OS.

Signed-off-by: Gabriel Nützi <gnuetzi@gmail.com>
2024-04-16 08:35:38 +02:00
Chris Evich
84b66a31fd Merge branch 'add-fips' into 'main'
feat: add FIPS download for gitlab-runner

See merge request qontainers/pipglr!43
2024-04-08 14:17:02 +00:00
Ryan Egesdahl
89457026c7 Add FIPS download for gitlab-runner
When FIPS is available on the host system, we should download the FIPS
binary for `gitlab-runner` by default. Users who do not want the FIPS
binary for some reason can use the non-FIPS binary by setting the
`ENABLE_FIPS` build-arg to `false`.
2024-04-08 00:06:30 -07:00
Chris Evich
1afb2496a0 Merge branch 'add_pre-commit' into 'main'
Add pre-commit hooks + CI

See merge request qontainers/pipglr!42
2024-04-02 18:39:52 +00: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
Chris Evich
2e1e7ec90c Merge branch 'feature/2-format-readme' into 'main'
doc: Format `README.md`

See merge request qontainers/pipglr!41
2024-04-02 18:18:27 +00:00
Gabriel Nützi
2cd27dfae9 doc: Format README.md 2024-04-02 20:13:42 +02:00
Chris Evich
94e1055c5e Merge branch 'bugfix/1-typos' into 'main'
bugfix: Correct some typos

See merge request qontainers/pipglr!37
2024-04-01 20:16:39 +00:00
Gabriel Nützi
6a0ff34c9c bugfix: Correct some typos 2024-04-01 20:16:38 +00:00
Chris Evich
2161f09276 Merge branch 'del_dep_opt' into 'main'
Remove deprecated registration CLI option

Closes #12

See merge request qontainers/pipglr!32
2024-01-08 18:01:24 +00:00
Chris Evich
ded61bee62 Remove deprecated registration CLI option
Ref:
https://docs.gitlab.com/ee/update/deprecations.html#registration-tokens-and-server-side-runner-arguments-in-gitlab-runner-register-command

Thanks to @maxsatula for pointing this out.

Fixes #12

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-01-08 12:57:37 -05:00
Chris Evich
1955b5d544 Merge branch 'docs_update' into 'main'
Document immediate namespace update effect

Closes #11

See merge request qontainers/pipglr!31
2024-01-08 17:51:45 +00: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
Chris Evich
f13f2a3ba2 Merge branch 'feature/gitlab-url' into 'main'
Remove extra } from GITLAB_URL

See merge request qontainers/pipglr!30
2024-01-08 15:28:11 +00:00
Andrey Radchishin
70b5176a33 Remove extra } 2023-12-21 09:09:45 -05:00
Chris Evich
8a21f07632 Merge branch 'feature/gitlab-url' into 'main'
Allow overriding Gitlab URL

See merge request qontainers/pipglr!29
2023-12-19 16:24:48 +00:00
Andrey Radchishin
6c752ebebf Allow overriding Gitlab URL 2023-12-18 12:28:30 -05:00
Chris Evich
2ef9e11aea Merge branch 'bump_workaround_timebomb' into 'main'
Draft: Remove workaround for #7 (closed)

Closes #9

See merge request qontainers/pipglr!28
2023-12-05 14:57:34 +00:00
Chris Evich
11e2200ff9 Remove workaround for #7
Fixes: #9

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-11-21 10:22:29 -05:00
Chris Evich
9a816a1b8e Merge branch 'fix/drop-task-limit' into 'main'
systemd: Remove task limit

See merge request qontainers/pipglr!27
v4.1.0
2023-11-02 16:06:23 +00:00
Andreas Hartmann
e8d882cc13 ci: Use commit ref slug instead of branch name
as default container tag name for uploading, because branch names can
includes characters that aren't valid for tags (such as '/').

Signed-off-by: Andreas Hartmann <hartan@7x.de>
2023-11-02 08:00:30 +00:00
Andreas Hartmann
fad19dd8f2 systemd: Remove task limit
from user slices and set the default task limit to infinity. Previously,
the task limit on the `user-*.slice` units was 675, which can become a
problem in CI jobs that fork a lot, causing spurious CI failures.

Signed-off-by: Andreas Hartmann <hartan@7x.de>
2023-11-02 08:00:08 +00:00
Chris Evich
8ef19c101a Merge branch 'organize-files-into-folders' into 'main'
chore: Reorganize files into folders

See merge request qontainers/pipglr!26
2023-10-31 17:13:04 +00:00
Andreas Hartmann
d9f2e08b51 chore: Reorganize files into folders
to make it plain where each file belongs in the containers file system
and to simplify the `ADD` directives in the Containerfile.

Signed-off-by: Andreas Hartmann <hartan@7x.de>
2023-10-31 16:46:08 +01:00
Chris Evich
c0f72b3e03 Merge branch 'add_license' into 'main'
Adopt LGPLv3 as project license

Closes #8

See merge request qontainers/pipglr!25
2023-10-17 20:26:13 +00:00
Chris Evich
3222a2a4d1 Adopt LGPLv3 as project license
Signed-off-by: Chris Evich <cevich@redhat.com>
2023-10-17 12:09:38 -04:00
Chris Evich
b5b47d41e6 Merge branch 'docs_update' into 'main'
Improve user-namespace docs slightly

See merge request qontainers/pipglr!23
2023-10-04 18:40:29 +00: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
6129365a19 Merge branch 'crun_workaround' into 'main'
Workaround crun oob_score_adj bug

Closes #7

See merge request qontainers/pipglr!24
2023-10-04 18:03:24 +00:00
Chris Evich
6b23c4d84a Workaround crun oob_score_adj bug
This commit can be reverted once a fixed version of crun is available.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-10-04 13:48:26 -04:00
Chris Evich
76ad69ccc8 Update CI/Build container to known-good version
Ref: https://github.com/containers/podman/discussions/19796

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-09-13 09:49:31 -04:00
Chris Evich
ecfb0040de Merge branch 'expand_nested_id_range' into 'main'
Fix <65535 IDs available to nested containers

Closes #3

See merge request qontainers/pipglr!22
v4.0.0
2023-04-26 15:04:42 +00: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
98dffa5af5 Merge branch 'linger_docs' into 'main'
Document need for enabling linger-mode

See merge request qontainers/pipglr!21
2023-03-02 19:12:55 +00: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
ae1d652f70 Merge branch 'fix_config' into 'main'
Fix registration permission denied

Closes #1

See merge request qontainers/pipglr!20
v3.0.1
2023-02-03 16:36:36 +00:00
Chris Evich
d66c563c31 Fix registration permission denied
For normal operations, the `runner` user's `.gitlab-runner` directory
has a symlink for (read-only) `config.toml` ->
`/var/run/secrets/config.toml`.  However, for during registration
attempts to write to this volume-mounted file result in a
`PANIC: write: permission denied` error.  Fix this by running the
registration as (namespaced) `root` user, and using the default config.
file location of `/etc/gitlab-runner`.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-03 11:23:51 -05:00
Chris Evich
4927c6577c Merge branch 'improve_docs' into 'main'
Emphacise need to pre-create config.toml

See merge request qontainers/pipglr!19
2023-02-03 16:12:57 +00: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
c6d67f583c Merge branch 'reimplement_systemd' into 'main'
Fix podman leaking conmon processes

See merge request qontainers/pipglr!18
2023-01-30 14:36:29 +00: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
f44e9891d1 Merge branch 'fix_idmaps' into 'main'
Fix newuidmap...`: newuidmap: open of uid_map failed: Permission denied

See merge request qontainers/pipglr!15
v3.0.0 v2.0.3
2022-12-08 12:05:44 +00:00
Chris Evich
bf242e8a52 Fix newuidmap...`: newuidmap: open of uid_map failed: Permission denied
Within a container, caps need to be set on /usr/bin/new{uid,gid}map
which reflect the (inner) podman user's root namespaced ID of 10000.

Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
v2.0.2
2022-12-08 06:59:02 -05:00
Chris Evich
db6f2bceb9 Attempt fix v2.0.0 newuidmap permission denied
Recently, I believe an update or packaging problem has been causing
podman to throw errors like:

```
level=error msg="running `/usr/bin/newuidmap ...`: newuidmap: open of
uid_map failed: Permission denied\n"
```

This seems to have something to do with the shadow-utils package, which
owns this binary.  I've examined the file attribuites and permissions
along with /etc/sub{uid,gid} contents.  The only thing that seems to
resolve the issue is reinstalling shadow-utils.  Attempt that fix here
and hope it clears up the problem (present in v2.0.0)

Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
v2.0.1
2022-12-07 06:14:45 -05:00
Chris Evich
f1423ae0b2 Merge branch 'fix_volumes' into 'main'
Fix volume mounts

See merge request qontainers/pipglr!14
v2.0.0
2022-12-06 08:15:33 +00:00
Chris Evich
f88c1a43bd Fix volume mounts
* Add note about volume-mounts being cumulative with base-image
* Fix register & run labels to use (correct) base image's
  `/home/podman/.local/share/containers/` instead of defining
  a new (wrong/useless) `storage` volume.
* Fix register & run labels to mask over `/var/lib/containers`
  with a read-only tmpfs to block any nested rootful use of
  podman as a security precaution.

Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
2022-12-06 03:07:40 -05:00