Skip to content

Commit b0016d3

Browse files
authored
Merge branch 'main' into docs/otel-with-vector
2 parents ff02012 + b108d29 commit b0016d3

18 files changed

Lines changed: 234 additions & 190 deletions

modules/ROOT/nav2.adoc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
* Management
22
** xref:management:stackablectl:index.adoc[]
3-
** xref:management:cockpit:index.adoc[]

modules/ROOT/pages/index.adoc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,9 @@ Read the CustomResourceDefinition (CRD) reference for all CRDs that are deployed
132132
<h3>Tooling</h3>
133133
++++
134134

135-
Learn more about the tooling that supports the Stackable Data Platform; the `stackablectl` CLI utility and the Stackable Cockpit Web UI.
135+
Learn more about `stackablectl`, the CLI utility for the Stackable Data Platform.
136136

137137
* xref:management:stackablectl:index.adoc[stackablectl]
138-
* xref:management:cockpit:index.adoc[Cockpit UI]
139138
140139
++++
141140
</div>

modules/ROOT/pages/quickstart.adoc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
= Quickstart
22
:latest-release: https://github.com/stackabletech/stackable-cockpit/releases/tag/stackablectl-1.4.0
3-
:cockpit-releases: https://github.com/stackabletech/stackable-cockpit/releases
43
:description: Quickstart guide for Stackable: Install stackablectl, set up a demo, and connect to services like Superset and Trino with easy commands and links.
54

65
This is the super-short getting started guide that should enable you to get something up and running in less than three

modules/concepts/nav.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
* xref:concepts:index.adoc[]
22
** xref:overview.adoc[Platform overview]
33
** xref:stacklet.adoc[]
4+
** xref:artifact-registries/index.adoc[]
5+
*** xref:artifact-registries/container-images.adoc[]
46
** Common configuration mechanisms
57
*** xref:product_image_selection.adoc[]
68
*** xref:overrides.adoc[Advanced: overrides]
@@ -29,4 +31,3 @@
2931
** Maintenance
3032
*** xref:maintenance/crds.adoc[CRD maintenance]
3133
*** xref:maintenance/eos.adoc[End-of-Support check]
32-
** xref:container-images.adoc[]

modules/concepts/pages/container-images.adoc renamed to modules/concepts/pages/artifact-registries/container-images.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
= Container images
2+
:page-aliases: concepts:container-images.adoc
23
:ubi: https://catalog.redhat.com/software/base-images
34
:stackable-image-registry: https://oci.stackable.tech/
45
:stackable-sboms: https://sboms.stackable.tech/
5-
:description: Overview of Stackables container images, including structure, multi-platform support, and why upstream images are not used.
6+
:description: Overview of Stackable's container images, including structure, multi-platform support, and why upstream images are not used.
67

78
The core artifacts of the Stackable Data Platform are container images of Kubernetes operators and the products that these operators deploy.
89

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
= Artifact registries
2+
:description: Overview of Stackable's artifact registries where container images and Helm Charts are published to.
3+
4+
The SDP operator and product container images, as well as the Helm Charts are published on two registries: `oci.stackable.tech` and `quay.io`.
5+
This page details in which structure these artifacts are stored and how they can be retrieved.
6+
7+
== oci.stackable.tech
8+
9+
[source,plain]
10+
----
11+
oci.stackable.tech
12+
|- sdp
13+
| |- airflow
14+
| |- airflow-operator
15+
| |- hbase
16+
| |- hbase-operator
17+
| |- ...
18+
|- sdp-charts
19+
|- airflow-operator
20+
|- hbase-operator
21+
|- ...
22+
----
23+
24+
=== Pulling from oci.stackable.tech
25+
26+
* Product container images can be pulled using:
27+
+
28+
[source,shell]
29+
----
30+
$ docker pull oci.stackable.tech/sdp/<PRODUCT>:<VERSION>-stackable<SDP_VERSION>
31+
----
32+
* Product operator container images can be pulled using:
33+
+
34+
[source,shell]
35+
----
36+
$ docker pull oci.stackable.tech/sdp/<PRODUCT>-operator:<SDP_VERSION>
37+
----
38+
* Product operator Helm Charts can be installed using:
39+
+
40+
[source,shell]
41+
----
42+
$ helm install <PRODUCT>-operator oci://oci.stackable.tech/sdp-charts/<PRODUCT>-operator \
43+
--version <SDP_VERSION> \
44+
--wait
45+
----
46+
47+
== quay.io
48+
49+
Currently, only the operator and product container images are published to quay.io by mirroring them from our Harbor instance on `oci.stackable.tech`.
50+
See link:#pulling-quay-io[below].
51+
52+
[source,plain]
53+
----
54+
quay.io
55+
|- stackable
56+
|- airflow
57+
|- airflow-operator
58+
|- hbase
59+
|- hbase-operator
60+
|- ...
61+
----
62+
63+
[#pulling-quay-io]
64+
=== Pulling from quay.io
65+
66+
* Product container images can be pulled using:
67+
+
68+
[source,shell]
69+
----
70+
$ docker pull quay.io/stackable/<PRODUCT>:<VERSION>-stackable<SDP_VERSION>
71+
----
72+
* Product operator container images can be pulled using:
73+
+
74+
[source,shell]
75+
----
76+
$ docker pull quay.io/stackable/<PRODUCT>-operator:<SDP_VERSION>
77+
----
78+
79+
// NOTE: This is how it will be going forward.
80+
// On quay.io, everything is stored under the central `stackable` organization.
81+
// The rest of the structure is identical compared to `oci.stackable.tech`.
82+
83+
// [source,plain]
84+
// ----
85+
// quay.io
86+
// |- stackable
87+
// |- sdp
88+
// | |- airflow
89+
// | |- airflow-operator
90+
// | |- hbase
91+
// | |- hbase-operator
92+
// | |- ...
93+
// |- sdp-charts
94+
// |- airflow-operator
95+
// |- hbase-operator
96+
// |- ...
97+
// ----
98+
99+
// === Pulling from quay.io
100+
101+
// * Product container images can be pulled using:
102+
// +
103+
// [source,shell]
104+
// ----
105+
// $ docker pull quay.io/stackable/sdp/<PRODUCT>:<VERSION>-stackable<SDP_VERSION>
106+
// ----
107+
// * Product operator container images can be pulled using:
108+
// +
109+
// [source,shell]
110+
// ----
111+
// $ docker pull quay.io/stackable/sdp/<PRODUCT>-operator:<SDP_VERSION>
112+
// ----
113+
// * Product operator Helm Charts can be installed using:
114+
// +
115+
// [source,shell]
116+
// ----
117+
// $ helm install <PRODUCT>-operator oci://quay.io/stackable/sdp-charts/<PRODUCT>-operator \
118+
// --version <SDP_VERSION> \
119+
// --wait
120+
// ----

modules/concepts/pages/observability/labels.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Labels are key/value pairs in the metadata of Kubernetes objects that add identifying information to the object.
66
They do not have direct semantic implications but can be used to organize and manage resources.
7-
The xref:management:stackablectl:index.adoc[`stackablectl`] tool, the cockpit, and the Helm Charts add labels to the resources that are part of a xref:stacklet.adoc[Stacklet], and the operators add labels to the resources they create.
7+
The xref:management:stackablectl:index.adoc[`stackablectl`] tool and the Helm Charts both add labels to the resources that are part of a xref:stacklet.adoc[Stacklet]. The operators add labels to the resources they create.
88

99
== Resource labels added by the operators
1010

modules/concepts/pages/overrides.adoc

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,78 @@ spec:
5151
<4> `configOverride` on role group level, takes precedence over overrides at role level.
5252

5353
The roles, as well as the configuration file and configuration settings available depend on the specific product.
54-
All override property values must be strings.
5554
The properties will be formatted and escaped correctly into the file format used by the product, which is again product specific.
56-
This can be a `.properities` file, XML, YAML or JSON.
55+
This can be a `.properties` file, XML, or YAML.
5756

5857
You can also set the property to an empty string (`my.property: ""`), which effectively disables the property the operator would write out normally.
5958
In case of a `.properties` file, this will show up as `my.property=` in the `.properties` file.
6059

60+
[#json-config-overrides]
61+
=== JSON config overrides
62+
63+
Some products accept JSON config files (e.g. Open Policy Agent's `config.json`).
64+
The above mentioned `Map<String, String>` structure doesn't fit this, so there is a special mechanism for these files.
65+
66+
==== JSON Merge Patch (https://datatracker.ietf.org/doc/html/rfc7396[RFC 7396])
67+
68+
The `jsonMergePatch` is used best in case you want to make simple additions or changes to the config.
69+
70+
[source,yaml]
71+
----
72+
configOverrides:
73+
config.json:
74+
jsonMergePatch:
75+
bundles:
76+
authz:
77+
polling:
78+
min_delay_seconds: 3
79+
----
80+
81+
==== JSON Patch (https://datatracker.ietf.org/doc/html/rfc6902[RFC 6902])
82+
83+
The `jsonPatch` is more complicated than the `jsonMergePatch`, but offers more flexibility, e.g. to remove config items.
84+
85+
[source,yaml]
86+
----
87+
configOverrides:
88+
config.json:
89+
jsonPatches:
90+
- '{"op": "test", "path": "/0/name", "value": "Andrew"}'
91+
- '{"op": "add", "path": "/0/happy", "value": true}'
92+
- '{"op": "remove", "path": "/0/birthDate"}'
93+
----
94+
95+
==== User provided JSON
96+
97+
As an escape hatch you can also provide your custom JSON config, which the operator will pass to the product.
98+
99+
[source,yaml]
100+
----
101+
configOverrides:
102+
config.json:
103+
userProvided: {
104+
"myString": "test",
105+
"myList": ["test"],
106+
"myBool": true,
107+
"my": {"nested.field.with.dots": 42}
108+
}
109+
----
110+
111+
NOTE: JSON is a valid subset of YAML, so you can inline JSON into YAML.
112+
However, you can also use YAML syntax:
113+
114+
[source,yaml]
115+
----
116+
configOverrides:
117+
config.json:
118+
userProvided:
119+
myString: test
120+
myList: [test]
121+
myBool: true
122+
my:
123+
nested.field.with.dots: 42
124+
----
125+
61126
[#env-overrides]
62127
== Environment variable overrides
63128

0 commit comments

Comments
 (0)