diff --git a/docs/Tasks/installing-an-extension.md b/docs/Tasks/installing-an-extension.md index 81a687042..1458a1653 100644 --- a/docs/Tasks/installing-an-extension.md +++ b/docs/Tasks/installing-an-extension.md @@ -6,11 +6,11 @@ After you add a catalog to your cluster, you can install an extension by creatin ## Prerequisites * A deployed and unpacked catalog -* The name, and optionally version, or channel, of the extension to be installed -* The extension must be compatible with OLM 1.0 (see [current OLM v1 limitations](../drafts/refs/olmv1-limitations.md)) +* The name, and optionally version, or channel, of the [supported extension](../concepts/supported-extensions.md) to be installed * An existing namespace in which to install the extension * A suitable service account for installation (more information can be found [here](../drafts/Tasks/create-installer-service-account.md)) + ## Procedure 1. Create a CR for the Kubernetes extension you want to install: diff --git a/docs/refs/supported-extensions.md b/docs/refs/supported-extensions.md new file mode 100644 index 000000000..8a1e97c02 --- /dev/null +++ b/docs/refs/supported-extensions.md @@ -0,0 +1,18 @@ +Currently, OLM v1 supports installing cluster extensions that meet the following criteria: + +* The extension must support installation via the `AllNamespaces` install mode. +* The extension must not use webhooks. +* The extension must not declare dependencies using the any of following file-based catalog properties: + + * `olm.gvk.required` + * `olm.package.required` + * `olm.constraint` + +When you install an extension, OLM v1 validates that the bundle you want to install meets these constraints. If you try to install an extension that does not meet these constraints, an error message is printed in the cluster extension's conditions. + +!!! important + + OLM v1 does not support the `OperatorConditions` API introduced in legacy OLM. + + Currently, there is no testing to validate against this constraint. If an extension uses the `OperatorConditions` API, the extension does not install correctly. Most extensions that rely on this API fail at start time, but some might fail during reconcilation. + diff --git a/mkdocs.yml b/mkdocs.yml index 69c3f015c..e5a4d6717 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -17,6 +17,7 @@ nav: - Installing an extension: 'Tasks/installing-an-extension.md' - Deleting an extension: 'Tasks/uninstalling-an-extension.md' - References: + - Supported extensions: 'refs//supported-extensions.md' - API references: - Operator controller API reference: 'refs/api/operator-controller-api-reference.md' - Catalog queries: 'refs/catalog-queries.md'