Skip to content

Commit 43ceac5

Browse files
committed
Merge branch 'refs/heads/main' into feat/add-cra-and-compliance-structure
2 parents 33b0752 + 415d85e commit 43ceac5

File tree

10 files changed

+48
-33
lines changed

10 files changed

+48
-33
lines changed

antora-playbook.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ urls:
2525
redirect_facility: netlify
2626
# See https://docs.antora.org/antora/latest/playbook/urls-html-extension-style/#html-extension-style-key
2727
html_extension_style: indexify
28+
antora:
29+
extensions:
30+
- require: '@sntke/antora-mermaid-extension'
31+
mermaid_library_url: https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs
2832
content:
2933
sources:
3034
- url: .
@@ -267,8 +271,6 @@ asciidoc:
267271
- '@asciidoctor/tabs'
268272
attributes:
269273
base-repo: https://github.com/stackabletech
270-
plantuml-server-url: http://www.plantuml.com/plantuml
271-
kroki-fetch-diagram: true
272274
# an external icon. Create a link opening in a new tab like this: http://my-url.com[Text {external-link-icon}^]
273275
external-link-icon: "<i class=\"fa-solid fa-arrow-up-right-from-square fa-xs\" style=\"margin-left: 3px; vertical-align: baseline;\"></i>"
274276
# the default caching directory is ./.cache/antora

local-antora-playbook.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ urls:
1010
# This replaces the component version in the URL of the latest stable version with 'stable'
1111
# i.e. /commons-operator/stable/index.html instead of /commons-operator/0.3/index.html
1212
latest_version_segment: stable
13+
antora:
14+
extensions:
15+
- require: '@sntke/antora-mermaid-extension'
16+
mermaid_library_url: https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs
1317
content:
1418
sources:
1519
- url: ./
@@ -252,8 +256,6 @@ asciidoc:
252256
- '@asciidoctor/tabs'
253257
attributes:
254258
base-repo: https://github.com/stackabletech
255-
plantuml-server-url: http://www.plantuml.com/plantuml
256-
kroki-fetch-diagram: true
257259
# an external icon. Create a link opening in a new tab like this: http://my-url.com[Text {external-link-icon}^]
258260
external-link-icon: "<i class=\"fa-solid fa-arrow-up-right-from-square fa-xs\" style=\"margin-left: 3px; vertical-align: baseline;\"></i>"
259261
# the default caching directory is ./.cache/antora

modules/concepts/pages/observability/telemetry.adoc

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
= Telemetry signals in operators
2+
:env-filter-syntax: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#example-syntax
23

34
[NOTE]
45
====
@@ -46,9 +47,9 @@ telemetry:
4647
format: null # <3>
4748
----
4849

49-
<1> Boolean: `true, false`
50-
<2> Enum: `error, warning, info, debug, trace`
51-
<3> Enum: `plain, json`
50+
<1> Boolean: `true`, `false`
51+
<2> String: `error`, `warn`, `info`, `debug`, `trace`, `off` (or {env-filter-syntax}[more complex filters,window=_blank])
52+
<3> Enum: `plain`, `json`
5253

5354
== File logs
5455

@@ -65,9 +66,9 @@ telemetry:
6566
maxFiles: 6 # <4>
6667
----
6768

68-
<1> Boolean: `true, false`
69-
<2> Enum: `error, warning, info, debug, trace`
70-
<3> Enum: `never, daily, hourly, minutely`
69+
<1> Boolean: `true`, `false`
70+
<2> String: `error`, `warn`, `info`, `debug`, `trace`, `off` (or {env-filter-syntax}[more complex filters,window=_blank])
71+
<3> Enum: `never`, `daily`, `hourly`, `minutely`
7172
<4> Unsigned Integer
7273

7374
== OpenTelemetry logs and traces
@@ -88,6 +89,6 @@ telemetry:
8889
endpoint: null # <3>
8990
----
9091

91-
<1> Boolean: `true, false`
92-
<2> Enum: `error, warning, info, debug, trace`
93-
<3> String: E.g. `my-collector:4317`
92+
<1> Boolean: `true`, `false`
93+
<2> String: `error`, `warn`, `info`, `debug`, `trace`, `off` (or {env-filter-syntax}[more complex filters,window=_blank])
94+
<3> String: E.g. `https://my-collector:4317` (Note: it must contain the scheme)

modules/concepts/pages/service-discovery.adoc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@ Stackable operators provide a _service discovery ConfigMap_ for each product ins
77

88
== Motivation
99

10-
Products on the Stackable platform can, and in some cases must be connected with each other to run correctly. Some products are fundamental to the platform while others depend on them. For example, a NiFi cluster requires a ZooKeeper connection to run in distributed mode. Other products can optionally be connected with each other for better data flow. For example Trino does not store the query data itself, instead it interfaces with other applications to get access to it.
10+
Products on the Stackable platform can, and in some cases must be connected with each other to run correctly. Some products are fundamental to the platform while others depend on them. For example, an HBase cluster requires a ZooKeeper connection to run in distributed mode. Other products can optionally be connected with each other for better data flow. For example Trino does not store the query data itself, instead it interfaces with other applications to get access to it.
1111

12-
To connect NiFi to ZooKeeper, NiFi needs to know at which host and port it can find the ZooKeeper instance. However the exact address is not known in advance. To enable a connection from NiFi to ZooKeeper purely based on the name of the ZooKeeper cluster, the discovery ConfigMap is used.
13-
14-
With the ConfigMap, the name of the ZooKeeper cluster is enough to know how to connect to it, the ConfigMap has the same name as the cluster and contains all the information needed to connect to the ZooKeeper cluster.
12+
The ZooKeeper connection details are published by the ZooKeeper operator in a discovery ConfigMap. This ConfigMap has the same name as the ZooKeeper cluster and can be referenced by clients (HBase in our example) when connecting to it.
1513

1614
=== Example
1715

@@ -39,11 +37,11 @@ data:
3937
ZOOKEEPER: simple-zk-server-default-0.simple-zk-server-default.default.svc.cluster.local:2181,simple-zk-server-default-1.simple-zk-server-default.default.svc.cluster.local:2181
4038
----
4139

42-
The information needed to connect can be a string like above, for example a JDBC connect string: `jdbc:postgresql://localhost:12345`. But a ConfigMap can also contain multiple configuration files which can then be mounted into a client Pod. This is the case for xref:hdfs:discovery.adoc[HDFS], where the `core-site.xml` and `hdfs-site.xml` files are put into the discovery ConfigMap.
40+
The connection details can be a string like above, for example a JDBC connect string: `jdbc:postgresql://localhost:12345`. But a ConfigMap can also contain multiple configuration files which can then be mounted into a client Pod. This is the case for xref:hdfs:discovery.adoc[HDFS], where the `core-site.xml` and `hdfs-site.xml` files are put into the discovery ConfigMap.
4341

4442
== Usage of the service discovery ConfigMap
4543

46-
The ConfigMap is used by Stackable operators to connect products together, but can also be used by the user to retrieve connection information to connect to product instances. The operators consume only the ConfigMap, so it is also possible to create a ConfigMap by hand for a product instance that is not operated by a Stackable operator. These different usage scenarios are explained below.
44+
Discovery ConfigMaps are used by Stackable operators to connect products together, but can also be used by the user to retrieve connection information to connect to product instances. The operators consume only the ConfigMap, so it is also possible to create a ConfigMap by hand for a product instance that is not operated by a Stackable operator. These different usage scenarios are explained below.
4745

4846
=== Service discovery within Stackable
4947

modules/guides/pages/debug-network-traffic.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,24 @@
33
:tcpdump: https://www.tcpdump.org/
44
:mitmproxy: https://www.mitmproxy.org/
55

6-
You likely know this problem: Some tools is behaving weird, and you need to debug (often times HTTP/HTTPS or DNS) traffic between Kubernetes Pods.
7-
If the tool would be running on a local machine, one would simply start {tcpdump}[`tcpdump`] and inspect the traffic.
8-
Maybe use {mitmproxy}[`mitmproxy`] as a HTTPS proxy to re-encrypt the HTTPS traffic, so that it is readable.
6+
You likely know this problem: Some tool is behaving weird, and you need to debug (often times HTTP/HTTPS or DNS) traffic between Kubernetes Pods.
7+
If the tool would be running on a local machine, one would simply start {tcpdump}[`tcpdump`{external-link-icon}^] and inspect the traffic.
8+
Maybe use {mitmproxy}[`mitmproxy`{external-link-icon}^] as a HTTPS proxy to re-encrypt the HTTPS traffic, so that `mitmproxy` can inspect the decrypted traffic.
99

1010
However, as we are running in a containerized environment, things are a bit more complicated.
1111
This guide explains you how you can capture and inspect traffic anyway.
1212

1313
There are a few things needed:
1414

