Skip to content

Fixes #38120 - Use Sinatra 4#952

Open
credbbl wants to merge 1 commit into
theforeman:developfrom
credbbl:sinatra-4
Open

Fixes #38120 - Use Sinatra 4#952
credbbl wants to merge 1 commit into
theforeman:developfrom
credbbl:sinatra-4

Conversation

@credbbl

@credbbl credbbl commented Jul 1, 2026

Copy link
Copy Markdown

No description provided.

@ekohl ekohl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a complete review, but just some things that jumped out to me that helped me understand more.

https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md is helpful and points to https://github.com/rack/rack/blob/main/UPGRADE-GUIDE.md. Now I wonder what else depends on Rack. Probably Rails so we'll need to verify that can also work with Rack 3.

Comment thread smart_proxy.gemspec
s.add_dependency 'logging'
s.add_dependency 'ostruct'
s.add_dependency 'rack', '>= 1.3'
s.add_dependency 'rackup'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread smart_proxy.gemspec Outdated
@credbbl credbbl marked this pull request as ready for review July 1, 2026 16:02
Support Rack 3 and Sinatra 4.
@ekohl

ekohl commented Jul 1, 2026

Copy link
Copy Markdown
Member

Probably Rails so we'll need to verify that can also work with Rack 3.

We're currently on Rails 7.0, but Rails 7.1 added Rack 3 support. That's a blocker to upgrading in our packaging.

@credbbl

credbbl commented Jul 2, 2026

Copy link
Copy Markdown
Author

We're currently on Rails 7.0, but Rails 7.1 added Rack 3 support. That's a blocker to upgrading in our packaging.

Where does the proxy use Rails?

@adamruzicka

Copy link
Copy Markdown
Contributor

Where does the proxy use Rails?

It does not, but foreman does. If foreman and proxy were deployed on the same machine (which they often do), then you'd be able to satisfy the dependencies of only one of them.

@ekohl

ekohl commented Jul 2, 2026

Copy link
Copy Markdown
Member

Where does the proxy use Rails?

It doesn't, but https://github.com/theforeman/foreman does. Then in our RPM packaging there is just a single package: https://github.com/theforeman/foreman-packaging/tree/rpm/develop/packages/foreman/rubygem-rack.

Now I'd love to upgrade Rails as well because 7.0 is already EOL and even 7.1 is already EOL: https://endoflife.date/rails. I'm trying to say we need some more coordination.

Last I checked going from 7.0 to 7.1 isn't too hard. According to https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html we can still run on Ruby 2.7. Upgrading to 7.2 is harder because it requires us to also bump the minimum Ruby version to 3.1, which is its own can of worms for us. We're working on that, but an area we've neglected for too long.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants