You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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).
The text was updated successfully, but these errors were encountered: