Proposal: Align ports for katello/foreman scenarios (9090 vs 8443)

Hello,

we’ve been using 8443 port for https proxy endpoint for years, katello installation scenario cannot use this port because it is already in use (qpidd I think not sure).

I would like to propose a default change from 8443 to 9090. Reasons:

  • Very confusing for users working with both Foreman or Katello scenarios.
  • Hard to debug - 8443 is also accepting SSL connections with different certificate.
  • Align Foreman vs Katello scenarios, therefore upstream and downstream.

Changing the installer default is definitely not enough, since Puppet would overwrite this setting we need to figure out a way for a smooth upgrade. Register-in-foreman installer step would likely start failing, I am not sure if it is possible to detect parameter change in Puppet and make some action (foreman-rake console command to change ports for all proxies).

I think the cleanest execution would be only do this for new installations, perhaps a bit of Puppet code that would detect if it’s brand new installation or already existing. Could be also somewhere in kafo.

Opinions?

1 Like

Big :+1: for aligning foreman and Katello. I do wonder if we should align Foreman or align Katello.

It’s candlepin.

The biggest downside of 9090 is that it’s already in use by cockpit (Katello 3.5 and cockpit by peppos · Pull Request #570 · Katello/katello-installer · GitHub).

@stbenjam has looked at this before and in Katello 3.5 and cockpit by peppos · Pull Request #570 · Katello/katello-installer · GitHub he describes some of his previous effort.

1 Like

Thank God I am not alone! :slight_smile:

I think the decision can be done based on what’s easiest and smoothest experience for the upgrade process. Honestly, port numbers below 10000 that’s tight area, we will always hit something. Now after hear that it’s candlepin vs cockpit, I’d vote for changing candlepin because cockpit is definitely more popular and can possibly confuse more users.

We could also move Smart Proxy port somewhere else to >10000.

Yeah, +1 to changing both candlepin and foreman-proxy! Everything wants
to use 8443 :frowning:

Justin

A year or more ago, there were discussions around port alignment across services to have more predictability. The RFC that may provide some useful information was at:

https://github.com/theforeman/rfcs/pull/25/files

2 Likes

In short, one of the options you give is to move Smart Proxy to 9090 which is I think the best option - less users need to do migration. Also, SELinux does not need to be taken into account - it’s a trivial change.

Second point is reverse proxy, I actually vote for keeping it as is on 8443 because we can later decide to create a webUI for proxy and we have a problem.

There is also port 8000 used for template proxy, that can stay as is as well.

The rest of the proposal covers possibility to do bigger changes, I’d rather stick with minimum change which to me looks like 8443 -> 9090 for smart-proxy only.

That would still leave the conflict with cockpit.

This is only relevant in the foreman_proxy_content scenario. For katello candlepin directly serves on port 8443 without a reverse proxy and foreman doesn’t have candlepin nor the reverse proxy at all.

Ah right, cockpit of course. New proposal then based off Eric’s:

  • move proxy to 9070 which seems to be empty
  • create iptables forward rule for existing installations (opt-in)

Did anything ever come of moving away from port 9090? Apologies for re-opening such an old discussion, but with the fairly recent change of deprecating 8443 for clients I’m sure I also saw something about port 9090 stopping.

Our registration wrapper script specifically adds/removes 9090 depending on whether the registration is going to a Smart-Proxy or direct to the Katello server.

Thanks

Duncan

We’re interested specifically about the registration end-point part of this, but was the clash with Cockpit ever resolved?

Aside from clashing with Cockpit, wouldn’t it be cleaner to use the same end-point port for registrations to Katello and the Smart Proxies?

D

The most recent development is that we’ve dropped the use of port 8443 with Drop port 8443 as a reverse proxy · theforeman/puppet-foreman_proxy_content@3ad8c1b · GitHub which is part of Foreman 3.13. While that doesn’t remove the use of 9090, it does free up the port to move the Smart Proxy. We have taken our time, but have not forgotten.