Skip to content

Commit ea4380e

Browse files
authored
Merge pull request #78031 from adellape/rm_bundleapi
OCPBUGS#35805: Rm Bundle API from 4.16 OLMv1 TP
2 parents 5c6ea5b + 0fd5727 commit ea4380e

File tree

9 files changed

+15
-29
lines changed

9 files changed

+15
-29
lines changed
File renamed without changes.
File renamed without changes.

modules/olm-rukpak-registry-bundle.adoc renamed to _unused_topics/olm-rukpak-registry-bundle.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
[id="olm-rukpak-registry-bundle_{context}"]
77
= Registry bundle spec
88

9-
A registry bundle, or `registry+v1` bundle, contains a set of static Kubernetes YAML manifests organized in the legacy Operator Lifecycle Manager (OLM) bundle format.
9+
A registry bundle, or `registry+v1` bundle, contains a set of static Kubernetes YAML manifests organized in the {olmv0-first} bundle format.

modules/olm-rukpak-about.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ endif::[]
1919

2020
RukPak is a pluggable solution for packaging and distributing cloud-native content. It supports advanced strategies for installation, updates, and policy.
2121

22-
RukPak provides a content ecosystem for installing a variety of artifacts on a Kubernetes cluster. Artifact examples include Git repositories, Helm charts, and OLM bundles. RukPak can then manage, scale, and upgrade these artifacts in a safe way to enable powerful cluster extensions.
22+
RukPak provides a content ecosystem for installing artifacts on a Kubernetes cluster. In {product-title} 4.16, RukPak supports {olmv0-first} bundles as artifacts. RukPak can then manage, scale, and upgrade these artifacts in a safe way to enable powerful cluster extensions.
2323

24-
At its core, RukPak is a small set of APIs and controllers. The APIs are packaged as custom resource definitions (CRDs) that express what content to install on a cluster and how to create a running deployment of the content. The controllers watch for the APIs.
24+
At its core, RukPak is a set of controllers and the `BundleDeployment` API. The API is packaged as a custom resource definition (CRD) that expresses what content to install on a cluster and how to create a running deployment of the content. The controllers watch for the API.
2525

2626
.Common terminology
2727

@@ -34,4 +34,4 @@ A Git repository that contains a bundle within a directory
3434
Provisioner::
3535
Controllers that install and manage content on a Kubernetes cluster
3636
Bundle deployment::
37-
Generates deployed instances of a bundle
37+
Generates deployed instances of a bundle

modules/olm-rukpak-bd.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
[id="olm-rukpak-bd_{context}"]
77
= BundleDeployment
88

9+
In {product-title} 4.16, the RukPak `BundleDeployment` indicates when a bundle should be active. This includes pivoting from older versions of an active bundle.
10+
911
[WARNING]
1012
====
1113
A `BundleDeployment` object changes the state of a Kubernetes cluster by installing and removing objects. It is important to verify and trust the content that is being installed and limit access, by using RBAC, to the `BundleDeployment` API to only those who require those permissions.
1214
====
1315

14-
The RukPak `BundleDeployment` API points to a `Bundle` object and indicates that it should be active. This includes pivoting from older versions of an active bundle. A `BundleDeployment` object might also include an embedded spec for a desired bundle.
15-
1616
Much like pods generate instances of container images, a bundle deployment generates a deployed version of a bundle. A bundle deployment can be seen as a generalization of the pod concept.
1717

1818
The specifics of how a bundle deployment makes changes to a cluster based on a referenced bundle is defined by the provisioner that is configured to watch that bundle deployment.

modules/olm-rukpak-provisioner.adoc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@
77
[id="olm-rukpak-provisioner_{context}"]
88
= About provisioners
99

10-
RukPak consists of a series of controllers, known as _provisioners_, that install and manage content on a Kubernetes cluster. RukPak also provides two primary APIs: `Bundle` and `BundleDeployment`. These components work together to bring content onto the cluster and install it, generating resources within the cluster.
10+
RukPak consists of a series of controllers, known as _provisioners_, that install and manage content on a Kubernetes cluster. A provisioner works together with a `BundleDeployment` object to bring content onto the cluster and install it, generating resources within the cluster.
1111

12-
Currently, the _registry provisioner_ is implemented and bundled with RukPak. The registry provisioner sources and unpacks Operator Lifecycle Manager (OLM) `registry+v1` bundles.
12+
Currently, the _registry provisioner_ is implemented and included with RukPak. A _registry bundle_, or `registry+v1` bundle, contains a set of static Kubernetes YAML manifests organized in the {olmv0-first} bundle format. The registry provisioner sources and unpacks registry bundles.
1313

