What we use HTTP Proxy for?

Hey,

some time ago we implemented HTTP proxy feature which was IIRC supposed to be used by (some) Compute Resources. Can someone explain me what is the plan with this feature? Which CRs are currently used? Which are planned?

Can we do better in explaining to the users what these HTTP proxies are for on the index page?

From an email I received the following definition from Sebastian Gräßl:

“3) HTTP Capsules (this should actually be " Proxy”)

In cases where compute resources may require a specific HTTP proxy, these can be configured here."

We could add something like this to the product to clarify what the proxy is for:

“You can add a HTTP proxy for communication between Satellite and a compute resource. You can then assign the HTTP proxy to a compute resource in Satellite.”

1 Like

I believe you already got the answer, this is used for proxying the communication between Foreman and CR. By looking at the code, every compute resource has the relation defined but I only see http_proxy_field helper used for form of EC2. IIRC @Justin_Sherrill worked on this and may know more details, but I think this is the only CR that supports it.

Note that there’s also a global HTTP proxy setting that can be used in order to proxy all outgoing traffic which should work with all compute resources that uses HTTP based communication. That is though for all HTTP traffic, not just compute resources. IIRC one can black list FQDNs there too.

Yes, only EC2 support was added initially, the hope was that others
would follow as well as katello and docker plugins would convert to use
it. I’d still like to move Katello over to use it (since it doesn’t use
the global setting for pulp syncs), but has its own configuration for that.

IIRC It was also started before the global proxy change was done, but
was merged afterwards (since it was a larger change).

Thanks everybody.

@mcorr if I look at HTTP Proxies page in Satellite 6.4 this is what I see:

Defining HTTP Proxies that exist on your network allows you to perform various actions through those proxies.

Learn more about this in the documentation.

The link lands at Managing Hosts guide where there is not a single word about HTTP Proxies .

Situation in upstream is the same text but the link is: Foreman :: Manual

In that case we actually describe HTTP proxy global setting in that chapter.

So I propose the following action plan:

  • I am gonna improve upstream doc providing info that folks said here
  • Mel, can you make sure that there is some description in the document? If the link needs to be changed, file a BZ on “branding” component.

Mel, can you make sure that there is some description in the document? If the link needs to be changed, file a BZ on “branding” component.

I am typing the docs for the provisioning guide this minute. I will file a BZ once it is published.

Thank you @lzap

https://github.com/theforeman/theforeman.org/pull/1316

Typos via inline edit please.

I added a few comments re typos.

One question. Isn’t there three methods?

One:
satellite-installer --scenario satellite \ --katello-proxy-url=http:// myproxy.example.com \ --katello-proxy-port=8080 \ --katello-proxy-username= proxy_username \ --katello-proxy-password= proxy_password

Twp: Admin > Settings > General

Three: Infrastructure > HTTP Proxies ?

I believe that one is for pulp, but I will let @Justin_Sherrill to explain.

Oh I understand. Sorry - still getting used to the separations. You’re right.

1 Like

That was a valid point, we can probably elaborate that in downstream doc. Upstream it’s foreman manual not katello. Yeah, the problem.

1 Like

Yes, only EC2 support was added initially, the hope was that others
would follow as well as katello and docker plugins would convert to use
it.

@Justin_Sherrill - so at the moment, the only place it is supported still is for EC2 compute resources?

Correct!

1 Like