fix(forgejo-runner): fix dind connection error #70
No reviewers
Labels
No labels
chart/authentik-application
chart/conduit
chart/gotosocial
chart/headscale
chart/miniserve
chart/ntfy
global
request for chart
type/bug
type/ci
type/doc
type/feat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: wrenix/helm-charts#70
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "main"
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?
Hey, thanks for creating this collection of awesome helm charts! 😊
I was having issues building docker containers in my forgejo actions. Specifically, spawned containers would complain that they do not have access to the dind socket.
With the help of an issue on the forgejo-runner repo and the provided docker-compose example, I was able to make the dind socket accessible inside spawned containers.
Oh thank you, for contribute here on my chart.
I am current not really clear of I like it that way (prefer ip-address over DNS and configuration should be stored somewhere like configmap and maybe forgejo-runner works with environment variables). To check a good solution I need time (sorry).
If I understand you correct, you use the dind of forgejo-runner also inside of an job and that does not work (with which log output?).
PS: myself I use buildah.io (and maybe I replace it with kaniko) so I need less privileges during build and so my pipelines are more secure.
Exactly. If you try to access the docker socket provided by the dind container inside a job's container, then the socket will be unavailable inside there (
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
, basically the situation described in the issue I linked to above).Using an IP instead of localhost also works, just tested this. The important part is adding the docker env vars inside the runner's
config.yaml
so that the job containers know where to look for the docker socket. If you prefer, it would also be possible to store the modified config file inside a configmap 👍🏻I start writing an solution for your problem, where you could set/overwrite the default to bypass the sind to the running-job, See #74
I believe that is a gold Option to solve your Problem.
Or what do you mean?
Awesome!
I had a look at it, tested it and left some comments. I also copied over your changes to this PR, with the issues in the comments already fixed 👍🏻
Do you think it would be better to already include the necessary adjustments to the config file to access the docker socket inside of containers in
values.yaml
by default?i believe we should keep the defaults but put an example
values-dind-bypass.yaml
there with the needed values (and put an block therefor in the README.adoc bzw._docs.gotmpl
).could you pass / create such an
values-dind-bypass.yaml
for me?Sure! Added everything in the last 3 commits 😊
solved with #74 - thank you for being so patient, your review, tests and so on.
Pull request closed