14-
A provisioner is assigned a unique ID and is responsible for reconciling `Bundle` and `BundleDeployment` objects with a `spec.provisionerClassName` field that matches that particular ID. For example, the registry provisioner is able to unpack a given `registry+v1` bundle onto a cluster and then instantiate it, making the content of the bundle available in the cluster.
14+
A provisioner is assigned a unique ID and is responsible for reconciling bundles and `BundleDeployment` objects with a `spec.provisionerClassName` field that matches that particular ID. For example, the registry provisioner is able to unpack a given `registry+v1` bundle onto a cluster and then instantiate it, making the content of the bundle available in the cluster.
15+
16+
A provisioner places a watch on `BundleDeployment` resources that refer to the provisioner explicitly. For a given bundle, the provisioner unpacks the contents of the bundle onto the cluster. Then, given a `BundleDeployment` resource referring to that bundle, the provisioner installs the bundle contents and is responsible for managing the lifecycle of those resources.
1517

16-
A provisioner places a watch on both `Bundle` and `BundleDeployment` resources that refer to the provisioner explicitly. For a given bundle, the provisioner unpacks the contents of the `Bundle` resource onto the cluster. Then, given a `BundleDeployment` resource referring to that bundle, the provisioner installs the bundle contents and is responsible for managing the lifecycle of those resources.

operators/olm_v1/arch/olmv1-components.adoc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,5 @@ include::snippets/technology-preview.adoc[]
1414
Operator Controller:: xref:../../../operators/olm_v1/arch/olmv1-operator-controller.adoc#olmv1-operator-controller[Operator Controller] is the central component of {olmv1} that extends Kubernetes with an API through which users can install and manage the lifecycle of Operators and extensions. It consumes information from catalogd.
1515

1616
RukPak:: xref:../../../operators/olm_v1/arch/olmv1-rukpak.adoc#olmv1-rukpak[RukPak] is a pluggable solution for packaging and distributing cloud-native content. It supports advanced strategies for installation, updates, and policy.
17-
+
18-
RukPak provides a content ecosystem for installing a variety of artifacts on a Kubernetes cluster. Artifact examples include Git repositories, Helm charts, and OLM bundles. RukPak can then manage, scale, and upgrade these artifacts in a safe way to enable powerful cluster extensions.
1917

2018
Catalogd:: xref:../../../operators/olm_v1/arch/olmv1-catalogd.adoc#olmv1-catalogd[Catalogd] is a Kubernetes extension that unpacks file-based catalog (FBC) content packaged and shipped in container images for consumption by on-cluster clients. As a component of the {olmv1} microservices architecture, catalogd hosts metadata for Kubernetes extensions packaged by the authors of the extensions, and as a result helps users discover installable content.

operators/olm_v1/arch/olmv1-rukpak.adoc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,9 @@ include::snippets/technology-preview.adoc[]
1313

1414
include::modules/olm-rukpak-about.adoc[leveloffset=+1]
1515
include::modules/olm-rukpak-provisioner.adoc[leveloffset=+1]
16-
17-
include::modules/olm-rukpak-bundle.adoc[leveloffset=+1]
18-
include::modules/olm-rukpak-bundle-immutability.adoc[leveloffset=+2]
19-
include::modules/olm-rukpak-registry-bundle.adoc[leveloffset=+2]
20-
2116
[role="_additional-resources"]
2217
.Additional resources
2318
24-
* xref:../../../operators/understanding/olm-packaging-format.adoc#olm-bundle-format_olm-packaging-format[Legacy OLM bundle format]
19+
* xref:../../../operators/understanding/olm-packaging-format.adoc#olm-bundle-format_olm-packaging-format[{olmv0-caps} bundle format]
2520
2621
include::modules/olm-rukpak-bd.adoc[leveloffset=+1]

operators/understanding/olm-packaging-format.adoc

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,9 @@ include::modules/olm-rukpak-about.adoc[leveloffset=+1]
7979
[role="_additional-resources"]
8080
.Additional resources
8181
82-
* xref:../../operators/olm_v1/index.adoc#olmv1-about[About Operator Lifecycle Manager 1.0 (Technology Preview)]
83-
84-
include::modules/olm-rukpak-bundle.adoc[leveloffset=+2]
85-
include::modules/olm-rukpak-bundle-immutability.adoc[leveloffset=+3]
86-
include::modules/olm-rukpak-registry-bundle.adoc[leveloffset=+3]
87-
[role="_additional-resources"]
88-
.Additional resources
89-
90-
* xref:../../operators/understanding/olm-packaging-format.adoc#olm-bundle-format_olm-packaging-format[Legacy OLM bundle format]
91-
92-
include::modules/olm-rukpak-bd.adoc[leveloffset=+2]
82+
* xref:../../operators/olm_v1/index.adoc#olmv1-about[About {olmv1} (Technology Preview)]
83+
* xref:../../operators/understanding/olm-packaging-format.adoc#olm-bundle-format_olm-packaging-format[{olmv0-caps} bundle format]
9384
9485
include::modules/olm-rukpak-provisioner.adoc[leveloffset=+2]
86+
include::modules/olm-rukpak-bd.adoc[leveloffset=+2]
9587
endif::openshift-dedicated,openshift-rosa[]

0 commit comments

Comments
 (0)