FYI: Garage packaged for Alpine Linux #367

Closed
opened 2022-09-02 00:22:51 +00:00 by jirutka · 8 comments
Contributor

Hi,

I just wanted to let you know that I’ve packaged Garage for Alpine Linux (package, source). It’s currently in the testing repository; I’ll move it to the community repository soon.

I’ve managed to build it for x86_64 and aarch64. arvm7 failed to build with std::bad_alloc error, ppc64le and s390x due to ring crate.

I’m currently testing it as a cache storage for GitLab Runners, just in a single-node layout (we have SAN storage and this cache is just a few hundreds of gigabytes, so the only reason for S3-compatible object storage is that GitLab Runner doesn’t support anything else, that’s why).

I’d also like to thank you for developing a saner alternative to that bloated MinIO, in a decent language instead of that crappy Go.

That said, when I look at the dependencies and the resulting binary size, I wouldn’t call Garage lightweight either… but it’s the best I know about.

Hi, I just wanted to let you know that I’ve packaged Garage for Alpine Linux ([package](https://pkgs.alpinelinux.org/packages?name=garage), [source](https://gitlab.alpinelinux.org/alpine/aports/-/tree/dfc3df8c5ec8e54afb21df7c0be77329773e68b2/testing/garage)). It’s currently in the testing repository; I’ll move it to the community repository soon. I’ve managed to build it for x86_64 and aarch64. arvm7 failed to build with `std::bad_alloc` error, ppc64le and s390x due to ring crate. I’m currently testing it as a cache storage for GitLab Runners, just in a single-node layout (we have SAN storage and this cache is just a few hundreds of gigabytes, so the only reason for S3-compatible object storage is that GitLab Runner doesn’t support anything else, that’s why). I’d also like to thank you for developing a saner alternative to that bloated MinIO, in a decent language instead of that crappy Go. That said, when I look at the dependencies and the resulting binary size, I wouldn’t call Garage lightweight either… but it’s the best I know about.
Owner

Hi @jirutka , thanks for keeping us updated!

Do you have the logs of your failed builds for armv7? On our side, compiling for ARM hasn't been without issues but we are currently able to do it and our CI produces an ARM build for every release.

I'm well aware that Garage is starting to accumulate dependencies and that it's a problem. Building without the kubernetes-discovery feature flag should already remove quite a few of them, but ideally we would have more feature flags to disable other features (including opentelemetry, Consul discovery, and maybe others) and produce smaller builds.

Hi @jirutka , thanks for keeping us updated! Do you have the logs of your failed builds for armv7? On our side, compiling for ARM hasn't been without issues but we are currently able to do it and our CI produces an ARM build for every release. I'm well aware that Garage is starting to accumulate dependencies and that it's a problem. Building without the `kubernetes-discovery` feature flag should already remove quite a few of them, but ideally we would have more feature flags to disable other features (including opentelemetry, Consul discovery, and maybe others) and produce smaller builds.
Author
Contributor

Do you have the logs of your failed builds for armv7?

I was mistaken, only armhf (ARMv7 with hard-float) failed with std::bad_alloc, armv7 failed with LLVM out of memory, so just not enough RAM on the CI builder. I’m building it with full LTO and and codegen units 1.

The logs are here: https://gitlab.alpinelinux.org/alpine/aports/-/pipelines/134798

I'm well aware that Garage is starting to accumulate dependencies and that it's a problem.

I’m really very glad that you see it as a problem and plan to make some features optional!

> Do you have the logs of your failed builds for armv7? I was mistaken, only armhf (ARMv7 with hard-float) failed with `std::bad_alloc`, armv7 failed with LLVM out of memory, so just not enough RAM on the CI builder. I’m building it with full LTO and and codegen units 1. The logs are here: https://gitlab.alpinelinux.org/alpine/aports/-/pipelines/134798 > I'm well aware that Garage is starting to accumulate dependencies and that it's a problem. I’m really very glad that you see it as a problem and plan to make some features optional!
Owner

std::bad_alloc looks like it is also an out-of-memory error, just that it is reported differently because it happens in rustc and not in LLVM.

If you have the opportunity of running the build on a machine with more RAM to see if that fixes the issue, please keep us informed. Otherwise, please be patient until we release a new version with more optional features.

`std::bad_alloc` looks like it is also an out-of-memory error, just that it is reported differently because it happens in rustc and not in LLVM. If you have the opportunity of running the build on a machine with more RAM to see if that fixes the issue, please keep us informed. Otherwise, please be patient until we release a new version with more optional features.
Author
Contributor

garage for x86, armhf and armv7 is built now.
I’ve also moved the garage package from testing to the community repository (i.e. it will be available in upcoming v3.17 stable release).

I noticed that the email notifications are not enabled by default here. I wouldn’t have known about your answers if I hadn’t kept this site open. I don’t think this is the expected and optimal default for new contributors.

Also, can you please consider enabling issues on your GitHub mirror? I believe this could help increase visibility of the project. It seems that GitHub probably penalizes projects with disabled issues in the search – when I search “garage”, your project is not even on the first page and yet there are projects with less stars and some projects with the last activity a few years ago. The second point, it would be closer to the users – it’s not very convenient to register on some site to just report an issue.

garage for x86, armhf and armv7 is built now. I’ve also moved the garage package from testing to the community repository (i.e. it will be available in upcoming v3.17 stable release). I noticed that the email notifications are not enabled by default here. I wouldn’t have known about your answers if I hadn’t kept this site open. I don’t think this is the expected and optimal default for new contributors. Also, can you please consider enabling issues on your GitHub mirror? I believe this could help increase visibility of the project. It seems that GitHub probably penalizes projects with disabled issues in the search – when I search “garage”, your project is not even on the first page and yet there are projects with less stars and some projects with the last activity a few years ago. The second point, it would be closer to the users – it’s not very convenient to register on some site to just report an issue.
Owner

Thanks for packaging Garage for Alpine Linux, it's great to have it there :)

I just reviewed the configuration of our Gitea instance and email notifications should be enabled by default for new users. Were they disabled for your entire user account, or was it that you weren't subscribed to the garage repo?

Wrt Github, we will think about opening issues there, but we don't check that platform often (or at all, really) so issues openned there would not receive the same attention than if they are opened here. There are also ethical issues for us about using a non-free platform, as we are a collective that focuses on self-hosting as many things as possible and not using services from Microsoft or others. Having a mirror of our code on Github on there but keeping the community here was the compromise we made in order to increase Garage's visibility without sacrificing control over the project.

Thanks for packaging Garage for Alpine Linux, it's great to have it there :) I just reviewed the configuration of our Gitea instance and email notifications should be enabled by default for new users. Were they disabled for your entire user account, or was it that you weren't subscribed to the garage repo? Wrt Github, we will think about opening issues there, but we don't check that platform often (or at all, really) so issues openned there would not receive the same attention than if they are opened here. There are also ethical issues for us about using a non-free platform, as we are a collective that focuses on self-hosting as many things as possible and not using services from Microsoft or others. Having a mirror of our code on Github on there but keeping the community here was the compromise we made in order to increase Garage's visibility without sacrificing control over the project.
lx closed this issue 2022-09-06 14:39:07 +00:00
Author
Contributor

Thanks for packaging Garage for Alpine Linux, it's great to have it there :)

You’re welcome!

I just reviewed the configuration of our Gitea instance and email notifications should be enabled by default for new users.

User Settings > Account: Manage Email Addresses, there wasn’t Enable Email Notifications selected, nor any other option available in the select box. However, this is probably not relevant. Even after enabling this, I haven’t received any email notification from deuxfleurs.fr (I checked the SPAM folder and even logs from rspamd).

was it that you weren't subscribed to the garage repo?

I weren’t watching the garage repo, but I’m (implicitly) subscribed to the issues and PRs I’ve created. I see notifications on the top panel, but haven’t received them on email. That’s really bad for occasional contributors.

we don't check that platform often (or at all, really) so issues openned there would not receive the same attention than if they are opened here.

GitHub supports email notifications, RSS feeds, webhooks even for issues/PRs, REST and GraphQL API. You don’t have to open https://github.com to get know about new issues/PRs, not even to interact with them. Unfortunatelly, I didn’t find any tool to synchronize issues/PRs between GitHub and Gitea.

we are a collective that focuses on self-hosting as many things as possible and not using services from Microsoft or others

I understand that, but if your goal is to spread awarness about self-hosted services and risks of centralized “cloud” monopols, it cannot work if people won’t even find you, can it?

the compromise we made in order to increase Garage's visibility without sacrificing control over the project.

The problem is that visibility is still very bad.

GitHub search:

Maybe ask GitHub why it is so low in the search results? It’s just my wild guess that it’s due to disabled issues.

> Thanks for packaging Garage for Alpine Linux, it's great to have it there :) You’re welcome! > I just reviewed the configuration of our Gitea instance and email notifications should be enabled by default for new users. [User Settings > Account: Manage Email Addresses](https://git.deuxfleurs.fr/user/settings/account), there wasn’t _Enable Email Notifications_ selected, nor any other option available in the select box. However, this is probably not relevant. Even after enabling this, I haven’t received any email notification from deuxfleurs.fr (I checked the SPAM folder and even logs from rspamd). > was it that you weren't subscribed to the garage repo? I weren’t **watch**ing the garage repo, but I’m (implicitly) subscribed to the issues and PRs I’ve created. I see notifications on the top panel, but haven’t received them on email. That’s really bad for occasional contributors. > we don't check that platform often (or at all, really) so issues openned there would not receive the same attention than if they are opened here. GitHub supports email notifications, RSS feeds, webhooks even for issues/PRs, REST and GraphQL API. You don’t have to open https://github.com to get know about new issues/PRs, not even to interact with them. Unfortunatelly, I didn’t find any tool to synchronize issues/PRs between GitHub and Gitea. > we are a collective that focuses on self-hosting as many things as possible and not using services from Microsoft or others I understand that, but if your goal is to spread awarness about self-hosted services and risks of centralized “cloud” monopols, it cannot work if people won’t even find you, can it? > the compromise we made in order to increase Garage's visibility without sacrificing control over the project. The problem is that visibility is still very bad. GitHub search: * [garage](https://github.com/search?q=garage) -> Garage is on the 5th (!) page * [object storage](https://github.com/search?q=object+storage) -> Garage is not even on the first 9 pages * [object store](https://github.com/search?q=object+store) -> Garage is not even on the first 9 pages * [cloud storage](https://github.com/search?q=cloud+storage) -> Garage is not even on the first 9 pages * [s3 object store](https://github.com/search?q=s3+object+store) -> finally, Garage is at the bottom of the first page Maybe ask GitHub why it is so low in the search results? It’s just my wild guess that it’s due to disabled issues.
Owner

Hi @jirutka, I reactivated the issues on our repository, we will see if it works: https://github.com/deuxfleurs-org/garage/issues/1

Hi @jirutka, I reactivated the issues on our repository, we will see if it works: https://github.com/deuxfleurs-org/garage/issues/1

Hi, just for the record, garage in Alpine Linux does not come with metrics unfortunately, here is how to have metrics working in Alpine Linux.

Hi, just for the record, garage in Alpine Linux does not come with metrics unfortunately, [here](https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/62887#note_388756) is how to have metrics working in Alpine Linux.
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#367
No description provided.