-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dependabot should work for GHES without public internet access #6829
Comments
Point1:
This is something we can look but right now, we have other high priorities task and will put this in backlog. |
For your point2:
You can use
Steps to setup the Dependabot and self-hosted action runner so they can run with limited internet access.
|
Point3:
This is something which comes under Actions team.
I understand your concern. For this you are right we need to sync with GHES team. However, at the moment, we have other priorities that we need to focus on. Perhaps we can revisit this task at a later time once we've addressed our current priorities. |
Thanks for all your input! This is a ton of new information, give me a couple days to try everything you suggested and thank you very much. About "packaging GHES with the things it will need", I totally get it: it's hard and cross-team. Should I leave that idea in your court or would you like me to raise the idea elsewhere with the GHES team or the support portal? Happy to do whatever is most helpful to your team. |
First data point: I tried the "populate the tool-cache" workflow and it didn't work. I set up a runner on a VM on which I'd populated the tool cache in the way described by that documentation but it didn't appear to make it work:
Again, not really sure what team to direct this to, if you want to redirect me elsewhere or think I should raise a support ticket, I can. For the docker stuff, we have internal mirrors of other Docker registries but not ghcr.io. I don't think it's that hard for us to add another, and I've started that process, but assuming we get past installing node 16 I might get stuck at that next step until we resolve that internally. Just to try to clear up any confusion: the nodes we're going to run dependabot on are isolated from the public internet from the beginning. We can't start them up with internet access, Finally, I reread your earlier comment:
I think you might have been answering a question about how to get dependabot to update docker images that live on our registry? I think |
Q. Can you access those self-hosted action runner ? if yes, how?
I am trying to understand your problem. Your requirement is that all the docker images which is required to run the Dependabot on the self hosted runner needs to be present in the caching registry (say If my understanding is correct then there are two ways to do it if you have access to the self-hosted action runners.
Note: When using Dependabot on a self-hosted runner, the runner must have the correct Docker images with the ghcr.io/dependabot tag, otherwise Dependabot will retrieve them from the ghcr.io registry. It is not possible to use a different caching registry to fetch these images when running Dependabot on a self-hosted action runner at this time. |
I think you need to create a support ticket with Actions team. |
Let me talk to my team on this and will get back on best course of action on this issue. |
I can ssh to them. They're (well, I just have one right now) VMs where we can run rootless docker and I've installed the runner package. They're on our network but our firewall doesn't let them access resources outside our network.
We have an internal Artifactory that can mirror external Docker registries. I thought we need to add config to it so that it starts mirroring ghcr.io, and then configure Docker somehow to interpret
It sounds like you're saying that's not possible, and maybe this is me not knowing enough about Docker. Maybe we can do the docker save/docker load trick to get them onto the self-hosted runner VM as their native names. I'll poke around.
Will do, thank you! And thanks for all your help on this again! |
Since, you have access to those VMs via ssh you can easily do |
I'll give it a shot, thanks |
Alright, I've tried some things and have made some progress. Thank you very much for your help so far. I was able to get the tool cache working for I wasn't able to try What I did instead was I edited Now I'm to the point where the containers run and try to check for updates, but I think I now have a problem that the rule for updating with pip-compile doesn't correctly honor |
I did find the problem, it's not quite a problem with dependabot, it's this: jazzband/pip-tools#1831 I think dependabot could patch over the problem by also setting the environment variable |
Ok I think I have a couple other issues to report. Let me know if these sound like I should report them as fresh issues in this repo:
|
@leifwalsh : Thank you for trying all the steps. Yes, please go-ahead and file issues. Let me know, if you need any more help related to Dependabot on GHES else I will go-ahead and close this issue. |
Feel free to re-open it if you have any more questions related to Dependabot on GHES. Happy to help! |
Is there an existing issue for this?
Feature description
I would like to run Dependabot actions on self-hosted runners connected to a GitHub Enterprise Server instance, to do version updates based on private registries. The runners cannot be given internet access, they need to stay behind a firewall, and only have access to internal resources (those registries).
This seems like it should be possible with private registry support, but I tried it and the Dependabot actions that do run fail on their first step: running
actions/setup-node@v3
.I found https://docs.github.com/en/enterprise-server@3.8/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access which is probably what you're going to ask me to do, but it sounds like a headache.
I have
twothree questions:docker pull
from public registries? I can't find anything in the docs talking about this. We have internal docker registries that mirror external ones which we'd have no problem using, but I'd need some way to tell the Dependabot code to use different URL prefixes for the images it wants to run, and I don't know a) which images it is going to want or b) if there's any way to configure that.The text was updated successfully, but these errors were encountered: