Skip to content

Commit

Permalink
📖 [Docs] Supported extensions (OLM v1 constraints/limitations)
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelryanpeter committed Sep 12, 2024
1 parent f61ffb4 commit 588dfb0
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
5 changes: 4 additions & 1 deletion docs/Tasks/installing-an-extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ After you add a catalog to your cluster, you can install an extension by creatin

* 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))
* 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))

[comment]: # embeds the `supported-extensions.md` as a snippet. See https://facelessuser.github.io/pymdown-extensions/extensions/snippets/#single-line-format

--8--< "../concepts/supported-extensions.md"

## Procedure

1. Create a CR for the Kubernetes extension you want to install:
Expand Down
20 changes: 20 additions & 0 deletions docs/concepts/supported-extensions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Supported extensions

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 runs checks to validate 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.

2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ repo_url: https://github.com/operator-framework/operator-controller
nav:
- Home: 'index.md'
- Components: 'components.md'
- Concepts:
- Supported extensions: 'concepts/supported-extensions.md'
- Tasks:
- Adding a catalog of extensions: 'Tasks/adding-a-catalog.md'
- Finding extensions to install: 'Tasks/exploring-available-packages.md'
Expand Down

0 comments on commit 588dfb0

Please sign in to comment.