Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Wiki Replica
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
The Tor Project
TPA
Wiki Replica
Commits
f53b158e
Unverified
Commit
f53b158e
authored
4 years ago
by
anarcat
Browse files
Options
Downloads
Patches
Plain Diff
expand ci docs
parent
0e6fcdac
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
service/ci.md
+34
-5
34 additions, 5 deletions
service/ci.md
with
34 additions
and
5 deletions
service/ci.md
+
34
−
5
View file @
f53b158e
...
...
@@ -34,6 +34,12 @@ the shared runners in a project?
<!-- more in-depth procedure that may require interpretation -->
## Image security
TODO: document how to create and use more secure Docker images. For
example, most images run as root: try to make images run as a regular
user.
## Pager playbook
<!-- information about common errors from the monitoring system and -->
...
...
@@ -111,10 +117,17 @@ the following operations need to be performed:
NOTE: we used the Debian packages (
[
docker.io
](
https://tracker.debian.org/pkg/docker.io
)
and
[
gitlab-runner
](
https://tracker.debian.org/gitlab-runner
)
) instead of the upstream official packages, because
those have a somewhat messed up installer and weird key deployment
policies. They are both somewhat out of date, and the latter is not
available in Debian buster (current stable), so it had to be installed
from bullseye.
those have a somewhat
[
messed up installer
](
https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh
)
and
[
weird key
deployment policies
](
https://gitlab.com/gitlab-org/omnibus-gitlab/issues/3897
)
. In other words, we would rather avoid having
to trust the upstream packages for runners, even though we use them
for the GitLab omnibus install. The Debian packages are both somewhat
out of date, and the latter is not available in Debian buster (current
stable), so it had to be installed from bullseye.
We also avoided using the
[
puppetlabs/docker
](
https://forge.puppet.com/modules/puppetlabs/docker
)
module because we
"only" need to setup Docker, and not specifically deal with
containers, volumes and so on right now. All that is (currently)
handled by GitLab runner.
### F-Droid runners
...
...
@@ -153,6 +166,20 @@ TODO: expand on GitLab CI's design and architecture, following [this
checklist
](
https://bluesock.org/~willkg/blog/dev/auditing_projects.html
)
. See also the
[
Jenkins section
](
#jenkins
)
below for the same
thing about Jenkins.
Some things to look into:
*
https://docs.gitlab.com/ee/user/project/new_ci_build_permissions_model.html
*
https://docs.gitlab.com/runner/security/
TODO: consider podman for running containers more securely, and
possibly also to build container images inside GitLab CI, which would
otherwise require docker-in-docker (DinD), unsupported by
upstream. some ideas here:
*
https://medium.com/prgcont/using-buildah-in-gitlab-ci-9b529af19e42
*
https://github.com/containers/podman/issues/7982
*
https://github.com/jonasbb/podman-gitlab-runner
## Issues
[
File
][]
or
[
search
][]
for issues in the
[
GitLab issue tracker
][
search
]
.
...
...
@@ -189,7 +216,9 @@ not. They are, naturally, monitored through the `node-exporter` like
all other TPO servers, however.
TODO: monitor GitLab runners; they can be configured to expose metrics
through a Prometheus exporter, we could hook this in our setup.
through a Prometheus exporter. The Puppet module supports this through
the
`gitlab_ci_runner::metrics_server`
variable, but we would need to
hook it into our server as well. See also
[
the upstream documentation
](
https://docs.gitlab.com/runner/monitoring/README.html
)
.
## Backups
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment