From 6e500ed57f22fbd0b6e0fa145c5688e4431e2f8d Mon Sep 17 00:00:00 2001 From: Stacky McStackface Date: Wed, 7 Oct 2026 09:31:08 +0000 Subject: [PATCH 1/2] chore: Generated commit to update templated files since the last template run up to stackabletech/operator-templating@0f53eecffba74cfb96c8d4635c656edb20a3ac85 Reference-to: stackabletech/operator-templating@0f53eec (feat: Rollout crate/typos for operators) --- .pre-commit-config.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 74002636..842399b1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,6 +7,19 @@ default_language_version: node: system repos: + # The word lists live in a per-repo `typos.toml`, which is not templated. + # typos has no layered configuration (https://github.com/crate-ci/typos/issues/193). + # A templated config can currently not be extended locally. + - repo: https://github.com/crate-ci/typos + rev: 00f422f3b19c57bc6338715ebfe3316d38768461 # v1.50.3 + hooks: + - id: typos + # Drop the upstream default `--write-changes` so the hook only + # reports failures instead of writing changes. + # Keep `--force-exclude` so the excludes in typos.toml still + # apply to the paths prek passes in. + args: ["--force-exclude"] + - repo: https://github.com/pre-commit/pre-commit-hooks rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # 6.0.0 hooks: From 81d44d7e4c5885f56e42877a4bfd5a0e3aaf469a Mon Sep 17 00:00:00 2001 From: Maxi Wittich Date: Wed, 7 Oct 2026 11:55:29 +0200 Subject: [PATCH 2/2] chore: Add typos.toml and fix spelling findings --- .../pages/getting_started/first_steps.adoc | 2 +- docs/modules/druid/pages/index.adoc | 2 +- .../druid/pages/usage-guide/extensions.adoc | 2 +- .../druid/partials/s3-credentials.adoc | 2 +- .../src/controller/build/security.rs | 2 +- rust/operator-binary/src/crd/memory.rs | 2 +- .../kuttl/commons/ingestioncheck-tls.py | 2 +- .../templates/kuttl/commons/ingestioncheck.py | 2 +- .../ingestion-s3-ext/03-install-druid.yaml.j2 | 2 +- typos.toml | 42 +++++++++++++++++++ 10 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 typos.toml diff --git a/docs/modules/druid/pages/getting_started/first_steps.adoc b/docs/modules/druid/pages/getting_started/first_steps.adoc index ac455d9a..aca3a671 100644 --- a/docs/modules/druid/pages/getting_started/first_steps.adoc +++ b/docs/modules/druid/pages/getting_started/first_steps.adoc @@ -76,7 +76,7 @@ include::example$getting_started/getting_started.sh[tag=install-druid] This creates the actual Druid Stacklet. -WARNING: This Druid instance uses Derby (`dbType: derby`) as a metadata store, which is an interal SQL database. +WARNING: This Druid instance uses Derby (`dbType: derby`) as a metadata store, which is an internal SQL database. It is not persisted and not suitable for production use! Consult the https://druid.apache.org/docs/latest/design/metadata-storage#available-metadata-stores[Druid documentation{external-link-icon}^] for a list of supported databases and setup instructions for production instances. diff --git a/docs/modules/druid/pages/index.adoc b/docs/modules/druid/pages/index.adoc index 1861a96b..0500f7c8 100644 --- a/docs/modules/druid/pages/index.adoc +++ b/docs/modules/druid/pages/index.adoc @@ -94,7 +94,7 @@ pipelines you can install with a single command. == [[demos]]Demos xref:management:stackablectl:index.adoc[] supports installing xref:demos:index.adoc[] with a single command. -The demos are complete data piplines which showcase multiple components of the Stackable platform working together and which you can try out interactively. +The demos are complete data pipelines which showcase multiple components of the Stackable platform working together and which you can try out interactively. Both demos below include Druid as part of the data pipeline: === Waterlevel demo diff --git a/docs/modules/druid/pages/usage-guide/extensions.adoc b/docs/modules/druid/pages/usage-guide/extensions.adoc index 02abe28f..b6e209b8 100644 --- a/docs/modules/druid/pages/usage-guide/extensions.adoc +++ b/docs/modules/druid/pages/usage-guide/extensions.adoc @@ -32,7 +32,7 @@ You can configure Druid to load more extensions by adding them to the `additiona ---- spec: clusterConfig: - additionalExtenions: + additionalExtensions: - druid-avro-extensions - druid-google-extensions ... diff --git a/docs/modules/druid/partials/s3-credentials.adoc b/docs/modules/druid/partials/s3-credentials.adoc index 1c08e579..43586153 100644 --- a/docs/modules/druid/partials/s3-credentials.adoc +++ b/docs/modules/druid/partials/s3-credentials.adoc @@ -13,7 +13,7 @@ metadata: secrets.stackable.tech/class: s3-credentials-class # <1> stringData: accessKey: YOUR_VALID_ACCESS_KEY_ID_HERE - secretKey: YOUR_SECRET_ACCES_KEY_THATBELONGS_TO_THE_KEY_ID_HERE + secretKey: YOUR_SECRET_ACCESS_KEY_THATBELONGS_TO_THE_KEY_ID_HERE ---- <1> This label connects the `Secret` to the `SecretClass`. diff --git a/rust/operator-binary/src/controller/build/security.rs b/rust/operator-binary/src/controller/build/security.rs index 547b7885..5ab3ba8a 100644 --- a/rust/operator-binary/src/controller/build/security.rs +++ b/rust/operator-binary/src/controller/build/security.rs @@ -364,7 +364,7 @@ pub fn build_tls_key_stores_cmd(tls: &DruidTlsSecurity) -> Vec { vec![ // FIXME: *Technically* we should only add the system truststore in case any webPki usage is detected, - // wether that's in S3, LDAP, OIDC, FTE or whatnot. + // whether that's in S3, LDAP, OIDC, FTE or whatnot. format!( "cert-tools generate-pkcs12-truststore --pkcs12 '{STACKABLE_MOUNT_TLS_DIR}/{TRUST_STORE_FILE}:{STACKABLE_TRUST_STORE_PASSWORD}' --pem /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem --out {STACKABLE_TLS_DIR}/{TRUST_STORE_FILE} --out-password '{STACKABLE_TRUST_STORE_PASSWORD}'" ), diff --git a/rust/operator-binary/src/crd/memory.rs b/rust/operator-binary/src/crd/memory.rs index 88c21b5c..42ab4187 100644 --- a/rust/operator-binary/src/crd/memory.rs +++ b/rust/operator-binary/src/crd/memory.rs @@ -161,7 +161,7 @@ impl TryFrom<&Resources> for HistoricalDeriv /// Only KiB precision is supported. Upd to 1KiB will be rounded away. fn format_for_druid(memory_quantity: &MemoryQuantity) -> String { let k = memory_quantity.scale_to(BinaryMultiple::Kibi); - // floor instead of round so we don't accidently make the memory quantity + // floor instead of round so we don't accidentally make the memory quantity // bigger than it should be let v = k.value.floor() as usize; format!("{v}Ki") diff --git a/tests/templates/kuttl/commons/ingestioncheck-tls.py b/tests/templates/kuttl/commons/ingestioncheck-tls.py index 4cad8bcd..0526749e 100755 --- a/tests/templates/kuttl/commons/ingestioncheck-tls.py +++ b/tests/templates/kuttl/commons/ingestioncheck-tls.py @@ -132,7 +132,7 @@ def query_datasource(self, url, sql, expected, iterations): task_status = json.loads(task)["status"]["statusCode"] print(f"Current task status: [{task_status}]") assert task_status == "RUNNING" or task_status == "SUCCESS", ( - f"Taskstatus not running or succeeeded: {task_status}" + f"Taskstatus not running or succeeded: {task_status}" ) job_finished = task_status == "SUCCESS" diff --git a/tests/templates/kuttl/commons/ingestioncheck.py b/tests/templates/kuttl/commons/ingestioncheck.py index cbdc7705..050c5d8f 100755 --- a/tests/templates/kuttl/commons/ingestioncheck.py +++ b/tests/templates/kuttl/commons/ingestioncheck.py @@ -102,7 +102,7 @@ def query_datasource(self, url, sql, expected, iterations): task_status = json.loads(task)["status"]["statusCode"] print(f"Current task status: [{task_status}]") assert task_status == "RUNNING" or task_status == "SUCCESS", ( - f"Taskstatus not running or succeeeded: {task_status}" + f"Taskstatus not running or succeeded: {task_status}" ) job_finished = task_status == "SUCCESS" diff --git a/tests/templates/kuttl/ingestion-s3-ext/03-install-druid.yaml.j2 b/tests/templates/kuttl/ingestion-s3-ext/03-install-druid.yaml.j2 index e12bed4e..3090eca3 100644 --- a/tests/templates/kuttl/ingestion-s3-ext/03-install-druid.yaml.j2 +++ b/tests/templates/kuttl/ingestion-s3-ext/03-install-druid.yaml.j2 @@ -95,4 +95,4 @@ metadata: secrets.stackable.tech/class: s3-credentials-class stringData: accessKey: YOUR_VALID_ACCESS_KEY_ID_HERE - secretKey: YOUR_SECRET_ACCES_KEY_THATBELONGS_TO_THE_KEY_ID_HERE + secretKey: YOUR_SECRET_ACCESS_KEY_THATBELONGS_TO_THE_KEY_ID_HERE diff --git a/typos.toml b/typos.toml new file mode 100644 index 00000000..bda45448 --- /dev/null +++ b/typos.toml @@ -0,0 +1,42 @@ +# Configuration for typos (https://github.com/crate-ci/typos), run via the prek +# hook in .pre-commit-config.yaml. + +[files] +# Bare `typos` skips hidden dirs by default, but prek passes explicit paths and +# so does check them. Turn it off so both agree. +ignore-hidden = false + +extend-exclude = [ + # Ignore `.git`, which the above `ignore-hidden = false` would otherwise pull in. + ".git/", + # Generated by crate2nix (`make regenerate-nix`). Already skipped by the prek + # top-level `exclude`; listed here so a bare `typos` run agrees. + "Cargo.nix", + # Generated by `make regenerate-charts` from the Rust doc comments, which are + # checked at their source. The rest is Kubernetes' own schema documentation. + "extra/crds.yaml", +] + +[default] +# typos has no native suppression directive +# (https://github.com/crate-ci/typos/issues/316), so these regexes provide one. +# A marker must sit in a comment: after `#`, `//` or `;` (free text may follow), +# or inside a closed ``, `/* */` or `{# #}` (free text may precede the +# closer). An unterminated `typos:ignore-block-start` suppresses nothing. +# +# Use one of the following when the word is correct at one place but would still be a typo elsewhere: +# +# # typos:ignore-line at the end of the line it applies to +# # typos:ignore-next-line on its own line, above the offending line +# # typos:ignore-block-start / typos:ignore-block-end around a block +extend-ignore-re = [ + '(?Rm)^.*?(?:(?:^|[^{])(?:#|//|;)[ \t]*typos:ignore-line\b.*|(?:|/\*[ \t]*typos:ignore-line\b.*?\*/|\{#[ \t]*typos:ignore-line\b.*?#\})[ \t]*)$', + '(?Rm)^[ \t]*(?:(?:#|//|;)[ \t]*typos:ignore-next-line\b.*|(?:|/\*[ \t]*typos:ignore-next-line\b.*?\*/|\{#[ \t]*typos:ignore-next-line\b.*?#\})[ \t]*)\r?\n.*$', + '(?ms)(?:(?:^|[^{])(?:#|//|;)[ \t]*typos:ignore-block-start\b||/\*[ \t]*typos:ignore-block-start\b[^\n]*?\*/|\{#[ \t]*typos:ignore-block-start\b[^\n]*?#\}).*?(?:(?:^|[^{])(?:#|//|;)[ \t]*typos:ignore-block-end\b||/\*[ \t]*typos:ignore-block-end\b[^\n]*?\*/|\{#[ \t]*typos:ignore-block-end\b[^\n]*?#\})', +] + +# Before adding an entry in here, consider an in-place marker instead. +# Every entry below gets a one-line comment saying what the word is. +[default.extend-words] +# Azure Kubernetes Service +aks = "aks"