"CatalogSourceBundle" API for Wrapping "Bundle of Bundles" #257
Replies: 2 comments 4 replies
-
I'm not sure about introducing a new API to describe a type of Bundle, since the original intention of the Bundle/BI API was to be extensible and flexible enough to support different content sources. There are other projects that take the "each content source is its own CRD" approach (for example flux, with a HelmChart type, a GitRepository type, etc) but rukpak was designed intentionally to not take this approach. I like the idea of using a custom catalog provisioner to "unpack" catalogs and serve them on the cluster. I think this can be achieved without any new APIs though. |
Beta Was this translation helpful? Give feedback.
-
A few things that are in my head atm:
|
Beta Was this translation helpful? Give feedback.
-
In a recent working group meeting, we began discussing a Deppy-like component (outlined here) which would be responsible for handling resolving catalogs for Rukpak. During the discussion it was mentioned that we may start to look at
Rukpak
catalogs to be aBundle
ofBundle
s that would then get resolved like normal by a provisioner. However, the point was brought up that this may be confusing for a user as they are sourcing a catalog using theBundle
API. I was thinking on this issue and wanted to see what we thought about this idea.What if we added two new core Rukpak
CRD
s,CatalogSourceBundle
andCatalogSourceBundleInstance
(name subject to change), to the coreRukpak
CRD
s?Essentially this would be an implementation of a
Bundle
interface where they share similar properties but are named differently (and could include other catalog specific metadata)?. TheCatalogSourceBundleInstance
could act as aSubscription
does today and allow for things like constraints, metadata, etc. As a result, users can now use two separate API's but under-the-hood the resources operate extremely similarly and share the same provisioner-style of resolution.I envision this looking something along these lines:
With a
CatalogSourceBundleInstance
looking like:This would result in a
BundleInstance
(potentially with an embeddedBundle
for the resolved catalog item) being unpacked/instantiated on the cluster.Beta Was this translation helpful? Give feedback.
All reactions