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: diff --git a/docs/modules/zookeeper/pages/znodes.adoc b/docs/modules/zookeeper/pages/znodes.adoc index 3ae99a30..23a30fa9 100644 --- a/docs/modules/zookeeper/pages/znodes.adoc +++ b/docs/modules/zookeeper/pages/znodes.adoc @@ -9,7 +9,7 @@ as it sees fit. This can be thought of like a namespace for that client, and pre The Stackable Operator for Apache ZooKeeper manages ZNodes using the _ZookeeperZnode_ resource. -IMPORTANT: The Operator connects directly to ZooKeeper to manage the ZNodes inside of the ZooKeeper ensemble. This means that network access to the ZooKeeper pods is necessary. If your Kubernetes cluster restricts network acess, you need to configure a NetworkPolicy to allow the operator to connect to ZooKeeper. +IMPORTANT: The Operator connects directly to ZooKeeper to manage the ZNodes inside of the ZooKeeper ensemble. This means that network access to the ZooKeeper pods is necessary. If your Kubernetes cluster restricts network access, you need to configure a NetworkPolicy to allow the operator to connect to ZooKeeper. == Configuring ZNodes diff --git a/rust/operator-binary/src/crd/security.rs b/rust/operator-binary/src/crd/security.rs index 1910bacc..403a9833 100644 --- a/rust/operator-binary/src/crd/security.rs +++ b/rust/operator-binary/src/crd/security.rs @@ -93,7 +93,7 @@ impl ZookeeperSecurity { pub const SSL_QUORUM_TRUST_STORE_PASSWORD: &'static str = "ssl.quorum.trustStore.password"; pub const SSL_TRUST_STORE_LOCATION: &'static str = "ssl.trustStore.location"; pub const SSL_TRUST_STORE_PASSWORD: &'static str = "ssl.trustStore.password"; - // Mis + // Miscellaneous pub const SYSTEM_TRUST_STORE_DIR: &'static str = "/etc/pki/java/cacerts"; pub const TRUSTSTORE_FILE: &'static str = "truststore.p12"; diff --git a/rust/operator-binary/src/zk_controller/build/command.rs b/rust/operator-binary/src/zk_controller/build/command.rs index 00110df2..8eb54ade 100644 --- a/rust/operator-binary/src/zk_controller/build/command.rs +++ b/rust/operator-binary/src/zk_controller/build/command.rs @@ -2,7 +2,7 @@ use crate::crd::{STACKABLE_CONFIG_DIR, STACKABLE_DATA_DIR, STACKABLE_RW_CONFIG_D pub fn create_init_container_command_args() -> Vec { vec![ - // copy config files to a writeable empty folder in order to set key and + // copy config files to a writable empty folder in order to set key and // truststore passwords in the init container via script format!( "echo copying {conf} to {rw_conf}", diff --git a/typos.toml b/typos.toml new file mode 100644 index 00000000..09281f2a --- /dev/null +++ b/typos.toml @@ -0,0 +1,45 @@ +# 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]*?#\})', + # Random draw.io cell IDs in `.drawio.svg` files, both in the rendered SVG + # (`data-cell-id="..."`) and in the embedded diagram source (`id="..."`). + '(?:id|source|target|parent)=(?:"|")[A-Za-z0-9_-]{20}-\d+', +] + +# 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"