Forgejo/Gitea Actions #206
Labels
No labels
Blocked
Existing Service
Infrastructure Issue
Refactor
Security Hardening
Security Issue
Service Idea
Service Removal
Upgrade service
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: data.coop/ansible#206
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Since Gitea 1.19, Gitea introcuded Gitea Actions. It's the same concept as GitHub Actions.
They're the called Forgejo Actions in Forgejo. You can see Forgejo Actions in action here:
https://codeberg.org/forgejo/forgejo/actions/runs/7849/jobs/1
Release notes from March 2023: https://blog.gitea.com/release-of-1.19.0/
Yeah, we actually "just" need to register some runners.
https://forgejo.org/docs/next/admin/actions/#forgejo-runner
Seconded! In that case, and since we're gonna be using VMs, why not set up a dedicated runner VM with rootless Docker? That way, we can avoid it having access to our production Docker socket.
https://gitea.com/gitea/act_runner/src/branch/main/examples/vm/rootless-docker.md
yea it's been a bit iffy our current setup. especially considering the cryptojacker some years ago :(
How is this different from the Forgejo docs (https://forgejo.org/docs/next/admin/actions/#forgejo-runner)? Emphasis is mine:
The process inside the container does not run as root, but it still has access to the Docker socket (on our production VM!), unless we opt to use Docker-in-Docker which is also insecure due to the Docker-in-Docker container being privileged. In that case, the runner has access to the Docker socket of a priviliged container, which effectively grants it root access to that container, which in turn gives root access to the host due to said container being privileged. I don't really like that to be honest. That's why I suggest a dedicated runner VM where we run the Docker daemon itself as an unprivileged user (rootless Docker).
Fair enough - but we're not talking about running act_runner are we?
No, we're gonna run the official Forgejo runner, but that uses a soft fork of act_runner.
Btw, I'm working on the rootless Docker setup over in proxmox.