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

Web Proxy support #256

Open
antoinetran opened this issue Jul 11, 2024 · 5 comments
Open

Web Proxy support #256

antoinetran opened this issue Jul 11, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request v0.3.x
Milestone

Comments

@antoinetran
Copy link

antoinetran commented Jul 11, 2024

Short Description of the issue

In a closed network environment, with internet access only though a authenticated web proxy, the interlink deployment fails.

Environment

  • Operating System: Redhat 8
  • Other related components versions: interlink 0.3.0

Steps to reproduce

Logs, stacktrace, or other symptoms

kubectl -n interlink logs my-vk-node-5dfb4b48cc-btdb7
Defaulted container "inttw-vk" out of: inttw-vk, refresh-token
time="2024-07-11T09:53:42Z" level=info msg="Loading Virtual Kubelet config from /etc/interlink/InterLinkConfig.yaml"
time="2024-07-11T09:53:42Z" level=info msg="Trying InCluster configuration"
time="2024-07-11T09:53:42Z" level=info msg="Loading Virtual Kubelet config from /etc/interlink/InterLinkConfig.yaml"
time="2024-07-11T09:53:42Z" level=info msg=nodeLoop
time="2024-07-11T09:53:42Z" level=fatal msg="open /opt/interlink/token: no such file or directory"

No token because no internet.

Summary of proposed changes

Add in ~/.interlink.yaml, a config like this:

proxy:
  user:
  password
  https_proxy
  http_proxy
  no_proxy
@dciangot dciangot self-assigned this Jul 11, 2024
@antoinetran
Copy link
Author

Workaround:
I confirm that adding these env variables to ~/.interlink/interlink.yaml fixed the issue:

        - name: TOKEN_PATH
          value: /opt/interlink/token
        - name: HTTPS_PROXY
          value: http://user:password@proxy:port
        - name: HTTP_PROXY
          value: http://user:password@proxy:port
        command:
        - python3
        - /opt/refresh.py

@dciangot dciangot added enhancement New feature or request v0.3.x and removed triage labels Jul 11, 2024
@dciangot
Copy link
Collaborator

hi @antoinetran , thanks for the report. I think we can include this in the next release, looks like quite a simple enhancement to be put in.

I'm curious, is this a pecularity of your use case? Or just due to a particular setup which you are using to play with interlink?

@antoinetran
Copy link
Author

I'm curious, is this a pecularity of your use case? Or just due to a particular setup which you are using to play with interlink?

I'm not sure I understand, if I rephrase, is-it normal to have a web proxy in our environment? Yes, it is quite the standard in lots of environments to have internet only through a corporate proxy. I expect the interlink to get its token through the web proxy for test purpose, although I would have like it to not rely on internet at all.

@dciangot
Copy link
Collaborator

The only requirement for internet is at the authentication level b/w the cluster and the remote interlink server. If you have an oauth2 compatible identity provider inside your corporate perimeter is just as fine as using github. The alternative (not coming in 0.3, but probably in 0.4) is to use x509 certs.

The purpose of the question was a bit different though, I just wanted to know more about your use case (at large) to understand how we can help.

@antoinetran
Copy link
Author

The purpose of the question was a bit different though, I just wanted to know more about your use case (at large) to understand how we can help.

No problem, let me answer you in private by email :)

@dciangot dciangot added this to the 0.3.0 milestone Jul 18, 2024
@dciangot dciangot added v0.4.x and removed enhancement New feature or request v0.3.x labels Jul 18, 2024
@dciangot dciangot modified the milestones: 0.3.x, 0.4.x Jul 18, 2024
@dciangot dciangot added v0.3.x enhancement New feature or request and removed v0.4.x labels Jul 18, 2024
@dciangot dciangot modified the milestones: 0.4.x, 0.3.x Jul 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request v0.3.x
Projects
None yet
Development

No branches or pull requests

2 participants