Skip to content

Commit c044053

Browse files
committed
docs: Add stackableVersionPolicy to product image selection page
1 parent b3bef43 commit c044053

2 files changed

Lines changed: 41 additions & 18 deletions

File tree

modules/concepts/pages/product-image-selection.adoc

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@ At the bottom of this page, in the <<_common_scenarios, common scenarios>> secti
6565

6666
If your Kubernetes cluster has internet access, the easiest way is to use the publicly available images from the https://oci.stackable.tech/[Stackable Image Registry{external-link-icon}^].
6767

68-
TIP: All our images are also mirrored to our https://quay.io/organization/stackable[Stackable Quay.io organization{external-link-icon}^].
68+
[TIP]
69+
====
70+
All our images are also published to our https://quay.io/organization/stackable[Stackable Quay.io organization{external-link-icon}^].
71+
The layout of our artifacts is detailed on our xref:artifact-registries/index.adoc[artifact registries] page.
72+
====
6973

7074
[source,yaml]
7175
----
@@ -79,39 +83,56 @@ Consult the product operator documentation to find out about supported product v
7983
<.> The version of the Stackable Data Platform.
8084
Simply omit this to use the operator version.
8185

82-
NOTE: If the Kubernetes cluster does not have internet access, you can use a xref:_custom_docker_registry[] or xref:_custom_images[].
86+
NOTE: If the Kubernetes cluster does not have internet access, you can use a xref:_custom_registry[] or xref:_custom_images[].
8387

8488
You only need to specify the product version, but you _can_ also specify an explicit Stackable version.
8589
The product version can be found on the xref:operators:supported_versions.adoc[list of supported product versions] or on the product operator documentation page.
90+
If you don't specify the Stackable version, the operator will use its own version, e.g. `25.7.0`.
91+
When using a nightly operator or a `-pr` version, it will use the nightly `0.0.0-dev` image.
8692

8793
As images should be updated from time to time (e.g., new base image, security updates), a Stackable version can be provided.
8894
An image with the Stackable version `25.7.0` is fixed and will never change.
8995
Security updates within a release line will result in patch version bumps in the Stackable version, for example, to `25.7.1`.
9096

91-
If you don't specify the Stackable version, the operator will use its own version, e.g., `25.7.0`.
92-
When using a nightly operator or a `pr` version, it will use the nightly `0.0.0-dev` image.
97+
By default, updating to the newest patch version is an explicit change of the `stackableVersion` field.
98+
Since 26.11.0 however, it is possible to opt into automatic patch level updates.
99+
100+
[source,yaml]
101+
----
102+
spec:
103+
image:
104+
productVersion: 3.9.1
105+
stackableVersionPolicy: LatestPatch # Default: Exact <.>
106+
----
107+
<.> This instructs the operator to choose the latest patch level version of the product image.
108+
109+
[NOTE]
110+
====
111+
A potential newer image is only pulled when Pods are rotated or their containers are restarted.
112+
Pods are **not** rotated and containers are **not** restarted automatically when a new image is available.
113+
This behaviour makes this a passive update mechanism, rather than an active one.
114+
====
93115

94116
All the available images (with their product and Stackable versions) can be found in our https://oci.stackable.tech/api/v2.0/projects/sdp[Stackable OCI registry{external-link-icon}^].
95-
Information on how to browse the registry can be found in the xref:contributor:project-overview.adoc#docker-images[Docker images section of the project overview].
117+
Information on how to browse the registry can be found in the xref:contributor:project-overview.adoc#docker-images[container images section of the project overview].
96118

97-
== Custom docker registry
119+
== Custom registry
98120

99-
Custom Docker registries can be used to fetch the image from a local image registry rather than from the internet.
121+
Custom registries can be used to fetch the image from a local image registry rather than from the internet.
100122
The prerequisite is that you mirror all the required images in the same way (with the same name and tag) as the images provided by Stackable.
101123

102-
Afterward, you can use the following snippet to configure your custom Docker repo:
124+
Afterwards, you can use the following snippet to configure your custom repo:
103125

104126
[source,yaml]
105127
----
106128
spec:
107129
image:
108130
productVersion: 3.3.1
109131
stackableVersion: 25.7.0 # Optional
110-
repo: my.corp/myteam/stackable <.>
132+
repo: my.corp/myteam/stackable
111133
----
112-
<.> We recommend not including a slash at the end while we plan on https://github.com/stackabletech/operator-rs/issues/1020[improving the situation{external-link-icon}^].
113134

114-
This will change the image from the default Stackable repository `oci.stackable.tech/sdp/kafka:3.3.1-stackable23.7.0` to `my.corp/myteam/stackable/kafka:3.3.1-stackable23.7.0`.
135+
This will change the image from the default Stackable repository `oci.stackable.tech/sdp/kafka:3.3.1-stackable25.7.0` to `my.corp/myteam/stackable/kafka:3.3.1-stackable25.7.0`.
115136

116137
== [[customimages]] Custom images
117138

@@ -135,7 +156,7 @@ Using custom images has a few limitations that users should be aware of:
135156

136157
* The images must have the same structures that Stackable operators expect.
137158
This should usually be ensured by specifying a Stackable image in the `FROM` clause of the Dockerfile (all the available images can be found in our https://oci.stackable.tech/api/v2.0/projects/sdp[Stackable OCI registry{external-link-icon}^] - the schema is typically: `oci.stackable.tech/sdp/<product>:<product-version>-stackable<stackable-version>`.
138-
Information on how to browse the registry can be found in the xref:contributor:project-overview.adoc#docker-images[Docker images section of the project overview]).
159+
Information on how to browse the registry can be found in the xref:contributor:project-overview.adoc#docker-images[container images section of the project overview]).
139160

140161
* Images will need to be upgraded for every new Stackable release to follow structural changes that Stackable may have made to their images.
141162
When deriving images from official Stackable images, this will mean updating the version of the image in the `FROM` clause to the correct Stackable release.

modules/contributor/pages/project-overview.adoc

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ image::project-overview-operators.drawio.svg[]
2121
All the operators are written in https://www.rust-lang.org/[Rust{external-link-icon}^] and the source code is found in the `rust` directory.
2222
`tests` contains the integration tests which use https://kuttl.dev/[kuttl{external-link-icon}^] and our own test template https://github.com/stackabletech/beku.py[beku.py{external-link-icon}^].
2323
Documentation is written in https://antora.org/[Antora{external-link-icon}^] and found in the `docs` directory, see also <<documentation>> further down the page.
24-
`deploy` and `docker` contain files used to package the operator into a Docker image and Helm chart.
24+
`deploy` and `docker` contain files used to package the operator into a container image and Helm chart.
2525
Some files in these repositories are actually _templated_:
2626

2727
The https://github.com/stackabletech/operator-templating[operator-templating{external-link-icon}^] repository contains a template for all operator repositories, where shared files are distributed from.
@@ -80,7 +80,7 @@ There is no code in this repository.
8080
[[artifact-storage]]
8181
== Artifact storage
8282

83-
Where are binaries, Helm Charts and Docker images stored?
83+
Where are binaries, Helm Charts and container images stored?
8484

8585
[[product-artifacts]]
8686
=== Product artifacts
@@ -100,7 +100,7 @@ stackable
100100
stackable-charts
101101
----
102102

103-
`sdp` contains the product and operator Docker images. The Helm Charts for the operators are found under `sdp-charts`. Some artifacts like the
103+
`sdp` contains the product and operator container images. The Helm Charts for the operators are found under `sdp-charts`. Some artifacts like the
104104
product binaries are stored in the https://repo.stackable.tech/#browse/browse[Nexus repo{external-link-icon}^] under `packages`.
105105

106106
List the Helm Charts in `sdp-charts`:
@@ -127,11 +127,13 @@ $ curl -X GET --header 'Accept: application/json' 'https://oci.stackable.tech/ap
127127
24.3.0
128128
----
129129

130+
// NOTE (@Techassi): The header was updated, but the anchor was kept the same to ensure links to this don't break.
130131
[[docker-images]]
131-
=== Docker images
132+
=== Container images
132133

133-
Docker images are stored in https://oci.stackable.tech[https://oci.stackable.tech{external-link-icon}^] as mentioned above. To list all the available repositories in a project, for example in
134-
the `sdp` project, run this command:
134+
Container images are stored in https://oci.stackable.tech[https://oci.stackable.tech{external-link-icon}^] as mentioned above.
135+
They are additionally published to our https://quay.io/organization/stackable[Stackable Quay.io organization{external-link-icon}^].
136+
To list all the available repositories in a project, for example in the `sdp` project, run this command:
135137

136138
[source,console]
137139
----

0 commit comments

Comments
 (0)