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

Add support for Ubuntu 22 and Ubuntu 24 #990

Merged
merged 13 commits into from
Jan 21, 2025

Conversation

mkllnk
Copy link
Member

@mkllnk mkllnk commented Jan 16, 2025

Relates to:

Includes and depends on:

The brotli compilation failed on newer Ubuntu versions. I chose the easy path for now to deactivate brotli for newer Ubuntu since it's only relevant for a few servers and only when we actually replace servers again.

From Ubuntu 24 onwards, brotli can be installed via apt. That may require replacing the used nginx role which isn't maintained any more anyway. That's a different task though.

mkllnk added 13 commits January 16, 2025 09:56
And in Ubuntu 24, we will have brotli available through apt.
The local provisioning stopped working with Ubuntu 22. So I set up the
LXC container for CI tests.

The executing environment shouldn't matter much and hence I chose
ubuntu-latest.
Ubuntu changed the default home directory permissions and nginx wasn't
able to access the app's sock file to communicate with the Rails app.
@mkllnk mkllnk self-assigned this Jan 16, 2025
Copy link
Contributor

@rioug rioug left a comment

Choose a reason for hiding this comment

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

Good one 👍
I am wondering what impact turning off brotli would have, do we have any way track that ? I am not sure if New Relic would be useful here.

@mkllnk
Copy link
Member Author

mkllnk commented Jan 21, 2025

I am wondering what impact turning off brotli would have, do we have any way track that ?

We are not tracking that, no. But the brotli filter is currently only applied to JS and CSS assets and JSON responses. The biggest instances use S3 as CDN for assets. Canada or US may be affected by asset delivery. All servers are affected by compression of JSON responses. Small payloads don't benefit from brotli though. So the biggest impact would be on big APIv0 responses. But popular responses like loading products for a shop front are paginated and loaded lazily. Each chunk is small.

With the perspective of us moving away from APIv0 and more towards rendering server-side, trying to operate in small quick actions instead of big bulk actions, the benefit of botli may not be there.

Anyway, I was thinking that we would get brotli back at some point. Since we can easily install it via Apt, there won't be much needed to support it again. And currently we have all servers running Ubuntu 20 with brotli for a while. It would only affect new instances which probably don't have big payloads anyway (except assets and we should encourage a CDN then).

config.vm.box = "generic/ubuntu2004"
# Not available in the generic repository yet.
#config.vm.box = "generic/ubuntu2404"
config.vm.box = "alvistack/ubuntu-24.04"
Copy link
Member

Choose a reason for hiding this comment

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

Hrm, seems like there might not be any official boxes anymore: https://askubuntu.com/a/1521304/164829

Another reason to use LXC I suppose! (for Linux users).

@dacook
Copy link
Member

dacook commented Jan 21, 2025

Fantastic work, congrats and well done on getting us there!

@dacook dacook merged commit 461822b into openfoodfoundation:master Jan 21, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants