Skip to content

Commit

Permalink
Merge pull request openshift#34198 from adellape/rm_pkgman
Browse files Browse the repository at this point in the history
  • Loading branch information
adellape authored Jul 1, 2021
2 parents faf4308 + 832df0c commit 5738e40
Show file tree
Hide file tree
Showing 13 changed files with 29 additions and 184 deletions.
2 changes: 1 addition & 1 deletion cli_reference/opm-cli.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ include::modules/olm-installing-opm.adoc[leveloffset=+1]
[id="opm-addtl-resources"]
== Additional resources

* See xref:../operators/admin/olm-managing-custom-catalogs.adoc#olm-managing-custom-catalogs-bundle-format[Managing custom catalogs] for `opm` procedures including creating, updating, and pruning index images.
* See xref:../operators/admin/olm-managing-custom-catalogs.adoc#olm-managing-custom-catalogs[Managing custom catalogs] for `opm` procedures including creating, updating, and pruning index images.
10 changes: 5 additions & 5 deletions modules/olm-about-catalogs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@ An Operator catalog is a repository of metadata that Operator Lifecycle Manager

An index image, based on the Operator bundle format, is a containerized snapshot of a catalog. It is an immutable artifact that contains the database of pointers to a set of Operator manifest content. A catalog can reference an index image to source its content for OLM on the cluster.

[NOTE]
====
Starting in {product-title} 4.6, index images provided by Red Hat replace the App Registry catalog images, based on the deprecated package manifest format, that are distributed for previous versions of {product-title} 4. While App Registry catalog images are not distributed by Red Hat for {product-title} 4.6 and later, custom catalog images based on the package manifest format are still supported.
====

As catalogs are updated, the latest versions of Operators change, and older versions may be removed or altered. In addition, when OLM runs on an {product-title} cluster in a restricted network environment, it is unable to access the catalogs directly from the Internet to pull the latest content.

As a cluster administrator, you can create your own custom index image, either based on a Red Hat-provided catalog or from scratch, which can be used to source the catalog content on the cluster. Creating and updating your own index image provides a method for customizing the set of Operators available on the cluster, while also avoiding the aforementioned restricted network environment issues.
Expand All @@ -22,3 +17,8 @@ As a cluster administrator, you can create your own custom index image, either b
====
When creating custom catalog images, previous versions of {product-title} 4 required using the `oc adm catalog build` command, which was deprecated for several releases and is now removed. With the availability of Red Hat-provided index images starting in {product-title} 4.6, catalog builders must use the `opm index` command to manage index images.
====

[NOTE]
====
Support for the legacy _package manifest format_ for Operators, including custom catalogs that were using the legacy format, is removed in {product-title} 4.8 and later.
====
2 changes: 1 addition & 1 deletion modules/olm-accessing-images-private-registries.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Other images required by an Operator or its Operands might require access to pri

The following types of images should be considered when determining whether Operators managed by OLM have appropriate pull access:

Index or catalog images:: A `CatalogSource` object can reference an index image or a catalog image, which are catalog sources packaged as container images hosted in images registries. Index images use the bundle format and reference bundle images, while catalog images use the package manifest format. If an index or catalog image is hosted in a private registry, a secret can be used to enable pull access.
Index images:: A `CatalogSource` object can reference an index image, which use the Operator bundle format and are catalog sources packaged as container images hosted in images registries. If an index image is hosted in a private registry, a secret can be used to enable pull access.

Bundle images:: Operator bundle images are metadata and manifests packaged as container images that represent a unique version of an Operator. If any bundle images referenced in a catalog source are hosted in one or more private registries, a secret can be used to enable pull access.

Expand Down
2 changes: 1 addition & 1 deletion modules/olm-bundle-format.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[id="olm-bundle-format_{context}"]
= Bundle format

The _bundle format_ for Operators is a new packaging format introduced by the Operator Framework. To improve scalability and to better enable upstream users hosting their own catalogs, the bundle format specification simplifies the distribution of Operator metadata.
The _bundle format_ for Operators is a packaging format introduced by the Operator Framework. To improve scalability and to better enable upstream users hosting their own catalogs, the bundle format specification simplifies the distribution of Operator metadata.

