From 15401fb2b11218b619196dd3d6401aebb02f186e Mon Sep 17 00:00:00 2001 From: Per Goncalves da Silva Date: Tue, 1 Oct 2024 14:42:54 +0200 Subject: [PATCH] organize docs Signed-off-by: Per Goncalves da Silva --- README.md | 128 ++---------------- .../create-installer-service-account.md | 0 docs/drafts/{refs => }/olmv1-limitations.md | 0 docs/{drafts => general}/architecture.md | 0 docs/{drafts => general}/developer.md | 0 .../olmv1_design_decisions.md} | 96 +++++++------ docs/general/olmv1_getting_started.md | 117 ++++++++++++++++ docs/{index.md => general/olmv1_overview.md} | 16 ++- docs/{ => general}/olmv1_roadmap.md | 0 .../controlling-catalog-selection.md | 0 .../exploring-available-packages.md | 2 +- ...eferences-permission-enforcement-plugin.md | 2 +- docs/{drafts => refs}/single-owner-objects.md | 0 docs/{drafts => refs}/version-ranges.md | 0 .../catalog}/adding-a-catalog.md | 0 .../downgrade}/downgrading-an-extension.md | 0 .../installation}/installing-an-extension.md | 2 +- .../installation}/provided-serviceaccount.md | 0 .../uninstalling-an-extension.md | 0 .../upgrade}/how-to-channel-based-upgrades.md | 0 .../upgrade}/how-to-pin-version.md | 2 +- .../upgrade}/how-to-version-range-upgrades.md | 2 +- .../upgrade}/how-to-z-stream-upgrades.md | 2 +- .../upgrade}/upgrade-support.md | 0 .../upgrade}/upgrading-an-extension.md | 8 +- mkdocs.yml | 12 +- 26 files changed, 210 insertions(+), 179 deletions(-) rename docs/drafts/{Tasks => }/create-installer-service-account.md (100%) rename docs/drafts/{refs => }/olmv1-limitations.md (100%) rename docs/{drafts => general}/architecture.md (100%) rename docs/{drafts => general}/developer.md (100%) rename docs/{olmv1_overview.md => general/olmv1_design_decisions.md} (71%) create mode 100644 docs/general/olmv1_getting_started.md rename docs/{index.md => general/olmv1_overview.md} (90%) rename docs/{ => general}/olmv1_roadmap.md (100%) rename docs/{drafts => refs}/controlling-catalog-selection.md (100%) rename docs/{Tasks => refs}/exploring-available-packages.md (99%) rename docs/{drafts => refs}/permissions-for-owner-references-permission-enforcement-plugin.md (84%) rename docs/{drafts => refs}/single-owner-objects.md (100%) rename docs/{drafts => refs}/version-ranges.md (100%) rename docs/{Tasks => tasks/catalog}/adding-a-catalog.md (100%) rename docs/{drafts => tasks/downgrade}/downgrading-an-extension.md (100%) rename docs/{Tasks => tasks/installation}/installing-an-extension.md (98%) rename docs/{drafts => tasks/installation}/provided-serviceaccount.md (100%) rename docs/{Tasks => tasks/uninstallation}/uninstalling-an-extension.md (100%) rename docs/{drafts => tasks/upgrade}/how-to-channel-based-upgrades.md (100%) rename docs/{drafts => tasks/upgrade}/how-to-pin-version.md (94%) rename docs/{drafts => tasks/upgrade}/how-to-version-range-upgrades.md (96%) rename docs/{drafts => tasks/upgrade}/how-to-z-stream-upgrades.md (95%) rename docs/{drafts => tasks/upgrade}/upgrade-support.md (100%) rename docs/{drafts/Tasks => tasks/upgrade}/upgrading-an-extension.md (96%) diff --git a/README.md b/README.md index c4a1ce3af..83aed5f0b 100644 --- a/README.md +++ b/README.md @@ -2,137 +2,25 @@ The operator-controller is the central component of Operator Lifecycle Manager (OLM) v1. It extends Kubernetes with an API through which users can install extensions. -## Mission +## Overview + +OLM v1 is the follow-up to [OLM v0](https://github.com/operator-framework/operator-lifecycle-manager). Its purpose is to provide APIs, +controllers, and tooling that support the packaging, distribution, and lifecycling of Kubernetes extensions. It aims to: -OLM’s purpose is to provide APIs, controllers, and tooling that support the packaging, distribution, and lifecycling of Kubernetes extensions. It aims to: - align with Kubernetes designs and user assumptions - provide secure, high-quality, and predictable user experiences centered around declarative GitOps concepts - give cluster admins the minimal necessary controls to build their desired cluster architectures and to have ultimate control -## Overview - -OLM v1 is the follow-up to OLM v0, located [here](https://github.com/operator-framework/operator-lifecycle-manager). - OLM v1 consists of two different components: + * operator-controller (this repository) * [catalogd](https://github.com/operator-framework/catalogd) -For a more complete overview of OLM v1 and how it differs from OLM v0, see our [overview](docs/olmv1_overview.md). - -### Installation - -The following script will install OLMv1 on a Kubernetes cluster. If you don't have one, you can deploy a Kubernetes cluster with [KIND](https://sigs.k8s.io/kind). - -> [!CAUTION] -> Operator-Controller depends on [cert-manager](https://cert-manager.io/). Running the following command -> may affect an existing installation of cert-manager and cause cluster instability. - -The latest version of Operator Controller can be installed with the following command: - -```bash -curl -L -s https://github.com/operator-framework/operator-controller/releases/latest/download/install.sh | bash -s -``` - -## Getting Started with OLM v1 - -This quickstart procedure will guide you through the following processes: -* Deploying a catalog -* Installing, upgrading, or downgrading an extension -* Deleting catalogs and extensions - -### Create a Catalog - -OLM v1 is designed to source content from an on-cluster catalog in the file-based catalog ([FBC](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#docs)) format. -These catalogs are deployed and configured through the `ClusterCatalog` resource. More information on adding catalogs -can be found [here](./docs/Tasks/adding-a-catalog). - -The following example uses the official [OperatorHub](https://operatorhub.io) catalog that contains many different -extensions to choose from. Note that this catalog contains packages designed to work with OLM v0, and that not all packages -will work with OLM v1. More information on catalog exploration and content compatibility can be found [here](./docs/refs/catalog-queries.md). - -To create the catalog, run the following command: - -```bash -# Create ClusterCatalog -kubectl apply -f - < [!CAUTION] +> Operator-Controller depends on [cert-manager](https://cert-manager.io/). Running the following command +> may affect an existing installation of cert-manager and cause cluster instability. + +The latest version of Operator Controller can be installed with the following command: + +```bash +curl -L -s https://github.com/operator-framework/operator-controller/releases/latest/download/install.sh | bash -s +``` + +## Getting Started with OLM v1 + +This quickstart procedure will guide you through the following processes: + +* Deploying a catalog +* Installing, upgrading, or downgrading an extension +* Deleting catalogs and extensions + +### Create a Catalog + +OLM v1 is designed to source content from an on-cluster catalog in the file-based catalog ([FBC](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#docs)) format. +These catalogs are deployed and configured through the `ClusterCatalog` resource. More information on adding catalogs +can be found [here](./docs/Tasks/adding-a-catalog). + +The following example uses the official [OperatorHub](https://operatorhub.io) catalog that contains many different +extensions to choose from. Note that this catalog contains packages designed to work with OLM v0, and that not all packages +will work with OLM v1. More information on catalog exploration and content compatibility can be found [here](./docs/refs/catalog-queries.md). + +To create the catalog, run the following command: + +```bash +# Create ClusterCatalog +kubectl apply -f - <