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

Allow hosting ostree on GitHub Releases #2020

Open
nurupo opened this issue Mar 7, 2020 · 0 comments
Open

Allow hosting ostree on GitHub Releases #2020

nurupo opened this issue Mar 7, 2020 · 0 comments

Comments

@nurupo
Copy link

nurupo commented Mar 7, 2020

Many opensource projects use AppImage and Flatpak to distribute their software. While you can distribute single-file AppImages and Flatpaks on GitHub Releases no problem, the preferred way to distribute Flatpaks is to host a repository. Flatpak uses ostree for its repository format, so to host a Flatpak repository on GitHub is to host an ostree on it. While it's possible to host an ostree on GitHub Pages - GitHub's free static page hosting, Pages has rather stark limitations: 1GB file size limit for the entire static website and 100GB monthly bandwidth limit. While for a regular static page website these limitations might be fine, a software repository is likely to reach these limits quickly, as instead of accessing a few KiB of web pages each user will be downloading 100MiB+ of binary files. However, GitHub has a solution for this - it suggest hosting large binary files on GitHub Releases, which has no total size nor bandwidth limit. As such, it's desirable to be able to host ostree on GitHub Releases.

So the idea is to host an ostree on GitHub Releases. However, since you can upload only files to GitHub Releases, you can't create directory structures on there, ostree needs a new option in its config file which tells clients to use "flat paths" - where everything is in the same directory level.

For example, if a client would look up:

[...]/objects/01/cf30656a692c23c76e73bae7950bdcc7ff6316e7cb7ebcd7a337c1ac45af57.dirtree

with this option enabled the client would instead lookup:

[...]/objects_01_cf30656a692c23c76e73bae7950bdcc7ff6316e7cb7ebcd7a337c1ac45af57.dirtree

With this option added it should be possible to host ostree on GitHub Releases. (At least as long as individual files are below 2GB).

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

No branches or pull requests

1 participant