15-
1. A sidecar running {tcpdump}[`tcpdump`], capturing the traffic into a file.
15+
1. A sidecar running {tcpdump}[`tcpdump`{external-link-icon}^], capturing the traffic into a file.
1616
2. If TLS (e.g. HTTPS) traffic is involved, the product needs to be configured in such a way, that it writes the TLS session keys into a file.
1717
The key log can be used afterwards to decrypt the TLS traffic.
1818
3. Wireshark to make it easier to inspect the captured traffic.
1919
You can give it the TLS key log and it will automatically decrypt the TLS traffic.
2020
2121
== Simple usage
2222

23-
If you only care about unencrypted communications, you can use this snippet to dump all traffic using {tcpdump}[`tcpdump`].
23+
If you only care about unencrypted communications, you can use this snippet to dump all traffic using {tcpdump}[`tcpdump`{external-link-icon}^].
2424

2525
[source,yaml]
2626
----
@@ -53,7 +53,7 @@ Let's make things a bit more interesting using a real-world example.
5353
Let's assume Superset is behaving weird and we want to debug the network traffic from Superset to Trino, which is using HTTPS.
5454

5555
As of Java 21 the JVM does not respect the `SSLKEYLOGFILE` env var and does not seem to have support to write the TLS key log.
56-
So we need to use a third-party Java agent called https://github.com/neykov/extract-tls-secrets[extract-tls-secrets] for that.
56+
So we need to use a third-party Java agent called https://github.com/neykov/extract-tls-secrets[extract-tls-secrets{external-link-icon}^] for that.
5757

5858
[source,yaml]
5959
----
@@ -149,6 +149,6 @@ image::debug-network-traffic/4.png[]
149149

150150
== Follow-up tips
151151

152-
1. You can filter the packets in the {tcpdump}[`tcpdump`] call to reduce the capture file size.
152+
1. You can filter the packets in the {tcpdump}[`tcpdump`{external-link-icon}^] call to reduce the capture file size.
153153
2. If you do this on a production setup, keep in mind that the dump might contain sensitive data and the TLS keys can be used to decrypt all TLS traffic of this Pod!
154154
3. In case the product uses HTTP 2 (or newer), you need to use a Wireshark filter such as `http2.headers.path == "/nifi-api/flow/current-user"`

only-dev-antora-playbook.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ urls:
1010
# This replaces the component version in the URL of the latest stable version with 'stable'
1111
# i.e. /commons-operator/stable/index.html instead of /commons-operator/0.3/index.html
1212
latest_version_segment: stable
13+
antora:
14+
extensions:
15+
- require: '@sntke/antora-mermaid-extension'
16+
mermaid_library_url: https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs
1317
content:
1418
sources:
1519
- url: ./
@@ -99,8 +103,6 @@ asciidoc:
99103
- '@asciidoctor/tabs'
100104
attributes:
101105
base-repo: https://github.com/stackabletech
102-
plantuml-server-url: http://www.plantuml.com/plantuml
103-
kroki-fetch-diagram: true
104106
# an external icon. Create a link opening in a new tab like this: http://my-url.com[Text {external-link-icon}^]
105107
external-link-icon: "<i class=\"fa-solid fa-arrow-up-right-from-square fa-xs\" style=\"margin-left: 3px; vertical-align: baseline;\"></i>"
106108
# the default caching directory is ./.cache/antora

package-lock.json

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
},
77
"dependencies": {
88
"@antora/lunr-extension": "^1.0.0-alpha.8",
9-
"@asciidoctor/tabs": "^1.0.0-beta.6"
9+
"@asciidoctor/tabs": "^1.0.0-beta.6",
10+
"@sntke/antora-mermaid-extension": "0.0.8"
1011
},
1112
"workspaces": [
1213
"ui"

truly-local-playbook.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ urls:
1010
# This replaces the component version in the URL of the latest stable version with 'stable'
1111
# i.e. /commons-operator/stable/index.html instead of /commons-operator/0.3/index.html
1212
latest_version_segment: stable
13+
antora:
14+
extensions:
15+
- require: '@sntke/antora-mermaid-extension'
16+
mermaid_library_url: https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs
1317
content:
1418
sources:
1519
- url: ./
@@ -64,8 +68,6 @@ asciidoc:
6468
- '@asciidoctor/tabs'
6569
attributes:
6670
base-repo: https://github.com/stackabletech
67-
plantuml-server-url: http://www.plantuml.com/plantuml
68-
kroki-fetch-diagram: true
6971
# an external icon. Create a link opening in a new tab like this: http://my-url.com[Text {external-link-icon}^]
7072
external-link-icon: "<i class=\"fa-solid fa-arrow-up-right-from-square fa-xs\" style=\"margin-left: 3px; vertical-align: baseline;\"></i>"
7173
# the default caching directory is ./.cache/antora

0 commit comments

Comments
 (0)