An Operator bundle represents a single version of an Operator. On-disk _bundle manifests_ are containerized and shipped as a _bundle image_, which is a non-runnable container image that stores the Kubernetes manifests and Operator metadata. Storage and distribution of the bundle image is then managed using existing container tools like `podman` and `docker` and container registries such as Quay.

Expand Down
2 changes: 1 addition & 1 deletion modules/olm-mirroring-catalog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ If your cluster uses an `ImageContentSourcePolicy` object to configure repositor
+
[IMPORTANT]
====
If you used the `--manifests-only` flag during the mirroring process and want to further trim the subset of packages to be mirrored, see the steps in the "Mirroring a package manifest format catalog image" procedure about modifying your `mapping.txt` file and using the file with the `oc image mirror` command. After following those further actions, you can continue this procedure.
If you used the `--manifests-only` flag during the mirroring process and want to further trim the subset of packages to be mirrored, see the steps in the link:https://docs.openshift.com/container-platform/4.7/operators/admin/olm-managing-custom-catalogs.html#olm-mirroring-package-manifest-catalog_olm-managing-custom-catalogs[Mirroring a package manifest format catalog image] procedure of the {product-title} 4.7 documentation about modifying your `mapping.txt` file and using the file with the `oc image mirror` command. After following those further actions, you can continue this procedure.
====
--

Expand Down
93 changes: 0 additions & 93 deletions modules/olm-package-manifest-format-catalogsource.adoc

This file was deleted.

61 changes: 0 additions & 61 deletions modules/olm-package-manifest-format.adoc

This file was deleted.

4 changes: 0 additions & 4 deletions modules/olm-terms.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ In the bundle format, a _bundle image_ is a container image that is built from O
== Catalog source
A _catalog source_ is a repository of CSVs, CRDs, and packages that define an application.

[id="olm-common-terms-catalog-image_{context}"]
== Catalog image
In the package manifest format, a _catalog image_ is a containerized datastore that describes a set of Operator metadata and update metadata that can be installed onto a cluster using OLM.

[id="olm-common-terms-channel_{context}"]
== Channel
A _channel_ defines a stream of updates for an Operator and is used to roll out updates for subscribers. The head points to the latest version of that channel. For example, a `stable` channel would have all stable versions of an Operator arranged from the earliest to the latest.
Expand Down
20 changes: 11 additions & 9 deletions operators/admin/olm-managing-custom-catalogs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,30 @@ include::modules/common-attributes.adoc[]

toc::[]

This guide describes how to work with custom catalogs for Operators packaged using either the xref:../../operators/understanding/olm-packaging-format.adoc#olm-bundle-format_olm-packaging-format[bundle format] or the legacy xref:../../operators/understanding/olm-packaging-format.adoc#olm-package-manifest-format_olm-packaging-format[package manifest format] on Operator Lifecycle Manager (OLM) in {product-title}.
This guide describes how to work with custom catalogs for Operators packaged using the xref:../../operators/understanding/olm-packaging-format.adoc#olm-bundle-format_olm-packaging-format[bundle format] on Operator Lifecycle Manager (OLM) in {product-title}.

[NOTE]
====
Support for the legacy _package manifest format_ for Operators, including custom catalogs that were using the legacy format, is removed in {product-title} 4.8 and later.
====

.Additional resources

* xref:../../operators/understanding/olm-rh-catalogs.adoc#olm-rh-catalogs[Red Hat-provided Operator catalogs]

[id="olm-managing-custom-catalogs-bundle-format"]
== Custom catalogs using the bundle format

[id="olm-managing-custom-catalogs-bundle-format-prereqs"]
=== Prerequisites
== Prerequisites

* Install the xref:../../cli_reference/opm-cli.adoc#opm-cli[`opm` CLI].

include::modules/olm-creating-index-image.adoc[leveloffset=+2]
include::modules/olm-creating-catalog-from-index.adoc[leveloffset=+2]
include::modules/olm-creating-index-image.adoc[leveloffset=+1]
include::modules/olm-creating-catalog-from-index.adoc[leveloffset=+1]
.Additional resources

