operator-framework / enhancements

Apache License 2.0
9 stars 40 forks source link

Declarative Config: bundle object references and storage #75

Closed joelanford closed 3 years ago

joelanford commented 3 years ago

Description This PR updates the declarative config EP to document how bundle objects will be persisted and referenced in a declarative config-based index via a new olm.bundle.object property.

The olm.bundle.object property can be used to include bundle objects in an index. It behaves like a union type, where one of ref or data must be set. If ref is set, opm will load data from the referenced file path, relative to the directory in which the olm.bundle blob is found. If data is set, opm will base64 decode the data value.

Motivation For backwards-compatibility reasons, the olm.bundle.object properties are necessary for opm to serve OLM's packageserver component with CSV-derived metadata from a declarative config-based index. The API service exposed by packageserver is used by various on-cluster tools, such as the OpenShift console and the kubectl operator plugin.

Index maintainers that desire for their indexes to support these components should validate that CSV objects are present in the index for each channel head of each package.

Signed-off-by: Joe Lanford joe.lanford@gmail.com

anik120 commented 3 years ago

/lgtm