:_mod-docs-content-type: ASSEMBLY
[id="olm-packaging-format"]
= Operator Framework packaging format
include::_attributes/common-attributes.adoc[]
:context: olm-packaging-format

toc::[]

[role="_abstract"]
You can use the Operator Framework packaging format to bundle and publish Operator metadata for Operator Lifecycle Manager (OLM) in {product-title}. The format covers bundle images, dependencies, and file-based catalog schemas.

include::modules/olm-bundle-format.adoc[leveloffset=+1]

include::modules/olm-bundle-format-manifests.adoc[leveloffset=+2]

include::modules/olm-bundle-format-manifests-optional.adoc[leveloffset=+3]

include::modules/olm-bundle-format-annotations.adoc[leveloffset=+2]

include::modules/olm-dependencies.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../operators/understanding/olm/olm-understanding-dependency-resolution.adoc#olm-understanding-dependency-resolution[Operator Lifecycle Manager dependency resolution]

include::modules/olm-about-opm.adoc[leveloffset=+2]

* See xref:../../cli_reference/opm/cli-opm-install.adoc#cli-opm-install[CLI tools] for steps on installing the `opm` CLI.

ifdef::openshift-origin[]
[id="olm-packaging-format-addtl-resources"]
[role="_additional-resources"]
== Additional resources

* link:https://github.com/operator-framework/operator-registry/blob/master/docs/design/operator-bundle.md[Operator Bundle Overview]
* link:https://github.com/operator-framework/operator-registry/blob/master/README.md[Operator Registry README]
* link:https://github.com/operator-framework/operator-registry/releases[Operator Registry Releases]
endif::[]

include::modules/olm-fb-catalogs.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

ifndef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
* xref:../../operators/admin/olm-managing-custom-catalogs.adoc#olm-managing-custom-catalogs-fb[Managing custom catalogs]
* xref:../../disconnected/installing-mirroring-disconnected.adoc#installing-mirroring-disconnected[Mirroring images for a disconnected installation using the oc-mirror plugin]
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
ifdef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
* xref:../../operators/admin/olm-managing-custom-catalogs.adoc#olm-managing-custom-catalogs-fb[Managing custom catalogs]
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]

include::modules/olm-fb-catalogs-structure.adoc[leveloffset=+2]

include::modules/olm-fb-catalogs-schemas.adoc[leveloffset=+2]

include::modules/olm-package-schema.adoc[leveloffset=+3]

include::modules/olm-channel-schema.adoc[leveloffset=+3]

[role="_additional-resources"]
.Additional resources

* link:https://cuelang.org/docs/references/spec/[CUE language specification]

include::modules/olm-bundle-schema.adoc[leveloffset=+3]

include::modules/olm-deprecations-schema.adoc[leveloffset=+3]

[role="_additional-resources"]
.Additional resources

* xref:../../operators/admin/olm-managing-custom-catalogs.adoc#olm-filtering-fbc_olm-managing-custom-catalogs[Updating or filtering a file-based catalog image]

include::modules/olm-fb-catalogs-prop.adoc[leveloffset=+2]

include::modules/olm-fb-catalogs-example.adoc[leveloffset=+2]

include::modules/olm-fb-catalogs-guidelines.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../operators/admin/olm-managing-custom-catalogs.adoc#olm-creating-fb-catalog-image_olm-managing-custom-catalogs[Managing custom catalogs]
* xref:../../cli_reference/opm/cli-opm-ref.adoc#cli-opm-ref[CLI tools]

include::modules/olm-fb-catalogs-automation.adoc[leveloffset=+2]
