Skip to content
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

Environment variable "no_proxy" seems to be unsupported #760

Closed
oolesen opened this issue Oct 8, 2021 · 5 comments · Fixed by #765
Closed

Environment variable "no_proxy" seems to be unsupported #760

oolesen opened this issue Oct 8, 2021 · 5 comments · Fixed by #765
Assignees
Labels
cml-runner Subcommand enhancement New feature or request p1-important High priority

Comments

@oolesen
Copy link

oolesen commented Oct 8, 2021

I've been trying to play around with self hosted runners.

I'm sitting behind a corporate firewall using Github Enterprise, which is also inside the firewall.

I'm using iterativeai/cml:0-dvc2-base1-gpu docker container on a Linux Ubuntu 18.04 machine.
I am fairly confident, my container is set up properly with certificates and proxy settings. For instance can I clone my Github Enterprise repo with no problems. I am also able without any problems to connect an original github runner to my Enterprise repo.

However when I use cml runner, I seem to fail in both of two options:
a) I pass my proxy settings to the docker container, which makes it impossible to reach my Github Enterprise repository (because the proxy is not able to resolve the address).
b) I leave out the proxy settings, so the CML runner can find the Github Enterprise but when it next tries to load the latest Github runner version from github.com, it fails because it doesn't get past the proxy.

It seems to me, that the problem origins in the usage of node-fetch.js, which in turn also only supports either using http/s_proxy or not. But there is no gate evaluating the requested URL and changing the path either through the proxy or not. I'm really no expert in this as you might have guessed after the first few words. So let me try to phrase it in my simple words:

Can you implement cml runner to "respect" the no_proxy setting? Or help me in any other way?

@DavidGOrtega
Copy link
Contributor

DavidGOrtega commented Oct 12, 2021

👋

cml-runner currently supports http_proxy and https_proxy however we do not support no_proxy yet.
Have you tried to setup https_proxy using the cml-runner?

@DavidGOrtega DavidGOrtega added enhancement New feature or request cml-runner Subcommand awaiting-response Waiting for user feedback labels Oct 12, 2021
@oolesen
Copy link
Author

oolesen commented Oct 12, 2021

Hi David,

yes, that's what I did. Maybe I was unclear there.

If I set up proxy correctly, cml runner will fail to reach my enterprise github, because it's internal, behind the firewall.
If I don't set up proxy, cml runner will reach the enterprise github, but fail to reach anything outside the firewall.

As far as I understand, the only solution is to respect the "no_proxy" setting, like many other (Linux) applications.

@0x2b3bfa0
Copy link
Member

It looks like no_proxy could be the best solution for this use case. 🤔

@0x2b3bfa0
Copy link
Member

@oolesen, it should be fixed as soon as we review and merge #765

@oolesen
Copy link
Author

oolesen commented Oct 13, 2021

That’s really good news! Thanks a lot! Can’t wait to try it out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cml-runner Subcommand enhancement New feature or request p1-important High priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants