Managing Flatpak remotes with Katello

After today’s Community Demo I got interested into the topic of controlling and proxying Flatpak content again.
It was very shortly mentioned that pulp 3, or better said the pulp container plugin is capable now to download, host and index OCI compliant Flaptak repos now.

It kind of makes sense to do the same thing with flatpak repos as already done with yum (…) repos, “mirror”, stage, filter, and distribute them internally as they are mostly very user facing.
As far as I understood it, it would be possible now to integrate only OCI copliant single flatpak repos into pulp, but not the ostree/git style repos, and even less structures of many such repos like Flathub is.

It really got me thinking of a time, where you could on demand proxy Flathub through Katello, which could manage the Flatpak remote config on the clients via rhsm.
Up to now I don’t really know if I’m able to help in that matter without much development knowledge, or even have that time, but hey I at least I had that thought and wanted to write it down.

So… any thoughts on this? Did I misunderstand/miss something, is there already work somewhere for Flatpak remote proxying?

Cheers! ~lumarel

3 Likes

It seams at least you understood this correctly: Hosting Flatpak Content in OCI Format — Pulp Container Support 2.16.0 documentation

Pulp support is only the first step, but a promising one. I am personally not a big fan of flatpak, so I would prefer support for other content before this, but if there is some interest I am definitely pro adding it.

Okay good.
Lets say I’m also not the biggest fan, but it seems like it’s the future for UI applications…
And with control of Flatpaks from Flathub you could also do whitelisting. (would need similar enforcing like it’s possible with subscription-manager with dnf, where you can force to only allow repos from rhsm)

1 Like

I added that Flatpak support to Pulp, and am now starting to add support in Katello.

4 Likes

@iballou
You got me back on this topic again with your talk in the last Community Demo :slight_smile:

The only thing that gives me a really hard time is, as far as I understand it, you won’t be pointing to a whole remote, right?
For the OCI way (RHEL, other EL, Fedora OCI remotes) you basically configure each image in a project, and then the future magic will give metadata on the project level to make it an flatpak remote? :thinking:
For Flathub, I can’t even find a single OSTree endpoint for the individual packages, this makes it so hard to try around. Maybe I get it somehow working to sync a package with the OSTree pulp module, or at least get the git remote endpoint. Directory browsing is unfortunately not possible on Flathub :confused:

Looking forward to what may be coming there! :slight_smile:

1 Like

Hey @lumarel ,

I’m hoping a full RFC for the feature is written up soon. The way we plan on handling it is by letting users configure OCI flatpak remotes for registries likes flatpaks.redhat.io and Fedora (in fact they should be there by default). There will be new UI workflows for that. Then, once the remote is configured, we’ll crawl the Flatpak index to discover the existing repositories. Finally, like on the repo discovery page, we’ll let you turn those discovered “repos” into actual repositories to sync.

We’d like to support OSTree flatpaks in the future too, but that’ll take a little more work since the Pulp OSTree plugin might need some additional work. We’ll gauge community interest after the OCI part is released. It might work out that you can turn OSTree flatpaks into OCI ones and then push it to Katello, but we’ll need to check that out more.

It’ll be helpful to see who’s interested in this feature, so for any other readers, please post here (or on the future RFC post) if you’d like to mirror flatpaks in Katello.

4 Likes

Ah it’s that “easy” okay, lets see how it turns out :+1:
Yeah for me it’s making the use case client support (with staged repos) complete and round in these flatpak rising days.

Will most likely spend some time in the next months to figure out how flatpak hosting, flat-manager and such works. Maybe it makes a little more sense then how the whole OSTree based thing is structured.

2 Likes