Skip to content

Commit 03dbb97

Browse files
fhennigrazvansbernauer
authored
Add page about docker images (#605)
* WIP * ... * ... * ... * ... * Add reference to signatures and SBOMs * Update modules/concepts/pages/container-images.adoc Co-authored-by: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> * Update modules/concepts/pages/container-images.adoc Co-authored-by: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> * add 'the' * Update modules/concepts/pages/container-images.adoc Co-authored-by: Sebastian Bernauer <sebastian.bernauer@stackable.de> * Update modules/concepts/pages/container-images.adoc Co-authored-by: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> * mention security * drop some intro sentences * swap two sentences --------- Co-authored-by: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> Co-authored-by: Sebastian Bernauer <sebastian.bernauer@stackable.de>
1 parent 23a234c commit 03dbb97

File tree

3 files changed

+64
-3
lines changed

3 files changed

+64
-3
lines changed

modules/ROOT/pages/kubernetes.adoc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
= Kubernetes
22

3-
The Stackable Data Platform runs on Kubernetes, a Kubernetes cluster is a prerequisite to running the platform. On this page you will find information on the supported Kubernetes distributions for production as well as how to set up a local test installation to try out parts of the platform right away.
3+
The Stackable Data Platform runs on Kubernetes, a Kubernetes cluster is a prerequisite to running the platform.
4+
On this page you will find information on the supported Kubernetes distributions for production as well as how to set up a local test installation to try out parts of the platform right away.
45

56
[#supported-production-distributions]
67
== Supported production distributions
78

8-
The Stackable Data Platform requires a Kubernetes cluster to be present, where you can install things into. How to set up Kubernetes as well as a cluster depends on the distribution you chose.
9+
The Stackable Data Platform requires a Kubernetes cluster to be present, where you can install things into.
10+
How to set up Kubernetes as well as a cluster depends on the distribution you chose.
911

1012
The following distributions are supported for a production setup of the Stackable Data Platform:
1113

@@ -25,7 +27,9 @@ SDP operators are certified for the OpenShift platform and can be installed from
2527
IMPORTANT: OpenShift installations with FIPS mode enabled are not supported. This is because neither the SDP operators, nor the supported Apache products are FIPS-compliant.
2628

2729
=== Customizing operator installations
28-
Depending on the cluster size, you may need to customize the resources requested by the SDP operator Pods. This is possible when installing the operators from the command line. For example, to assign `256Mi` of memory to the Apache Kafka operator, you need to create a custom Subscription as follows:
30+
Depending on the cluster size, you may need to customize the resources requested by the SDP operator Pods.
31+
This is possible when installing the operators from the command line.
32+
For example, to assign `256Mi` of memory to the Apache Kafka operator, you need to create a custom Subscription as follows:
2933

3034
[source,yaml]
3135
----

modules/concepts/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@
2323
** Observability
2424
*** xref:labels.adoc[]
2525
*** xref:logging.adoc[]
26+
** xref:container-images.adoc[]
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
= Container images
2+
:ubi: https://catalog.redhat.com/software/base-images
3+
:multi-platform-images: https://docs.docker.com/build/building/multi-platform/
4+
:stackable-image-registry: https://repo.stackable.tech/#browse/browse
5+
:stackable-sboms: https://sboms.stackable.tech/
6+
7+
The core artifacts of the Stackable Data Platform are container images of Kubernetes operators and the products that these operators deploy.
8+
9+
== Images overview
10+
11+
Every operator is packaged into its own image and every product is also packaged into its own, seperate image.
12+
Products that require multiple different processes to run, such as a coordinator and a worker, still only run off of one image;
13+
usually these products also only provide a single artifact that is used to run all processes.
14+
15+
Product images are built for xref:operators:supported_versions.adoc[] of products (Not all product versions are supported by all releases).
16+
17+
All images are stored in the {stackable-image-registry}[Stackable image registry].
18+
19+
== Image structure and contents
20+
21+
All our images are built using the {ubi}[Red Hat Universal Base Image (UBI)] minimal as a base image.
22+
This is a requirement for the platform to achieve xref:ROOT:kubernetes.adoc[OpenShift] certification and be available in the RedHat Certified Operator catalog.
23+
The base image also contains only minimal dependencies and is vetted by RedHat.
24+
25+
The file system structure is the same across all images, which makes the images easier to work with.
26+
27+
Products are either built from source code or official artifacts are used.
28+
Beyond that, Stackable also adds plugins or extensions that are not shipped by default, to support features such as xref:operators:monitoring.adoc[] or xref:opa:index.adoc[OpenPolicyAgent] support.
29+
30+
Since Stackable release 24.3, {stackable-sboms}[SBOMs] for all images are provided.
31+
Have a look at the xref:guides:viewing-and-verifying-sboms.adoc[] guide to learn how to use SBOMs.
32+
33+
[#multi-platform-support]
34+
== Multi-platform support
35+
36+
Starting with Stackable release 24.7, all images are {multi-platform-images}[multi-platform images], supporting the AMD64 and ARM64 architectures.
37+
38+
[#signatures]
39+
== Image signatures
40+
41+
All Stackable images are signed.
42+
Image signatures help to ensure the authenticity and integrity of container images.
43+
You can xref:guides:enabling-verification-of-image-signatures.adoc[verify image signatures automatically] in your cluster to make sure that the images you are running are authentic and intact.
44+
45+
== Why not use upstream images?
46+
47+
Some (but not all) products on the Stackable Data Platform already provide Docker images upstream.
48+
For a number of reasons, Stackable does not support these upstream images; Stackable operators only work with Stackable product images (or images using these as base images).
49+
Additionally, Stackable does detailed risk and security analysis of all the product versions and images that are supported by the platform.
50+
51+
* The structure across different product images upstream is different, which would mean using them would make operator development more difficult, but also would make it more difficult to work with the different images on the platform, as they would all be structured differently.
52+
* Not all products supply images, so Stackable would already need to build _some_ container images for certain products.
53+
* For the products that do provide images, the images are still lacking certain plugins or extensions for key features such as xref:operators:monitoring.adoc[] or xref:opa:index.adoc[OpenPolicyAgent support], or in some instances Stackable images contain patched products.
54+
* For some of the products supported on the platform, there are also images distributed by the upstream project.
55+
56+
The operators also do not support all product versions and Stackable has its own xref:ROOT:policies.adoc[support policies] in place, which are also based on the particular versions that are supported.

0 commit comments

Comments
 (0)