diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7400263..842399b 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/rust/operator-binary/src/controller.rs b/rust/operator-binary/src/controller.rs index 7669a64..8f96660 100644 --- a/rust/operator-binary/src/controller.rs +++ b/rust/operator-binary/src/controller.rs @@ -419,7 +419,7 @@ pub fn error_policy( _context: Arc, ) -> Action { match error { - // root object is invalid, will be requed when modified + // root object is invalid, will be requeued when modified Error::DeserializeClusterDefinition { .. } => Action::await_change(), _ => Action::requeue(*Duration::from_secs(5)), } diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 8cc4821..aa44193 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -574,7 +574,7 @@ impl v1alpha1::OpenSearchConfig { data: PvcConfigFragment { // Default taken from the Helm chart, see // https://github.com/opensearch-project/helm-charts/blob/opensearch-3.0.0/charts/opensearch/values.yaml#L220 - // This value should be overriden by the user. Data nodes need probably + // This value should be overridden by the user. Data nodes need probably // more, the other nodes less. capacity: Some(Quantity("8Gi".to_owned())), storage_class: None, diff --git a/typos.toml b/typos.toml new file mode 100644 index 0000000..7b6e8db --- /dev/null +++ b/typos.toml @@ -0,0 +1,48 @@ +# 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+', + # Random OpenSearch node and ephemeral IDs, as in `DiscoveryNode{...}{jcXCasAwSf6wTxND431bnw}` + # log lines in docs and test fixtures. + '\{[A-Za-z0-9_-]{22}\}', +] + +# 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"