Skip to content

Commit 136329c

Browse files
authored
Merge branch 'main' into feat/note-about-source-code
2 parents 604ca56 + 8a430f4 commit 136329c

File tree

12 files changed

+189
-6
lines changed

12 files changed

+189
-6
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ jobs:
2121
node-version: '20'
2222
cache: 'npm'
2323
- run: npm ci
24-
- run: make ANTORAFLAGS=--fetch
24+
- run: make ANTORAFLAGS=--fetch build-local

Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
CURRENT_COMMIT := $(shell git rev-parse HEAD)
22

3+
# Build from local worktrees. Only one version is built: "latest".
4+
# Assumes all repos have the same parent directory.
5+
build-truly-local: build-ui
6+
node_modules/.bin/antora generate truly-local-playbook.yml
7+
38
build-local: build-ui
49
node_modules/.bin/antora generate local-antora-playbook.yml
510

modules/ROOT/pages/getting-started.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ metadata:
125125
name: simple-kafka
126126
spec:
127127
image:
128-
productVersion: 3.9.0
128+
productVersion: 3.9.1
129129
clusterConfig:
130130
zookeeperConfigMapName: simple-kafka-znode
131131
tls:

modules/ROOT/partials/release-notes/release-25.3.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ See https://github.com/stackabletech/hive-operator/pull/578[hive-operator#578].
112112
See https://github.com/stackabletech/secret-operator/pull/566[secret-operator#566].
113113
* In 24.11 we used a custom build of jmx_exporter to resolve a https://github.com/stackabletech/issues/issues/649[performance degradation].
114114
In this release, Java products ship with the fixed upstream https://github.com/prometheus/jmx_exporter/releases/tag/1.1.0[jmx_exporter 1.1.0] which includes https://github.com/prometheus/jmx_exporter/pull/1009[the fix].
115+
* In 24.11, HDFS metrics suffixed with `+_total+`, `+_created+`, and `+_info+` were not exported by the jmx_exporter.
116+
With this release, metrics suffixed with `+_total+`, e.g. `+hadoop_namenode_files_total+`, are emitted again.
117+
Metrics originally suffixed with `+_created+` and `+_info+` are now suffixed with `+_created_+` and `+_info_+` to be OpenMetrics compliant.
118+
See https://github.com/stackabletech/hdfs-operator/issues/634[hdfs-operator#634].
115119

116120
==== Platform deprecations
117121

modules/ROOT/partials/release-notes/release-template.adoc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,17 @@ Of the changes mentioned above, the following are breaking (or could lead to bre
8181

8282
===== Using stackablectl
8383

84+
====== Upgrade with a single command
85+
86+
Starting with stackablectl Release 1.0.0 the multiple consecutive commands described below can be shortened to just one command, which executes exactly those steps on its own.
87+
88+
[source,console]
89+
----
90+
$ stackablectl release upgrade YY.M
91+
----
92+
93+
====== Upgrade with multiple consecutive commands
94+
8495
Uninstall the `OO.M` release
8596

8697
[source,console]

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ These images contain various tools for initialization jobs and/or the actual pro
3030
Stackable uses two separate versions to describe the images provided as part of the platform:
3131

3232
**Product version** +
33-
This is the version of the product that the image provides, such as Kafka 3.9.0.
33+
This is the version of the product that the image provides, such as Kafka 3.9.1
3434

3535
TIP: You can find all products and their supported versions in the xref:operators:supported_versions.adoc[supported versions overview].
3636
You can also find the supported versions per product on each operator page, for example, for xref:kafka:index.adoc#_supported_versions[Apache Kafka].
@@ -71,7 +71,7 @@ TIP: All our images are also mirrored to our https://quay.io/organization/stacka
7171
----
7272
spec:
7373
image:
74-
productVersion: 3.9.0 <.>
74+
productVersion: 3.9.1 <.>
7575
# stackableVersion: 25.7.0 # optional <.>
7676
----
7777
<.> The version of your product.

modules/contributor/pages/code-style-guide.adoc

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,45 @@ enum Error {
531531
. `unable to read config file from ...` to indicate that the file could not be loaded (for example because the file doesn't exist).
532532
. `unable to parse value ...` to indicate that parsing a user provided value failed (for example because it didn't conform to the expected syntax).
533533

534+
=== Using `unwrap`
535+
536+
:unwrap_or: https://doc.rust-lang.org/std/result/enum.Result.html#method.unwrap_or
537+
:unwrap_or_default: https://doc.rust-lang.org/std/result/enum.Result.html#method.unwrap_or_default
538+
:unwrap_or_else: https://doc.rust-lang.org/std/result/enum.Result.html#method.unwrap_or_else
539+
540+
The `unwrap` function must not be used in any code.
541+
Instead, proper error handling like above should be used, unless there is a valid reason to use `expect` described below.
542+
Using link:{unwrap_or}[`unwrap_or`], link:{unwrap_or_default}[`unwrap_or_default`] or link:{unwrap_or_else}[`unwrap_or_else`] is allowed because these functions will not panic.
543+
544+
The `expect` function can be used when external factors cannot influence whether a panic will happen. For example, when compiling regular expressions inside const/static environments.
545+
For such cases code must use `expect` instead of `unwrap` to provide additional context for why a particular piece of code should never fail.
546+
547+
// Do we want to mention that this is enforced via clippy and that we actually enable that lint in our repos?
548+
549+
[TIP.code-rule,caption=Examples of correct code for this rule]
550+
====
551+
552+
[source,rust]
553+
----
554+
static VERSION_REGEX: LazyLock<Regex> = LazyLock::new(|| {
555+
Regex::new(r".*").expect("valid regular expression")
556+
});
557+
----
558+
559+
====
560+
561+
[WARNING.code-rule,caption=Examples of incorrect code for this rule]
562+
====
563+
564+
[source,rust]
565+
----
566+
static VERSION_REGEX: LazyLock<Regex> = LazyLock::new(|| {
567+
Regex::new(r".*").unwrap()
568+
});
569+
----
570+
571+
====
572+
534573
== String formatting
535574

536575
=== Named versus unnamed format string identifiers
@@ -737,3 +776,35 @@ mod test {
737776
----
738777
739778
====
779+
780+
=== Using `unwrap`
781+
782+
The usage of `unwrap` in unit tests is also not allowed for the same reasons as mentioned above.
783+
784+
[TIP.code-rule,caption=Examples of correct code for this rule]
785+
====
786+
787+
[source,rust]
788+
----
789+
#[test]
790+
fn deserialize() {
791+
let input: String = serde_yaml::from_str("my string").expect("constant input string must deserialize");
792+
assert_eq(&input, "my string");
793+
}
794+
----
795+
796+
====
797+
798+
[WARNING.code-rule,caption=Examples of incorrect code for this rule]
799+
====
800+
801+
[source,rust]
802+
----
803+
#[test]
804+
fn serialize() {
805+
let serialized = serde_yaml::to_string(&String::from("my string")).unwrap();
806+
println!("{serialized}");
807+
}
808+
----
809+
810+
====

modules/contributor/pages/testing-on-kubernetes.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ To shorten these, we have settled on a tool called https://github.com/kolloch/cr
2020
This tool uses the https://nixos.org/[Nix package manager] to cache intermediate build steps and only recompile what has actually changed, thus significantly shortening build times.
2121

2222
== Installation
23+
2324
Due to the nature of how Nix works, all the setup steps are defined in the operator repositories and automatically applied when you start using this workflow.
2425

2526
The only prerequisite you need to install is the actual Nix package manager - you can find installation instructions and additional documentation on the https://nixos.org/download.html[Nix website].
@@ -47,6 +48,12 @@ Please adjust the number of `cores` to your system and set the `max-jobs` to e.g
4748

4849
Just installing Nix does not affect your system much, as it keeps all its configuration and installed packages separate from other package managers and you won't even notice it is there, unless you actually start using it.
4950

51+
=== macOS
52+
53+
The Docker images need to be built on a Linux host. Nix can automatically delegate the build to a remote worker, but it must be configured to do so.
54+
55+
https://github.com/stackabletech/nix-docker-builder can set this up for you.
56+
5057
== Using
5158

5259
The build and deploy steps for installing and running the operator are defined in the `Tiltfile` in the operators repository.

modules/tutorials/examples/ldap-auth/80-verify-trino.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -euo pipefail
33

44

5-
trino_version="403"
5+
trino_version="476"
66
trino_download_url="https://repo.stackable.tech/repository/packages/trino-cli/trino-cli-${trino_version}-executable.jar"
77

88
trino_login() {

modules/tutorials/examples/logging-aggregator/main.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ echo "Installing ZooKeeper Operator"
55
stackablectl release install -i secret -i commons -i listener -i zookeeper 23.11
66
# end::zk-op[]
77

8+
# tag::vector-helm-repo[]
9+
helm repo add vector https://helm.vector.dev
10+
helm repo update
11+
# end::vector-helm-repo[]
12+
813
# tag::vector-agg[]
914
helm install \
1015
--wait \
@@ -35,4 +40,4 @@ then
3540
echo "it worked"
3641
else
3742
echo "it didn't work"
38-
fi
43+
fi

0 commit comments

Comments
 (0)