* If your index image is hosted on a private registry and requires authentication, see xref:../../operators/admin/olm-managing-custom-catalogs.adoc#olm-accessing-images-private-registries_olm-managing-custom-catalogs[Accessing images for Operators from private registries].

include::modules/olm-updating-index-image.adoc[leveloffset=+2]
include::modules/olm-pruning-index-image.adoc[leveloffset=+2]
include::modules/olm-updating-index-image.adoc[leveloffset=+1]
include::modules/olm-pruning-index-image.adoc[leveloffset=+1]

include::modules/olm-accessing-images-private-registries.adoc[leveloffset=+1]
.Additional resources
Expand Down
2 changes: 1 addition & 1 deletion operators/operator_sdk/osdk-pkgman-to-bundle.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ include::modules/common-attributes.adoc[]

toc::[]

If you have an Operator project that was initially created using the package manifest format, which is deprecated, you can use the Operator SDK to migrate the project to the bundle format. The bundle format is the preferred packaging format for Operator Lifecycle Manager (OLM) starting in {product-title} 4.6.
Support for the legacy _package manifest format_ for Operators is removed in {product-title} 4.8 and later. If you have an Operator project that was initially created using the package manifest format, you can use the Operator SDK to migrate the project to the bundle format. The bundle format is the preferred packaging format for Operator Lifecycle Manager (OLM) starting in {product-title} 4.6.

include::modules/osdk-about-pkg-format-migration.adoc[leveloffset=+1]
.Additional resources
Expand Down
2 changes: 1 addition & 1 deletion operators/operator_sdk/osdk-working-bundle-images.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ include::modules/osdk-deploy-olm.adoc[leveloffset=+1]
include::modules/osdk-publish-catalog.adoc[leveloffset=+1]
.Additional resources

* See xref:../../operators/admin/olm-managing-custom-catalogs.adoc#olm-managing-custom-catalogs-bundle-format[Custom catalogs using the bundle format] for details on direct usage of the `opm` CLI for more advanced use cases.
* See xref:../../operators/admin/olm-managing-custom-catalogs.adoc#olm-managing-custom-catalogs[Managing custom catalogs] for details on direct usage of the `opm` CLI for more advanced use cases.

include::modules/osdk-bundle-upgrade-olm.adoc[leveloffset=+1]
.Additional resources
Expand Down
2 changes: 1 addition & 1 deletion operators/understanding/olm-common-terms.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ include::modules/common-attributes.adoc[]

toc::[]

This topic provides a glossary of common terms related to the Operator Framework, including Operator Lifecycle Manager (OLM) and the Operator SDK, for both packaging formats: package manifest format and bundle format.
This topic provides a glossary of common terms related to the Operator Framework, including Operator Lifecycle Manager (OLM) and the Operator SDK.

include::modules/olm-terms.adoc[leveloffset=+1]
11 changes: 6 additions & 5 deletions operators/understanding/olm-packaging-format.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ include::modules/common-attributes.adoc[]

toc::[]

This guide outlines the packaging formats for Operators supported by Operator Lifecycle Manager (OLM) in {product-title}.
This guide outlines the packaging format for Operators supported by Operator Lifecycle Manager (OLM) in {product-title}.

[NOTE]
====
Support for the legacy _package manifest format_ for Operators is removed in {product-title} 4.8 and later. Existing Operator projects in the package manifest format can be migrated to the bundle format by using the Operator SDK `pkgman-to-bundle` command. See xref:../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format] for more details.
====

include::modules/olm-bundle-format.adoc[leveloffset=+1]
include::modules/olm-bundle-format-dependencies-file.adoc[leveloffset=+2]
Expand All @@ -16,10 +21,6 @@ include::modules/olm-bundle-format-dependencies-file.adoc[leveloffset=+2]
include::modules/olm-about-opm.adoc[leveloffset=+2]
* See xref:../../cli_reference/opm-cli.adoc#opm-cli[CLI tools] for steps on installing the `opm` CLI.

include::modules/olm-package-manifest-format.adoc[leveloffset=+1]
.Additional resources
* xref:../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format]

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

0 comments on commit 5738e40

Please sign in to comment.