Skip to content

[apps] Give examples of new resources in managed app README's - #1120

Merged
Andrei Kvapil (kvaps) merged 1 commit into
mainfrom
managed-apps-reference
Jul 3, 2025
Merged

Andrei Kvapil (kvaps) merged 1 commit into
mainfrom
managed-apps-reference

Conversation

@NickVolynkin

@NickVolynkin Nick Volynkin (NickVolynkin) commented Jun 26, 2025 •

Copy link
Copy Markdown
Contributor

Merge after #1117 and #1155

Summary by CodeRabbit

  • Documentation
    • Improved clarity and detail in parameter descriptions across multiple app documentation files, especially for resource configuration options.
    • Expanded explanations for resources and resourcesPreset parameters, including explicit usage, allowed values, and fallback behavior.
    • Added new sections with YAML configuration examples and reference tables for resource presets in several app READMEs.
    • Corrected typos, improved formatting, and updated terminology for better readability and consistency.

@coderabbitai

coderabbitai Bot commented Jun 26, 2025 •

Copy link
Copy Markdown
Contributor

Walkthrough

This change revises documentation and schema descriptions for resource configuration parameters (resources and resourcesPreset) across multiple managed app Helm charts. It clarifies that explicit resource settings override presets, enumerates allowed preset values, and adds detailed examples and reference tables to README files. No functional or structural changes were made to the code or configuration.

Changes

Files/Groups Change Summary
*/README.md Expanded and clarified descriptions for resources and resourcesPreset, added YAML examples and reference tables, improved formatting.
*/values.yaml Updated comments for resources and resourcesPreset to clarify usage, override behavior, and allowed values; fixed minor typos.
*/values.schema.json Revised property descriptions for resources and resourcesPreset for clarity, detail, and consistency; fixed typos, no schema changes.

Sequence Diagram(s)

No sequence diagram generated as the changes are documentation and schema description updates only.

Possibly related PRs

Suggested reviewers

  • lllamnyp
  • klinch0

Poem

🐇
In the garden of YAML and code,
Resource presets now clearly showed.
CPU and memory, spelled out with care,
Explicit or preset—choose what you dare!
Tables and examples, for all to see,
Documentation as crisp as can be.
Hip-hip-hooray for clarity!


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@NickVolynkin
Nick Volynkin (NickVolynkin) force-pushed the managed-apps-reference branch 2 times, most recently from 15b7d1c to 5072cf1 Compare June 26, 2025 06:08
@NickVolynkin Nick Volynkin (NickVolynkin) changed the title managed apps reference Give examples of new resources in managed app README's Jun 26, 2025
@NickVolynkin Nick Volynkin (NickVolynkin) changed the title Give examples of new resources in managed app README's [apps] Give examples of new resources in managed app README's Jun 26, 2025
@NickVolynkin
Nick Volynkin (NickVolynkin) marked this pull request as ready for review June 29, 2025 19:15

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

♻️ Duplicate comments (5)
packages/apps/kubernetes/values.schema.json (3)

46-54: Same improvement repeated – nothing to add

Changes mirror the API-server section and stay consistent.


71-79: Consistent copy-editing

Scheduler block follows the new convention; looks good.


99-107: Konnectivity wording aligns with others

No functional impact, keeps docs uniform.

packages/apps/kubernetes/values.yaml (2)

123-133: Controller-manager & scheduler blocks consistent

The repetition across components is deliberate; wording is uniform.


135-140: Konnectivity comments sync’d

No issues spotted.

🧹 Nitpick comments (36)
packages/apps/redis/values.yaml (1)

15-22: Remove trailing whitespace to satisfy YAML-lint

yamllint flags a trailing space in the example block (current line 20). It’s harmless at runtime but fails CI in stricter pipelines.

- #   memory: 4Gi␠
+ #   memory: 4Gi
packages/apps/redis/README.md (1)

34-35: Avoid repeating the allowed-values sentence

Lines 24 and 34 state the same “Allowed values …” information; the duplication can be dropped to keep the README concise.

-Allowed values for `resourcesPreset` are `none`, `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`.
-This value is ignored if the corresponding `resources` value is set.
+This value is ignored if the corresponding `resources` value is set.
packages/apps/rabbitmq/values.yaml (1)

48-48: Remove trailing whitespace to satisfy YAML-lint

Line 48 ends with an extra space that trips the lint check.

- 
+
packages/apps/http-cache/values.yaml (1)

25-32: Minor naming consistency nitpick.

In the surrounding comments we mix “nginx” (lower-case) and “Nginx” (capitalised). Consider consistently capitalising the product name in comments for readability.

-## @param nginx.resources Explicit CPU and memory configuration for each nginx replica. ...
+## @param nginx.resources Explicit CPU and memory configuration for each Nginx replica. ...
packages/apps/http-cache/values.schema.json (1)

58-66: Capitalisation nitpick mirrored in schema.

For consistency with the public product name, consider “Nginx” instead of “nginx” inside the description string.

-"description": "Explicit CPU and memory configuration for each nginx replica. When left empty, the preset defined in `resourcesPreset` is applied.",
+"description": "Explicit CPU and memory configuration for each Nginx replica. When left empty, the preset defined in `resourcesPreset` is applied.",
packages/apps/http-cache/README.md (1)

16-16: Fix remaining “HAproxy” capitalisation.

One occurrence still uses the old casing.

-HAproxy plays a vital role in this setup by directing incoming traffic...
+HAProxy plays a vital role in this setup by directing incoming traffic...
packages/apps/tcp-balancer/values.yaml (1)

47-53: Example block doesn’t follow standard K8s “requests/limits” structure

The provided example shows flat cpu / memory keys, whereas most Helm users expect the canonical structure with requests and limits. If the chart really consumes a flat map that’s fine, but the example can mis-lead newcomers who copy-paste it into other charts.

-# resources:
-#   cpu: 4000m
-#   memory: 4Gi
+# resources:
+#   requests:
+#     cpu: 500m
+#     memory: 1Gi
+#   limits:
+#     cpu: 4000m
+#     memory: 4Gi

Consider switching to, or at least documenting, the standard layout to avoid surprise.

packages/apps/tcp-balancer/README.md (1)

28-28: Minor grammar / double-space nit

“Secure HTTP by enabling client networks whitelisting” has a double space and reads a bit awkwardly.

-| `whitelistHTTP`                  | Secure HTTP by enabling  client networks whitelisting                                                                                     | `false` |
+| `whitelistHTTP`                  | Secure HTTP by enabling client network whitelisting                                                                                       | `false` |
packages/apps/kafka/values.schema.json (2)

30-31: Specify expected keys & units in the resources object

The description tells users when the field is applied but not how to fill it in. It would be useful to mention that the object normally exposes cpu and memory keys (matching standard K8s notation) and that values must follow Kubernetes quantity formats (4000m, 4Gi, etc.).


70-76: Inconsistent capitalisation of “ZooKeeper”

Line 70 uses “Zookeeper” (lower-case k) while earlier descriptions in the same file use “ZooKeeper”. Please pick one spelling and use it consistently across the chart (schema, values.yaml, README).

packages/apps/kafka/values.yaml (2)

17-23: YAML example is misleading – needs nesting under kafka:

The sample shows a top-level resources: block, but the actual configuration key is kafka.resources. Consider adding a short example such as:

kafka:
  resources:
    cpu: 4000m
    memory: 4Gi

to avoid copy-paste mistakes.


29-35: Consistent naming: “ZooKeeper” vs “Zookeeper”

Same capitalisation mismatch as in the JSON schema – please harmonise the spelling in comments to match the chosen style.

packages/apps/kafka/README.md (2)

21-27: Typo & wrong nesting in example block

  1. karka.resources → kafka.resources
  2. The YAML snippet should be nested the same way users configure it in values.yaml.
-Example of `karka.resources` and `zookeeper.resources`:
+Example of `kafka.resources` and `zookeeper.resources`:
 
 ```yaml
-kafka:
-  resources:
-    cpu: 4000m
-    memory: 4Gi
+kafka:
+  resources:
+    cpu: 4000m
+    memory: 4Gi
 zookeeper:
   resources:
     cpu: 2000m
     memory: 2Gi

7-20: Minor consistency issues in parameter table

The table mixes “ZooKeeper”/“Zookeeper” and uses different capitalisation for Kafka/Zookeeper descriptions compared with the rest of the docs. A quick pass to unify capitalisation will make the docs look more polished.

packages/apps/vpn/values.schema.json (1)

11-13: Use integer instead of number for replica count

Replica counts cannot be fractional. Declaring the type as integer communicates this constraint to tooling and prevents invalid (e.g., 1.5) values from passing validation.

-        "type": "number",
+        "type": "integer",
packages/apps/vpn/README.md (4)

3-4: Tighten wording in the intro paragraph

A couple of articles are missing.

-Managed VPN Service simplifies the deployment and management of VPN server, enabling you to establish secure connections with ease.
+Managed VPN Service simplifies the deployment and management of a VPN server, enabling you to establish secure connections with ease.

10-13: Fix dangling modifier in Shadowbox sentence

The current wording starts with a modifier that lacks a subject.

-Internally known as "Shadowbox", which simplifies the process of setting up and sharing Shadowsocks servers.
+It is internally known as "Shadowbox", which simplifies the process of setting up and sharing Shadowsocks servers.

33-35: Consistency: missing comma in externalIPs description

Mirror the schema/values.yaml fix here.

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | List of external IPs for the service. Optional. If not specified, a LoadBalancer service will be used by default.                     | `[]`   |

63-64: Consider removing duplicate sentence

Line 63 enumerates allowed presets; line 64 repeats the same idea. One sentence is enough.

packages/apps/vpn/values.yaml (1)

22-22: Comma & article in externalIPs comment

Align wording with schema/README.

-## @param externalIPs [array] List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.
+## @param externalIPs [array] List of external IPs for the service. Optional. If not specified, a LoadBalancer service will be used by default.
packages/apps/clickhouse/values.schema.json (1)

87-88: Avoid future drift by removing the hard-coded enum list from the description
The allowed values are already enforced by the enum block (lines 89-97). Re-listing them in prose invites divergence the next time the enum is touched.

-"description": "Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.",
+"description": "Default sizing preset used when `resources` is omitted.",
packages/apps/clickhouse/values.yaml (1)

56-58: Same duplication concern as in the schema
Consider trimming the exhaustive value list from the comment to avoid maintenance overhead should presets evolve.

-## @param resourcesPreset Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.
+## @param resourcesPreset Default sizing preset used when `resources` is omitted.
packages/apps/clickhouse/README.md (1)

6-19: Minor wording tweak for readability

-### How to restore backup from S3
+### How to restore a backup from S3

The missing article was flagged by LanguageTool and reads more naturally with “a”.

packages/apps/ferretdb/values.yaml (2)

52-57: Clarify units in the commented-out resources example

Kubernetes expects CPU values like 4000m and memory values with units such as 4Gi. Consider adding the units to the sample so copy-paste users don’t accidentally omit them.

 # resources:
-#   cpu: 4000m
-#   memory: 4Gi
+#   cpu: "4000m"   # milli-cores
+#   memory: "4Gi"  # gigabytes

5-6: Spell out the entity for which the replicas are counted

The new wording is shorter but may leave users wondering whether it counts FerretDB pods or backing Postgres instances. A tiny clarification avoids ambiguity:

-## @param replicas Number of replicas
+## @param replicas Number of FerretDB replicas (pods)
packages/apps/ferretdb/values.schema.json (2)

15-19: Use integer instead of number for fields that cannot be fractional

replicas cannot be a floating-point value; marking it as integer tightens validation and improves UX in IDEs.

-            "type": "number",
+            "type": "integer",

Apply the same change to minSyncReplicas and maxSyncReplicas below for consistency.


85-89: Optional: constrain resources with a schema

Right now resources is an unconstrained object. If the chart expects exactly cpu and memory keys, adding a minimal schema prevents typos:

"resources": {
  "type": "object",
  "properties": {
    "cpu": { "type": "string" },
    "memory": { "type": "string" }
  },
  "additionalProperties": false,
  "description": "Explicit CPU and memory configuration for each FerretDB replica. When left empty, the preset defined in `resourcesPreset` is applied.",
  "default": {}
}
packages/apps/ferretdb/README.md (1)

3-6: Minor language polish

  1. “open source” → “open-source” when used as a compound adjective
  2. Missing “the” before FerretDB service.
-FerretDB is an open source MongoDB alternative.
-It translates MongoDB wire protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
-Internally, FerretDB service is backed by Postgres.
+FerretDB is an open-source MongoDB alternative.
+It translates MongoDB wire-protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
+Internally, the FerretDB service is backed by Postgres.
packages/apps/postgres/values.schema.json (1)

127-138: Enum description repeats the allowed values – consider DRY

Since the enum already enumerates the allowed strings, you could shorten the sentence to avoid duplication and future drift:

-"description": "Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.",
+"description": "Default sizing preset used when `resources` is omitted.",
packages/apps/postgres/values.yaml (1)

96-98: Good clarification, but watch wording consistency

Everywhere else you start the sentence with an uppercase character (“Default”), but the second sentence starts with lower-case “Allowed”. Minor, but easy to harmonise.

packages/apps/postgres/README.md (3)

3-5: Tone is a bit marketing-heavy

Phrases like “leading choice”, “highly acclaimed” read as promotional copy and may feel out of place in technical docs.
Consider tightening to a neutral, matter-of-fact tone.


108-115: Table update is accurate but reorder for grouping

resources & resourcesPreset logically belong under “Common parameters” with size/replicas, not under Bootstrap. Consider moving the rows to avoid reader confusion.


116-124: Explicit example helps – maybe add units hint

Many users forget that CPU is in millicores and memory must include a unit suffix (Mi, Gi). A short note could save troubleshooting time.

-  cpu: 4000m
-  memory: 4Gi
+  cpu: 4000m   # 4 vCPU
+  memory: 4Gi  # 4 GiB RAM
packages/apps/nats/values.yaml (1)

68-70: Remove trailing whitespace to satisfy YAML-lint

Line 70 contains two trailing spaces that break the linter.

- #   memory: 4Gi␠␠
+ #   memory: 4Gi
packages/apps/nats/README.md (1)

3-5: Use a hyphen in “high-performance”

Compound adjectives preceding a noun should be hyphenated.

-NATS is an open-source, simple, secure, and high performance messaging system.
+NATS is an open-source, simple, secure, and high-performance messaging system.
packages/apps/mysql/values.yaml (1)

58-65: Remove trailing whitespace to satisfy YAML-lint

YAML-lint flags a trailing space on line 63. Cleaning this up will keep CI green and avoid noisy diffs later.

- #   memory: 4Gi␠
+ #   memory: 4Gi
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 78b4d06 and 8c1ab68.

📒 Files selected for processing (36)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/README.md (5 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
🧰 Additional context used
🪛 YAMLlint (1.37.1)
packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

🪛 LanguageTool
packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🔇 Additional comments (35)
packages/apps/redis/README.md (1)

16-25: Looks good – clearer parameter wording

The re-phrased descriptions unambiguously explain precedence between resources and resourcesPreset, matching other charts.

packages/apps/redis/values.schema.json (1)

30-38: Schema description update is consistent and non-breaking

The wording aligns with the updated README/values.yaml while preserving types, defaults, and enum – no action needed.

packages/apps/rabbitmq/values.yaml (1)

43-50: Good clarification of resources precedence

The rewritten comments clearly explain how an explicit resources block overrides resourcesPreset, reducing potential operator confusion.

packages/apps/rabbitmq/values.schema.json (1)

32-38: Schema description now matches chart docs – LGTM

The updated wording keeps JSON-schema in sync with the Helm values.yaml comments and README.

packages/apps/rabbitmq/README.md (1)

25-40: Documentation is consistent and includes helpful examples

Including the explicit YAML snippet and listing the allowed presets should make configuration much clearer for end-users.

packages/apps/http-cache/values.yaml (1)

15-22: Descriptions are clear & consistent—good work.

The wording now explicitly states precedence between resources and resourcesPreset, reducing user confusion. No other concerns.

packages/apps/http-cache/values.schema.json (1)

30-36: Schema description aligns with chart docs—LGTM.

The precedence rule is now unambiguous and the allowed-values list is embedded. Looks good.

packages/apps/http-cache/README.md (2)

3-5: Excellent intro rewrite—clear & concise.

No issues here.


70-74: Table update looks good.

Descriptions accurately reflect precedence logic and enumerate presets. Nice addition of examples.

packages/apps/kubernetes/values.schema.json (2)

21-25: Descriptions are clearer – good enhancement

Replacing “Explicit CPU/memory resource requests and limits” with a simpler wording that also explains the fallback behaviour (resourcesPreset) tightens the documentation without changing schema semantics.


26-31: Preset wording & enum list look consistent

The updated resourcesPreset description is crisp and the allowed-values list is embedded directly in the sentence, which is helpful for users skimming JSON. No concerns.

packages/apps/kubernetes/values.yaml (1)

112-120: Comment updates correctly mirror schema

YAML comments now explicitly mention the preset fallback and list the legal preset names. Keeps chart docs in sync with the schema/README.

packages/apps/kubernetes/README.md (2)

112-122: README table now matches chart docs – great

Updating the table to reflect the new wording and removing the (limits/requests) sub-keys simplifies the example. Presentation still renders correctly in Markdown.


125-129: Example snippet simplified

Inline example now shows the expected key structure (cpu, memory) that users actually supply; avoids confusion with Helm’s templated preset expansion.

packages/apps/tcp-balancer/values.schema.json (1)

63-69: Schema description update looks good

The wording is now consistent with the YAML comments and README. No further issues spotted.

packages/apps/vpn/values.schema.json (3)

21-23: Minor grammar & clarity tweak in externalIPs description

Add a comma after “specified” and insert the missing article “a”.
[ suggest_nitpick ]

-"description": "List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.",
+"description": "List of external IPs for the service. Optional. If not specified, a LoadBalancer service will be used by default.",

28-31: Description looks great

The clarification about per-replica CPU/memory and the preset fallback is precise and user-friendly.


33-36: Enum text is clear and exhaustive

The wording and allowed values list are spot-on.

packages/apps/vpn/values.yaml (2)

32-32: Resources description clarified – looks good

The comment accurately reflects behaviour.


38-38: Preset description clear & complete

No issues here.

packages/apps/clickhouse/values.schema.json (1)

82-84: Clarity improvement acknowledged
The re-phrased description now makes the precedence between resources and resourcesPreset unmistakeable.

packages/apps/clickhouse/values.yaml (1)

50-55: Please confirm the example matches the chart’s expected structure
The sample shows flat cpu / memory keys, whereas many ClickHouse charts expect the canonical Kubernetes shape (requests / limits). If the templates still reference .Values.resources.requests, this new example will mislead users.

Ask: do the templates consume resources.cpu or resources.requests.cpu?
If the latter, keep the original nested example instead of the flattened one.

packages/apps/clickhouse/README.md (1)

60-62: Double-check example shape vs. chart expectations
As in values.yaml, the example now uses flat keys:

resources:
  cpu: 4000m
  memory: 4Gi

If templates still expect resources.requests.cpu / resources.limits.memory, users plugging this snippet in will get empty limits/requests. Please verify and align the docs or templates accordingly.

packages/apps/ferretdb/README.md (1)

42-49: Consider aligning the example with the chart’s expected structure

If the chart ultimately converts resources to Kubernetes requests/limits, you may want to show the exact structure the template consumes (e.g., cpu: "4000m"). This keeps the README and values.yaml in sync and avoids confusion.

packages/apps/postgres/values.schema.json (1)

122-124: Clarified wording looks good

The new description explicitly states the per-replica scope and the fallback behaviour, which removes the earlier ambiguity.
No action required.

packages/apps/postgres/README.md (3)

16-16: 👍 Inclusive terminology update

Switching to “primary/secondary” is modern and avoids legacy terms.
No further action.


38-38: Verify the new blog URL

The new host (blog.aenix.io) may not be as stable as the previous Medium link. Please check that the article is publicly reachable and consider adding an archive link for longevity.


75-93: Great to have concrete database examples

The YAML is syntactically valid and demonstrates roles & extensions well.
No issues spotted.

packages/apps/nats/values.schema.json (2)

50-54: Clarified resources description looks good

The updated wording unambiguously explains precedence between explicit resources and the preset. No further issues spotted.


55-58: Consistent preset wording – 👍

The description is now consistent with the enum list and with other charts.
No action required.

packages/apps/nats/values.yaml (2)

65-66: Comment improvement is accurate

The new sentence precisely mirrors the schema wording – good job keeping docs in sync.


71-72: Preset description aligned – looks fine
No further comments.

packages/apps/nats/README.md (1)

31-32: Solid clarification on preset precedence – nice touch
The added note removes any ambiguity about resourcesPreset.

packages/apps/mysql/values.yaml (1)

40-40: Typo fix looks good

The correction from “pereiodic” to “periodic” improves clarity without affecting functionality.

packages/apps/mysql/values.schema.json (1)

72-88: Descriptions and enum list are well-aligned

The updated wording clearly explains the interaction between resources and resourcesPreset, and the enum now mirrors the allowed values spelled out in docs.

Comment thread packages/apps/postgres/values.yaml Outdated
Comment thread packages/apps/postgres/README.md Outdated
Comment on lines +61 to +123
Example of `users`:

```yaml
users:
user1:
password: strongpassword
user2:
password: hackme
airflow:
password: qwerty123
debezium:
replication: true
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Sample passwords look insecure

Even in examples, using “hackme” and real-looking keys can encourage copy-paste of weak secrets. Replace with obviously dummy placeholders (e.g. CHANGEME).

-  user2:
-    password: hackme
+  user2:
+    password: CHANGEME
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Example of `users`:
```yaml
users:
user1:
password: strongpassword
user2:
password: hackme
airflow:
password: qwerty123
debezium:
replication: true
```
Example of `users`:
🤖 Prompt for AI Agents
In packages/apps/postgres/README.md between lines 61 and 74, the example
passwords used are insecure and may encourage users to copy weak secrets.
Replace all example passwords like "strongpassword", "hackme", and "qwerty123"
with clearly dummy placeholders such as "CHANGEME" to indicate they must be
changed.

Comment on lines +10 to +22
| Name | Description | Value |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `external` | Enable external access from outside the cluster | `false` |
| `replicas` | Persistent Volume size for NATS | `2` |
| `storageClass` | StorageClass used to store the data | `""` |
| `users` | Users configuration | `{}` |
| `jetstream.size` | Jetstream persistent storage size | `10Gi` |
| `jetstream.enabled` | Enable or disable Jetstream | `true` |
| `config.merge` | Additional configuration to merge into NATS config | `{}` |
| `config.resolver` | Additional configuration to merge into NATS config | `{}` |
| `resources` | Explicit CPU and memory configuration for each NATS replica. When left empty, the preset defined in `resourcesPreset` is applied. | `{}` |
| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge. | `nano` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

replicas description is wrong and may mislead users

In the parameters table, replicas is described as “Persistent Volume size for NATS”, but it actually denotes the number of pod replicas. This copy-paste error can confuse operators.

-| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
+| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |

Please verify other charts for the same wording.


🏁 Script executed:

#!/usr/bin/env bash
# Find other occurrences of the same incorrect description
rg -n 'replicas.*Persistent Volume size'

Length of output: 588


Update replicas descriptions in NATS and SeaweedFS charts

The replicas parameter description was copy-pasted as “Persistent Volume size for NATS” in multiple places. It should indicate the number of pods, and in the SeaweedFS chart, reference SeaweedFS rather than NATS.

Please apply the following fixes:

  • packages/apps/nats/README.md (line 13)
    -| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
    +| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |
  • packages/apps/nats/values.yaml (line 5)
    -## @param replicas Persistent Volume size for NATS
    +## @param replicas Number of NATS pod replicas
  • packages/extra/seaweedfs/README.md (line 10)
    -| `replicas`     | Persistent Volume size for NATS                                                                           | `2`    |
    +| `replicas`     | Number of SeaweedFS pod replicas                                                                         | `2`    |
  • packages/extra/seaweedfs/values.yaml (line 6)
    -## @param replicas Persistent Volume size for NATS
    +## @param replicas Number of SeaweedFS pod replicas
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Name | Description | Value |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `external` | Enable external access from outside the cluster | `false` |
| `replicas` | Persistent Volume size for NATS | `2` |
| `storageClass` | StorageClass used to store the data | `""` |
| `users` | Users configuration | `{}` |
| `jetstream.size` | Jetstream persistent storage size | `10Gi` |
| `jetstream.enabled` | Enable or disable Jetstream | `true` |
| `config.merge` | Additional configuration to merge into NATS config | `{}` |
| `config.resolver` | Additional configuration to merge into NATS config | `{}` |
| `resources` | Explicit CPU and memory configuration for each NATS replica. When left empty, the preset defined in `resourcesPreset` is applied. | `{}` |
| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge. | `nano` |
| Name | Description | Value |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `external` | Enable external access from outside the cluster | `false` |
| `replicas` | Number of NATS pod replicas | `2` |
| `storageClass` | StorageClass used to store the data | `""` |
| `users` | Users configuration | `{}` |
| `jetstream.size` | Jetstream persistent storage size | `10Gi` |
| `jetstream.enabled` | Enable or disable Jetstream | `true` |
| `config.merge` | Additional configuration to merge into NATS config | `{}` |
| `config.resolver` | Additional configuration to merge into NATS config | `{}` |
| `resources` | Explicit CPU and memory configuration for each NATS replica. When left empty, the preset defined in `resourcesPreset` is applied. | `{}` |
| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge. | `nano` |
🤖 Prompt for AI Agents
In packages/apps/nats/README.md around lines 10 to 22, the description for the
`replicas` parameter incorrectly states it is the "Persistent Volume size for
NATS." Update this description to correctly indicate that `replicas` specifies
the number of pods. Also, ensure the same correction is applied to
packages/apps/nats/values.yaml at line 5, packages/extra/seaweedfs/README.md at
line 10, and packages/extra/seaweedfs/values.yaml at line 6, adjusting the
references to SeaweedFS where appropriate.

Comment thread packages/apps/mysql/README.md Outdated
Comment on lines +99 to +107
```yaml
databases:
myapp1:
roles:
admin:
- user1
readonly:
- user2
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix invalid YAML indentation in databases example

The list items under each role must be indented to be valid YAML. As-is, - user1 / - user2 sit at the same level as their parent keys and will be parsed incorrectly.

 roles:
   admin:
-  - user1
+    - user1
   readonly:
-  - user2
+    - user2
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```yaml
databases:
myapp1:
roles:
admin:
- user1
readonly:
- user2
```
databases:
myapp1:
roles:
admin:
- user1
readonly:
- user2
🤖 Prompt for AI Agents
In packages/apps/mysql/README.md between lines 99 and 107, the YAML example
under `databases` has incorrect indentation for the list items under each role.
Fix this by indenting the `- user1` and `- user2` lines further so they are
nested properly under their respective role keys, ensuring valid YAML structure.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (3)
packages/apps/postgres/values.yaml (1)

90-95: Trailing spaces still breaking yamllint

Line 95 contains whitespace that keeps failing CI, exactly as flagged in the previous review. Please strip it (and any other trailing spaces) so the linter passes.

- #   memory: 4Gi␠␠
+#   memory: 4Gi
-
packages/apps/mysql/README.md (1)

99-107: YAML example still malformed – list items need deeper indentation
Previous feedback remains unresolved. - user1 and - user2 must be children of their parent keys, otherwise the snippet cannot be parsed.

   roles:
-      admin:
-      - user1
-      readonly:
-      - user2
+      admin:
+        - user1
+      readonly:
+        - user2
packages/apps/nats/README.md (1)

12-14: replicas description is still wrong – it denotes pod count, not volume size

This exact issue was flagged in the previous review but the wording remains unchanged. Please update to avoid misleading users.

-| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
+| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |
🧹 Nitpick comments (16)
packages/apps/redis/values.yaml (1)

15-20: Strip trailing whitespace to satisfy YAMLlint

Line 20 is flagged by YAMLlint for trailing spaces. Removing them keeps the file lint-clean and avoids noisy CI warnings.

- #   memory: 4Gi␠␠
+ #   memory: 4Gi
packages/apps/rabbitmq/values.yaml (1)

43-48: Remove the trailing whitespace on the empty line to keep YAMLlint happy

YAMLlint is flagging line 48 for trailing spaces – the sole lint issue in this file.
Deleting the stray spaces avoids unnecessary CI noise.

- 
+
packages/apps/vpn/README.md (3)

6-6: Replace bare URL with Markdown link.

The linter (MD034) rightfully flags this. Converting to a clickable Markdown link keeps the style consistent with the rest of the repo’s READMEs.

-- VPN client applications: https://shadowsocks5.github.io/en/download/clients.html
+- VPN client applications: [Shadowsocks clients](https://shadowsocks5.github.io/en/download/clients.html)

29-35: Tighten wording and fix missing comma in externalIPs description.

LanguageTool is correct — the sentence needs a comma after the subordinate clause.
While you’re here, consider aligning description wording with other apps (short imperative phrases).

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | Optional list of IPs to expose via the Service. If omitted, a `LoadBalancer` Service is created by default.                           | `[]`   |

63-64: Drop redundant sentence—already conveyed in the table.

Lines 63-64 restate the “ignored if resources is set” rule that appears in the table row for resourcesPreset. Removing duplication keeps the README concise.

-Allowed values for `resourcesPreset` are `none`, `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`.
-This value is ignored if the corresponding `resources` value is set.
packages/apps/mysql/values.yaml (1)

58-65: Strip the trailing whitespace to satisfy yamllint

yamllint rightfully flags an unnecessary trailing space on line 63.
Cleaning it keeps CI green and avoids churn in future diffs.

- #   memory: 4Gi␠
+ #   memory: 4Gi
packages/apps/mysql/README.md (1)

50-51: Convert bare URL to Markdown link

Rule MD034 complains about the plain‐text URL.
Linkify it for lint-clean docs and better UX.

- - https://blog.aenix.io/restic-effective-backup-from-stdin-4bc1e8f083c1
+- [Restic: effective backup from stdin](https://blog.aenix.io/restic-effective-backup-from-stdin-4bc1e8f083c1)
packages/apps/ferretdb/README.md (4)

3-5: Polish wording & apply compound-adjective rules.

Small grammar/clarity tweaks:

-FerretDB is an open source MongoDB alternative.
-It translates MongoDB wire protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
-Internally, FerretDB service is backed by Postgres.
+FerretDB is an **open-source** MongoDB alternative.
+It translates MongoDB wire-protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
+Internally, **the** FerretDB service is backed by Postgres.

18-18: Tweak phrasing for precision.

“Must be lower than …” reads awkwardly; “must be less than …” is the standard comparative for numeric constraints.

-Maximum number of synchronous replicas that can acknowledge a transaction (must be lower than the total number of replicas)
+Maximum number of synchronous replicas that can acknowledge a transaction (must be less than the total number of replicas)

26-41: Move resources settings out of the Backup parameters table.

CPU/memory sizing has nothing to do with backups; keeping it inside the “Backup parameters” section is misleading and makes navigation harder.
Recommend introducing a dedicated subsection, e.g. “### Resource parameters”, with its own table.

-### Backup parameters
-
-| Name                     | Description                                                                                                                           | Value                                                  |
-| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
-...
-| `backup.resticPassword`  | The password for Restic backup encryption                                                                                             | `ChaXoveekoh6eigh4siesheeda2quai0`                     |
-| `resources`              | Explicit CPU and memory configuration for each FerretDB replica. When left empty, the preset defined in `resourcesPreset` is applied. | `{}`                                                   |
-| `resourcesPreset`        | Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.     | `nano`                                                 |
+### Backup parameters
+
+| Name                     | Description                                                                                                                           | Value                                                  |
+| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
+...
+| `backup.resticPassword`  | The password for Restic backup encryption                                                                                             | `ChaXoveekoh6eigh4siesheeda2quai0`                     |
+
+### Resource parameters
+
+| Name              | Description                                                                                                                                                                       | Value  |
+| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
+| `resources`       | Explicit CPU and memory configuration for each FerretDB replica. When left empty, the preset defined in `resourcesPreset` is applied.                                              | `{}`   |
+| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: `none`, `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`.                                 | `nano` |

42-51: Avoid duplication & refine YAML example.

  1. The allowed-values sentence (lines 50-51) repeats what’s in the table – consider removing to reduce noise.
  2. Typical Kubernetes resource blocks include requests/limits; if the chart expects flat cpu/memory, emphasise that to avoid confusion.
 Example of `resources`:
 
 ```yaml
 resources:
-  cpu: 4000m
-  memory: 4Gi
+  cpu: "4000m"   # milli-cores
+  memory: 4Gi    # bytes

-Allowed values for resourcesPreset are none, nano, micro, small, medium, large, xlarge, 2xlarge.
-This value is ignored if the corresponding resources value is set.
+The resourcesPreset value is ignored whenever an explicit resources map is provided.


</blockquote></details>
<details>
<summary>packages/apps/nats/values.yaml (1)</summary><blockquote>

`65-70`: **Strip trailing whitespace to keep YAMLlint happy**

Line 70 has a stray space that YAMLlint already complained about. Trim it to avoid failing CI and keep the file clean.

```diff
- #   memory: 4Gi␠
+ #   memory: 4Gi
packages/apps/nats/README.md (1)

3-4: Hyphenate “high-performance”

Minor copy-editing: the standard form is “high-performance messaging system”.

- NATS is an open-source, simple, secure, and high performance messaging system.
+ NATS is an open-source, simple, secure, and high-performance messaging system.
packages/apps/clickhouse/README.md (3)

6-6: Fix heading level + missing article

Jumping from an H1 to an H3 breaks the Markdown heading hierarchy (MD001) and the phrase is missing the article “a”.

-### How to restore backup from S3
+## How to restore a backup from S3

53-55: Wording is slightly inconsistent

Row 53 says “When left empty, the preset defined in resourcesPreset is applied.”
Row 54 then talks about “when resources is omitted”. Use one phrase (omitted is clearer) in both places to avoid confusion.

-| `resources`              | Explicit CPU and memory configuration for each ClickHouse replica. When left empty, the preset defined in `resourcesPreset` is applied. | `{}` |
+| `resources`              | Explicit CPU and memory configuration for each ClickHouse replica. When **omitted**, the preset defined in `resourcesPreset` is applied. | `{}` |

64-66: Drop the duplicated sentence

Lines 64-66 repeat information already present in the table directly above. Removing the repetition keeps the README concise.

-Allowed values for `resourcesPreset` are `none`, `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`.
-This value is ignored if the corresponding `resources` value is set. 
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8c1ab68 and 3e9290d.

📒 Files selected for processing (36)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/README.md (5 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
✅ Files skipped from review due to trivial changes (2)
  • packages/apps/ferretdb/values.schema.json
  • packages/apps/vpn/values.yaml
🚧 Files skipped from review as they are similar to previous changes (24)
  • packages/apps/tcp-balancer/values.yaml
  • packages/apps/kafka/values.yaml
  • packages/apps/tcp-balancer/values.schema.json
  • packages/apps/rabbitmq/values.schema.json
  • packages/apps/tcp-balancer/README.md
  • packages/apps/nats/values.schema.json
  • packages/apps/clickhouse/values.schema.json
  • packages/apps/postgres/values.schema.json
  • packages/apps/kubernetes/values.yaml
  • packages/apps/redis/values.schema.json
  • packages/apps/vpn/values.schema.json
  • packages/apps/redis/README.md
  • packages/apps/http-cache/values.yaml
  • packages/apps/clickhouse/values.yaml
  • packages/apps/http-cache/README.md
  • packages/apps/http-cache/values.schema.json
  • packages/apps/kafka/README.md
  • packages/apps/kafka/values.schema.json
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/ferretdb/values.yaml
  • packages/apps/postgres/README.md
  • packages/apps/kubernetes/README.md
  • packages/apps/mysql/values.schema.json
  • packages/apps/rabbitmq/README.md
🧰 Additional context used
🪛 LanguageTool
packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 markdownlint-cli2 (0.17.2)
packages/apps/clickhouse/README.md

6-6: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

packages/apps/mysql/README.md

50-50: Bare URL used

(MD034, no-bare-urls)

packages/apps/vpn/README.md

6-6: Bare URL used

(MD034, no-bare-urls)

🪛 YAMLlint (1.37.1)
packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Build
🔇 Additional comments (3)
packages/apps/redis/values.yaml (1)

21-22: Docs look good – clear and consistent with other charts

The re-worded resourcesPreset description is precise and the allowed-values list is easy to scan. No further action needed.

packages/apps/vpn/README.md (1)

55-61: Clarify resources YAML example to match Kubernetes shape.

Most Helm charts expect:

resources:
  limits:
    cpu: 4000m
    memory: 4Gi
  requests:
    cpu: 1000m
    memory: 512Mi

If the chart truly accepts flat cpu/memory fields, call this out explicitly; otherwise the current snippet may mislead users.

packages/apps/clickhouse/README.md (1)

58-62: No changes needed: flat cpu/memory keys are supported in the ClickHouse chart

The cozy-lib.resources.sanitize helper accepts top-level cpu and memory properties (alongside optional limits/requests) and will correctly populate both limits and requests. The example in README.md matches the chart’s template logic and requires no update.

Likely an incorrect or invalid review comment.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🔭 Outside diff range comments (1)
packages/apps/ferretdb/values.yaml (1)

48-50: Example credentials look like real secrets – replace with obvious placeholders

backup.s3AccessKey, backup.s3SecretKey, and backup.resticPassword contain random-looking strings that trigger Gitleaks. Even if they’re dummy, scanners (and future readers) will treat them as leaked keys. Swap them for unmistakable placeholders to avoid false positives and bad copy-paste habits.

-  s3AccessKey: oobaiRus9pah8PhohL1ThaeTa4UVa7gu
-  s3SecretKey: ju3eum4dekeich9ahM1te8waeGai0oog
-  resticPassword: ChaXoveekoh6eigh4siesheeda2quai0
+  s3AccessKey: <S3_ACCESS_KEY>
+  s3SecretKey: <S3_SECRET_KEY>
+  resticPassword: <RESTIC_PASSWORD>
♻️ Duplicate comments (2)
packages/apps/postgres/values.yaml (1)

92-95: Trailing whitespace still breaks yamllint – please strip it

Line 95 is a “blank” line that actually contains spaces. This is the exact issue flagged in the previous review and still causes the trailing-spaces error shown by YAMLlint.

-␠␠␠␠     # (spaces only)
+

Delete the spaces so the line is truly empty (or remove the line altogether).

packages/apps/nats/README.md (1)

10-15: replicas description is still wrong (duplicate of earlier review)

The table row still describes replicas as “Persistent Volume size for NATS”, but it actually represents the number of pod replicas.

-| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
+| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |
🧹 Nitpick comments (16)
packages/apps/rabbitmq/values.yaml (2)

49-50: Minor wording / consistency nitpick

You list none as an allowed value but default to nano. If none truly means “no preset → no limits/requests”, you may want to:

  1. Explicitly state that behaviour in the comment, or
  2. Change the default to none for symmetry.

Not blocking, but worth double-checking for consistency across charts.


48-48: Trailing whitespace causes YAML-lint error

Line 48 is an empty line containing two spaces, tripping the linter (trailing-spaces). Remove them:

- 
+
packages/apps/redis/values.yaml (1)

20-20: Remove trailing spaces to appease YAMLlint
Line 20 contains whitespace only, which triggers the linter’s trailing-spaces rule. A clean blank line avoids the warning.

-␠␠
+
packages/apps/mysql/values.yaml (1)

58-66: Clean up trailing spaces & re-check the example resource block.

  1. YAML lint flags trailing spaces on line 63 – remove them to keep CI green.
  2. The commented example puts cpu/memory directly under resources, which differs from the standard Kubernetes structure (resources.limits / resources.requests). If the chart really expects the flat form, add a short note; otherwise, update the example:
 # resources:
-#   cpu: 4000m
-#   memory: 4Gi
+#   limits:
+#     cpu: "4000m"
+#     memory: "4Gi"
  1. In the comment, say “each MySQL replica” instead of “MariaDB replica” to match the chart’s name and avoid user confusion.
packages/apps/nats/values.yaml (1)

65-72: Strip trailing spaces flagged by YAMLlint

Line 70 ends with superfluous whitespace, tripping the linter. Remove it to keep the file clean.

- #   memory: 4Gi␠
+ #   memory: 4Gi
packages/apps/nats/README.md (1)

3-5: Hyphenate “high-performance”

Minor copy-editing: compound adjective before a noun should be hyphenated.

-... secure, and high performance messaging system.
+... secure, and high-performance messaging system.
packages/apps/vpn/README.md (4)

6-6: Convert bare URL to a Markdown link

markdownlint (MD034) flags this as a bare URL. Wrapping it in Markdown makes the link accessible and keeps linters quiet.

- - VPN client applications: https://shadowsocks5.github.io/en/download/clients.html
+ - [VPN client applications](https://shadowsocks5.github.io/en/download/clients.html)

10-13: Tighten wording & merge the fragmented sentences

The current four-line block duplicates context (“Outline Server” vs “Shadowbox”) and reads as a series of fragments. A compact paragraph improves flow and removes redundancy.

-The VPN Service is powered by the Outline Server, an advanced and user-friendly VPN solution.
-Internally known as "Shadowbox", which simplifies the process of setting up and sharing Shadowsocks servers.
-It operates by launching Shadowsocks instances on demand.
-Furthermore, Shadowbox is compatible with standard Shadowsocks clients, providing flexibility and ease of use for your VPN requirements.
+The VPN service is powered by Outline Server—internally codenamed **Shadowbox**—an advanced, user-friendly platform that streamlines the setup and sharing of Shadowsocks servers.  
+It launches Shadowsocks instances on demand and is fully compatible with standard Shadowsocks clients, providing flexibility and ease of use for your VPN deployments.

33-33: Add the missing comma & clarify wording

LanguageTool’s hint is correct: the sentence needs a comma after “specified”. While touching the line, converting “LoadBalancer” to code style and trimming wording make it sharper.

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | List of `externalIPs` for the service (optional). If not specified, a `LoadBalancer` service is used by default.                        | `[]`   |

35-36: Deduplicate the allowed-values note

The same resourcesPreset explanation appears in the table (line 35) and again at the bottom (line 63). Keeping a single, concise note prevents drift.

-Allowed values for `resourcesPreset` are `none`, `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`.
-This value is ignored if the corresponding `resources` value is set.
+_Note:_ `resourcesPreset` is ignored when `resources` is explicitly defined.

Also applies to: 63-64

packages/apps/clickhouse/README.md (4)

6-6: Use H2 instead of H3 to keep heading levels consistent

### jumps directly from the H1 title to H3, which violates Markdown-lint rule MD001.
Changing it to ## How to restore backup from S3 avoids the skipped level.


8-9: Minor grammar tweak – add an article before “snapshot”

“Find the snapshot” reads more naturally (and satisfies the LanguageTool hint) than “Find snapshot”.
Same applies to subsequent list items if you copy the wording.


43-52: Mask example credentials with obvious placeholders

Even though the keys are fake, publishing anything that looks like real secrets encourages copy-pasting sensitive data into repos.
Consider replacing them with <ACCESS_KEY>, <SECRET_KEY>, <RESTIC_PASSWORD> to set a safer precedent.


53-55: Make the precedence relationship crystal-clear

The current wording (“ignored if … is set”) could be read two ways:

  1. resourcesPreset is ignored when any replica has resources set.
  2. It’s evaluated per-replica.

If it’s the first case (chart-wide), explicitly state “ignored entirely when resources is non-empty”. If it’s per-replica, clarify that nuance.

packages/apps/ferretdb/README.md (2)

3-3: Add hyphen in compound adjective “open-source”

Minor docs nit:

-FerretDB is an open source MongoDB alternative.
+FerretDB is an open-source MongoDB alternative.

5-5: Insert article “the” before “FerretDB service”

-Internally, FerretDB service is backed by Postgres.
+Internally, the FerretDB service is backed by Postgres.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3e9290d and 2d3d8c0.

📒 Files selected for processing (37)
  • .github/workflows/pull-requests.yaml (1 hunks)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/README.md (4 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
✅ Files skipped from review due to trivial changes (4)
  • .github/workflows/pull-requests.yaml
  • packages/apps/kafka/values.schema.json
  • packages/apps/mysql/values.schema.json
  • packages/apps/ferretdb/values.schema.json
🚧 Files skipped from review as they are similar to previous changes (23)
  • packages/apps/postgres/values.schema.json
  • packages/apps/kafka/values.yaml
  • packages/apps/nats/values.schema.json
  • packages/apps/tcp-balancer/values.schema.json
  • packages/apps/clickhouse/values.schema.json
  • packages/apps/clickhouse/values.yaml
  • packages/apps/http-cache/values.yaml
  • packages/apps/tcp-balancer/values.yaml
  • packages/apps/redis/README.md
  • packages/apps/vpn/values.schema.json
  • packages/apps/redis/values.schema.json
  • packages/apps/http-cache/values.schema.json
  • packages/apps/rabbitmq/values.schema.json
  • packages/apps/rabbitmq/README.md
  • packages/apps/http-cache/README.md
  • packages/apps/tcp-balancer/README.md
  • packages/apps/kubernetes/values.yaml
  • packages/apps/vpn/values.yaml
  • packages/apps/kafka/README.md
  • packages/apps/postgres/README.md
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/kubernetes/README.md
  • packages/apps/mysql/README.md
🧰 Additional context used
🪛 LanguageTool
packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 markdownlint-cli2 (0.17.2)
packages/apps/clickhouse/README.md

6-6: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

packages/apps/vpn/README.md

6-6: Bare URL used

(MD034, no-bare-urls)

🪛 Gitleaks (8.26.0)
packages/apps/ferretdb/values.yaml

54-54: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


55-55: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


56-56: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

🪛 YAMLlint (1.37.1)
packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Build
🔇 Additional comments (9)
packages/apps/rabbitmq/values.yaml (1)

43-44: Improved description looks good

The new wording accurately explains the precedence between resources and resourcesPreset.

packages/apps/redis/values.yaml (2)

15-19: Resource comment clarification looks good
The new wording clearly explains the precedence between resources and resourcesPreset and adds an easy-to-follow example.


21-21: Preset description update reads well
Listing the allowed values inline improves discoverability and keeps the docs consistent with other charts.

packages/apps/mysql/values.yaml (1)

40-40: Typo fix looks good.

The correction from “pereiodic” to “periodic” makes the comment clearer. No further action needed.

packages/apps/nats/values.yaml (1)

65-72: Resource-parameter wording is now clear — nice!
The updated descriptions accurately convey the precedence between resources and resourcesPreset and list the allowed presets.

packages/apps/vpn/README.md (1)

55-61: Verify that the example matches the chart’s expected structure

Typical Kubernetes charts expect:

resources:
  requests:
    cpu: 400m
    memory: 512Mi
  limits:
    cpu: 1
    memory: 1Gi

The simplified flat keys (cpu, memory) in the example will mis-lead users if the chart still follows the standard schema.

Please confirm the chart’s CRD/values schema and adjust the snippet accordingly.

packages/apps/clickhouse/README.md (1)

58-62: Double-check that the flat cpu/memory form matches the chart schema

Kubernetes normally expects

resources:
  limits:
    cpu: 4000m
    memory: 4Gi
  requests:
    cpu: 4000m
    memory: 4Gi

Your example shows a flattened shape. If the chart really consumes that custom structure, great—otherwise this snippet will mislead users. Please verify against values.schema.json.

packages/apps/ferretdb/values.yaml (1)

52-59: Clarity improvement looks good

The expanded description correctly explains precedence between resources and resourcesPreset and lists allowed presets—nice consistency with other charts.

packages/apps/ferretdb/README.md (1)

38-40: Resource parameter description/presets – good enhancement

The new wording makes precedence rules explicit and enumerates allowed presets. This increases usability across charts.

Comment thread packages/apps/ferretdb/README.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

♻️ Duplicate comments (1)
packages/apps/nats/README.md (1)

13-13: replicas description still incorrect (duplicate of earlier feedback)

replicas represents the number of NATS pod replicas, not “Persistent Volume size”. This was flagged in a previous review but remains unfixed.

-| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
+| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |
🧹 Nitpick comments (16)
packages/apps/redis/values.yaml (1)

18-20: Trim the trailing whitespace flagged by YAML lint

Line 20 (# memory: 4Gi) contains superfluous trailing spaces, which violates the repo’s YAML lint rules and will keep the CI red.
Removing them is straightforward and prevents distracting noise in future diffs.

- #   memory: 4Gi␠
+ #   memory: 4Gi
packages/apps/rabbitmq/values.yaml (2)

43-47: Clarify expected keys / units for resources

The new wording is clearer, but it still omits what structure and units the chart expects (cpu, memory, millicores vs cores, Mi vs Gi, etc.). A short hint – e.g. “keys: cpu (in millicores), memory (Mi/Gi)” – would prevent mis-configuration and keep this in sync with the sample block below.


48-48: Remove trailing whitespace flagged by YAMLlint

Line 48 contains only spaces. This triggers trailing-spaces in YAMLlint.

-
+
packages/apps/mysql/values.yaml (1)

64-65: Clarify resourcesPreset default vs. allowed values.

The comment lists none among allowed presets, yet the default is nano.
If none is intended to mean “do not apply any preset,” consider:

  1. Explicitly documenting that none disables preset sizing.
  2. Evaluating whether the default should be none instead of nano to avoid an implicit sizing assumption.

This avoids confusion for chart consumers.

packages/apps/clickhouse/README.md (3)

69-70: Parameter name typo: resourcePreset → resourcesPreset

The README consistently uses the plural form (resourcesPreset) elsewhere, but this bullet switches to the singular form. This can confuse users (and search-replace tools).

-`resourcePreset` sets named CPU and memory configurations for each replica.
+`resourcesPreset` sets named CPU and memory configurations for each replica.

6-6: Minor grammar tweak

Insert the article “a” for smoother reading.

-### How to restore backup from S3
+### How to restore a backup from S3

72-80: Consider clarifying CPU units in the preset table

The presets mix m suffix (millicores) and plain integers.
To avoid ambiguity, append m to whole-core values or add a note that plain integers mean cores.

Example:

-| `large`     | `1`    | `2Gi`   |
+| `large`     | `1000m`| `2Gi`   |
packages/apps/nats/values.yaml (1)

65-72: Remove trailing whitespace to satisfy linters

YAMLlint flags line 70 for trailing spaces. While harmless at runtime, it breaks CI in repos with strict linting.

- 
+
packages/apps/nats/README.md (2)

3-4: Grammar: “high-performance” needs hyphen

Compound adjective before a noun should be hyphenated.

-open-source, simple, secure, and high performance messaging system
+open-source, simple, secure, and high-performance messaging system

36-38: Spelling mismatch: resourcePreset → resourcesPreset

The explanation drops the “s”, contradicting the actual field name and the table above.

-`resourcePreset` sets named CPU and memory configurations for each replica.
+`resourcesPreset` sets named CPU and memory configurations for each replica.
packages/apps/postgres/README.md (1)

100-102: Parameter name typo – missing “s” in resourcesPreset.

The prose uses resourcePreset (singular) while the actual key is resourcesPreset. This inconsistency can trip up copy-pasting users.

-`resourcePreset` sets named CPU and memory configurations for each replica.
+`resourcesPreset` sets named CPU and memory configurations for each replica.
packages/apps/ferretdb/README.md (2)

3-6: Hyphenate “open-source” and add missing article
Minor wording improvements for flow and correctness.

-FerretDB is an open source MongoDB alternative.
-It translates MongoDB wire protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
-Internally, FerretDB service is backed by Postgres.
+FerretDB is an open-source MongoDB alternative.
+It translates MongoDB wire-protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
+Internally, the FerretDB service is backed by Postgres.

59-67: Add missing none preset row & align CPU unit notation
The text above (line 39) lists none as an allowed value, but the table omits it. Also, for consistency, use explicit units (1 → 1 or 1000m).

-| Preset name | CPU    | memory  |
-|-------------|--------|---------|
-| `nano`      | `100m` | `128Mi` |
-| `micro`     | `250m` | `256Mi` |
-| `small`     | `500m` | `512Mi` |
-| `medium`    | `500m` | `1Gi`   |
-| `large`     | `1`    | `2Gi`   |
-| `xlarge`    | `2`    | `4Gi`   |
-| `2xlarge`   | `4`    | `8Gi`   |
+| Preset name | CPU    | memory |
+|-------------|--------|--------|
+| `none`      | —      | —      |
+| `nano`      | `100m` | `128Mi` |
+| `micro`     | `250m` | `256Mi` |
+| `small`     | `500m` | `512Mi` |
+| `medium`    | `500m` | `1Gi`   |
+| `large`     | `1`    | `2Gi`   |
+| `xlarge`    | `2`    | `4Gi`   |
+| `2xlarge`   | `4`    | `8Gi`   |
packages/apps/vpn/README.md (3)

4-4: Add missing article for grammatical correctness

The sentence is missing the article “a” before “VPN server.”

-Managed VPN Service simplifies the deployment and management of VPN server, enabling you to establish secure connections with ease.
+Managed VPN Service simplifies the deployment and management of a VPN server, enabling you to establish secure connections with ease.

11-11: Rewrite fragment to a full sentence

The current wording is a fragment; prepend the subject to improve readability.

-Internally known as "Shadowbox", which simplifies the process of setting up and sharing Shadowsocks servers.
+It is internally known as "Shadowbox", and it simplifies the process of setting up and sharing Shadowsocks servers.

33-33: Insert comma and pronoun for clarity

Minor grammar: add a comma after “specified” and the pronoun “it”.

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | List of externalIPs for service. Optional. If not specified, it will use a LoadBalancer service by default.                            | `[]`   |
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2d3d8c0 and 5b402cc.

📒 Files selected for processing (49)
  • packages/apps/bucket/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/Chart.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/Chart.yaml (1 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/Chart.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/Chart.yaml (1 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/Chart.yaml (1 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/Chart.yaml (1 hunks)
  • packages/apps/postgres/README.md (4 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/Chart.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/Chart.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/versions_map (1 hunks)
  • packages/apps/vpn/Chart.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
✅ Files skipped from review due to trivial changes (16)
  • packages/apps/clickhouse/Chart.yaml
  • packages/apps/redis/Chart.yaml
  • packages/apps/bucket/Chart.yaml
  • packages/apps/rabbitmq/Chart.yaml
  • packages/apps/mysql/Chart.yaml
  • packages/apps/postgres/Chart.yaml
  • packages/apps/kafka/Chart.yaml
  • packages/apps/tcp-balancer/Chart.yaml
  • packages/apps/ferretdb/Chart.yaml
  • packages/apps/http-cache/Chart.yaml
  • packages/apps/nats/Chart.yaml
  • packages/apps/vpn/Chart.yaml
  • packages/apps/versions_map
  • packages/apps/vpn/values.yaml
  • packages/apps/kafka/values.schema.json
  • packages/apps/ferretdb/values.schema.json
🚧 Files skipped from review as they are similar to previous changes (23)
  • packages/apps/tcp-balancer/values.schema.json
  • packages/apps/nats/values.schema.json
  • packages/apps/http-cache/values.schema.json
  • packages/apps/clickhouse/values.schema.json
  • packages/apps/tcp-balancer/values.yaml
  • packages/apps/clickhouse/values.yaml
  • packages/apps/postgres/values.schema.json
  • packages/apps/http-cache/values.yaml
  • packages/apps/rabbitmq/values.schema.json
  • packages/apps/kafka/values.yaml
  • packages/apps/redis/values.schema.json
  • packages/apps/ferretdb/values.yaml
  • packages/apps/vpn/values.schema.json
  • packages/apps/kubernetes/values.yaml
  • packages/apps/http-cache/README.md
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/kafka/README.md
  • packages/apps/mysql/README.md
  • packages/apps/redis/README.md
  • packages/apps/kubernetes/README.md
  • packages/apps/mysql/values.schema.json
  • packages/apps/rabbitmq/README.md
  • packages/apps/tcp-balancer/README.md
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/ferretdb/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/postgres/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
🪛 LanguageTool
packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/postgres/README.md

[uncategorized] ~26-~26: You might be missing the article “a” here.
Context: ... restore backup find snapshot: Create new app postgres with another name and old ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~26-~26: You might be missing the article “the” here.
Context: ... another name and old values and add to new cluster values: ```yaml ## PARAM boots...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 YAMLlint (1.37.1)
packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Build
🔇 Additional comments (5)
packages/apps/redis/values.yaml (1)

21-22: Double-check that the chart logic recognises the new "none" preset

The comment now lists none as an allowed value, yet the default remains "nano".
Please verify that:

  1. The Helm templates treat resourcesPreset: "none" as “no preset / leave resources empty”.
  2. There is no mismatch with any existing Values.schema.json enum or validation logic.

A quick grep across templates/ for resourcesPreset should confirm this.

packages/apps/mysql/values.yaml (1)

40-40: Typo fixed – good catch.

The corrected wording (“periodic”) improves clarity. No further action required.

packages/apps/clickhouse/README.md (1)

53-55: Double-check that README syntax matches the chart schema

The README says an empty resources object triggers the preset, and the example later shows flat cpu/memory keys.
Please verify that the chart/values.schema.json really expects:

resources:
  cpu: 4000m
  memory: 4Gi

and not the traditional K8s structure:

resources:
  requests:
    cpu: 4000m
    memory: 4Gi
  limits:
    ...

A mismatch will silently break user overrides.

packages/apps/nats/values.yaml (1)

65-72: Docs vs variable name typo (resourcesPreset vs resourcePreset)

The comment correctly names the value resourcesPreset, but the README later refers to resourcePreset (missing “s”). Keep the spelling consistent to avoid user confusion.

packages/apps/vpn/README.md (1)

58-59: Double-check CPU scaling for the medium preset

small and medium both list 500m CPU. If this is intentional, please add a note; otherwise consider bumping medium to a higher value (e.g., 750m or 1) to preserve linear scaling.

Comment thread packages/apps/mysql/values.yaml
Comment on lines 92 to 95
# resources:
# cpu: 4000m
# memory: 4Gi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Remove trailing whitespace to unblock yamllint.

yamllint is still complaining about the blank line 95 that ends with spaces. CI will stay red until those are deleted.

-  
+
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# resources:
# cpu: 4000m
# memory: 4Gi
# resources:
# cpu: 4000m
# memory: 4Gi
🧰 Tools
🪛 YAMLlint (1.37.1)

[error] 95-95: trailing spaces

(trailing-spaces)

🤖 Prompt for AI Agents
In packages/apps/postgres/values.yaml at lines 92 to 95, remove any trailing
whitespace characters from the blank line 95 to satisfy yamllint requirements
and unblock the CI process. Ensure the line is completely empty with no spaces
or tabs at the end.

Comment thread packages/apps/ferretdb/README.md Outdated
Comment thread packages/apps/vpn/README.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (5)
packages/apps/postgres/values.yaml (1)

92-95: Trailing whitespace is still breaking yamllint.

CI will remain red until the stray spaces on the otherwise-blank line 95 are deleted.
Same issue was raised earlier ⬆️ — please clean it up:

- 
+
packages/apps/ferretdb/README.md (1)

56-57: Parameter name still inconsistent (resourcePreset vs resourcesPreset)

The singular form here contradicts the plural resourcesPreset introduced earlier (line 39) and elsewhere in the repo.

Same remark was given on the previous commit and still applies.

packages/apps/vpn/README.md (1)

50-51: Parameter name still inconsistent (resourcePreset → resourcesPreset)
Previous review already flagged this; singular form remains. Please update for consistency with the rest of the doc and chart values.

-`resourcePreset` sets named CPU and memory configurations for each replica.
+`resourcesPreset` sets named CPU and memory configurations for each replica.
packages/apps/mysql/values.yaml (1)

63-63: Trailing whitespace still present – linter will fail.

Same issue flagged earlier; please strip the lone space on this otherwise blank line.

- 
+
packages/apps/nats/README.md (1)

10-14: replicas description still incorrect – it denotes pod count, not PVC size.

This copy-paste error was raised in an earlier review but hasn’t been fixed yet.

-| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
+| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |
🧹 Nitpick comments (9)
packages/apps/rabbitmq/values.yaml (2)

48-48: Remove trailing whitespace to satisfy YAML lint.
YAMLlint flags line 48 for trailing spaces.

- #   memory: 4Gi␠
+ #   memory: 4Gi

49-50: Double-check the preset list stays in sync across charts.
If another chart later adds or removes a preset, keeping this list manually could drift. Consider creating a single source of truth (e.g., a shared README snippet or schema enum) and referencing it here.

packages/apps/ferretdb/README.md (1)

3-6: Minor style fixes: add hyphen & definite article

Consider tightening the opening paragraph:

-FerretDB is an open source MongoDB alternative.
-It translates MongoDB wire protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
-Internally, FerretDB service is backed by Postgres.
+FerretDB is an open-source MongoDB alternative.
+It translates MongoDB wire-protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
+Internally, the FerretDB service is backed by Postgres.
packages/apps/redis/values.yaml (1)

18-20: Trim the trailing whitespace to satisfy YAML linting

yamllint is flagging line 20 for trailing spaces. Although harmless at runtime, it will fail CI linting. Simply remove the extra spaces on the blank line.

- 
+
packages/apps/vpn/README.md (1)

33-34: Comma missing after the introductory clause
Readability suffers a bit here—add a comma after “specified”.

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | List of externalIPs for service. Optional. If not specified, will use a LoadBalancer service by default.                               | `[]`   |
packages/apps/mysql/values.yaml (1)

58-62: Documentation for resources is precise now – consider aligning the example indentation.

Nice clarification that presets apply when the map is empty.
Minor nit: the commented-out example block is indented one space deeper than the actual key, which can look inconsistent when users copy/paste.

- # resources:
- #   cpu: 4000m
- #   memory: 4Gi
+ # resources:
+ #   cpu: 4000m
+ #   memory: 4Gi
packages/apps/clickhouse/README.md (1)

6-6: Add missing article for grammatical clarity

### How to restore backup from S3 → ### How to restore a backup from S3
Minor grammar fix that improves readability without altering meaning.

-### How to restore backup from S3
+### How to restore a backup from S3
packages/apps/nats/values.yaml (1)

65-72: Trim trailing whitespace & keep YAML lint-clean.

Line 70 (# memory: 4Gi␠) has a trailing space that YAMLlint is already flagging. Please drop it to keep the chart lint-clean.

- #   memory: 4Gi␠
+ #   memory: 4Gi
packages/apps/nats/README.md (1)

3-5: Hyphenate “high-performance”.

Minor terminology nit: “high-performance” is a compound adjective and should be hyphenated.

-NATS is an open-source, simple, secure, and high performance messaging system.
+NATS is an open-source, simple, secure, and high-performance messaging system.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5b402cc and 7092f1e.

📒 Files selected for processing (48)
  • packages/apps/bucket/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/Chart.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/Chart.yaml (1 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/Chart.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/Chart.yaml (1 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/Chart.yaml (1 hunks)
  • packages/apps/postgres/README.md (4 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/Chart.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/Chart.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/versions_map (9 hunks)
  • packages/apps/vpn/Chart.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
✅ Files skipped from review due to trivial changes (4)
  • packages/apps/clickhouse/Chart.yaml
  • packages/apps/http-cache/values.yaml
  • packages/apps/ferretdb/values.schema.json
  • packages/apps/vpn/values.yaml
🚧 Files skipped from review as they are similar to previous changes (35)
  • packages/apps/nats/Chart.yaml
  • packages/apps/rabbitmq/Chart.yaml
  • packages/apps/ferretdb/Chart.yaml
  • packages/apps/redis/Chart.yaml
  • packages/apps/postgres/Chart.yaml
  • packages/apps/http-cache/Chart.yaml
  • packages/apps/bucket/Chart.yaml
  • packages/apps/vpn/Chart.yaml
  • packages/apps/tcp-balancer/Chart.yaml
  • packages/apps/redis/values.schema.json
  • packages/apps/kafka/Chart.yaml
  • packages/apps/nats/values.schema.json
  • packages/apps/mysql/README.md
  • packages/apps/versions_map
  • packages/apps/rabbitmq/README.md
  • packages/apps/tcp-balancer/values.schema.json
  • packages/apps/kafka/values.yaml
  • packages/apps/http-cache/values.schema.json
  • packages/apps/clickhouse/values.schema.json
  • packages/apps/rabbitmq/values.schema.json
  • packages/apps/tcp-balancer/values.yaml
  • packages/apps/kubernetes/values.yaml
  • packages/apps/ferretdb/values.yaml
  • packages/apps/kafka/README.md
  • packages/apps/postgres/values.schema.json
  • packages/apps/clickhouse/values.yaml
  • packages/apps/vpn/values.schema.json
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/kubernetes/README.md
  • packages/apps/redis/README.md
  • packages/apps/kafka/values.schema.json
  • packages/apps/http-cache/README.md
  • packages/apps/postgres/README.md
  • packages/apps/mysql/values.schema.json
  • packages/apps/tcp-balancer/README.md
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/ferretdb/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/postgres/values.yaml (1)
Learnt from: lllamnyp
PR: cozystack/cozystack#1092
File: .github/workflows/pull-requests.yaml:90-94
Timestamp: 2025-06-23T11:01:31.400Z
Learning: In GitHub Actions YAML workflows, multi-line strings under `run:` without block scalars (| or >) are automatically folded by YAML into single-line commands. This is correct behavior and doesn't require using block scalars with backslashes for line continuation.
🪛 LanguageTool
packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 YAMLlint (1.37.1)
packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Build
🔇 Additional comments (5)
packages/apps/rabbitmq/values.yaml (1)

43-45: Comment docs look spot-on.
The rewording clarifies the fallback behavior and aligns with the pattern used in other charts.

packages/apps/postgres/values.yaml (1)

90-91: Description clarification looks good.

The re-worded explanation for resources accurately conveys the fallback behaviour to resourcesPreset. 👍

packages/apps/ferretdb/README.md (1)

59-67: Verify CPU value for the medium preset

medium currently lists 500m CPU, identical to small, while memory doubles.
Confirm whether CPU should remain 500m or increase (e.g., 1) to keep the preset ordering intuitive.

If an update is needed, adjust the table and any corresponding schema defaults.

packages/apps/mysql/values.yaml (2)

40-48: Good catch on the typo; comment is now clear.

The correction from “pereiodic” to “periodic” eliminates a readability glitch – no further action required.


64-65: Allowed values list is helpful – double-check ordering across charts.

The enumeration matches other charts in this PR; just ensure the sequence (none, nano, …) is identical everywhere so that autogenerated docs don’t diverge.

Comment thread packages/apps/clickhouse/README.md Outdated
Comment thread packages/apps/nats/README.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (8)
packages/apps/vpn/README.md (1)

50-52: Inconsistent parameter name – still uses singular form.

Earlier lines (34-35) correctly use resourcesPreset; here it reverts to resourcePreset. This repeats the issue flagged in the last review.

packages/apps/mysql/values.yaml (1)

60-63: Trailing whitespace still breaks YAML-lint.

Line 63 contains stray spaces that keep failing YAMLlint (see previous review). Please trim them:

- 
+
packages/apps/ferretdb/README.md (1)

56-57: Parameter name typo – still using singular resourcePreset

The earlier table (line 39) introduces the parameter as resourcesPreset (plural). Using the singular form here breaks copy-paste consistency and will confuse users.

-`resourcePreset` sets named CPU and memory configurations for each replica.
+`resourcesPreset` sets named CPU and memory configurations for each replica.
packages/apps/postgres/values.yaml (1)

95-95: Trailing whitespace still breaks yamllint – please delete it.

CI will stay red until the blank line 95 is truly empty (no spaces/tabs). This was already flagged in previous review rounds but the whitespace remains.

- 
+
packages/apps/clickhouse/README.md (1)

69-70: Spelling still inconsistent with the rest of the docs

Property is written as resourcePreset; everywhere else (including the table header on line 54) it is resourcesPreset.

-`resourcePreset` sets named CPU and memory configurations for each replica.
+`resourcesPreset` sets named CPU and memory configurations for each replica.
packages/apps/nats/values.yaml (1)

4-6: replicas description is still incorrect (copy-paste artefact).
As raised in earlier reviews, this comment should describe the number of NATS pod replicas, not a “Persistent Volume size”.

packages/apps/nats/README.md (2)

10-14: replicas row still uses the wrong description.
The table should say “Number of NATS pod replicas”, not “Persistent Volume size for NATS”.


36-38: Property name typo persists – should be resourcesPreset.

-`resourcePreset` sets named CPU and memory configurations for each replica.
+`resourcesPreset` sets named CPU and memory configurations for each replica.
🧹 Nitpick comments (9)
packages/apps/rabbitmq/values.yaml (1)

46-49: Trim trailing whitespace to satisfy YAML-lint

Line 48 contains only spaces, triggering the reported trailing-spaces lint error.

- 
+
packages/apps/vpn/README.md (2)

6-6: Avoid bare URLs – convert to Markdown links.

Inline URLs violate MD034 and reduce readability. Replace with a markdown-formatted link:

- - VPN client applications: https://shadowsocks5.github.io/en/download/clients.html
+- [VPN client applications](https://shadowsocks5.github.io/en/download/clients.html)

33-34: Minor punctuation fix improves clarity.

Add a comma after “Optional” to separate the clause:

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | List of externalIPs for service. Optional, if not specified will use a LoadBalancer service by default.                                | `[]`   |
packages/apps/redis/values.yaml (1)

21-22: Minor phrasing improvement (optional).

To keep the wording parallel with the previous comment, consider adding “when” so both comments read consistently:

-## @param resourcesPreset Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.
+## @param resourcesPreset Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.

(This is purely stylistic; feel free to skip if you prefer the current wording.)

packages/apps/ferretdb/README.md (1)

3-6: Minor wording polish

Hyphenate the compound adjective “open-source” and add the definite article for clarity.

-FerretDB is an open source MongoDB alternative.
+FerretDB is an open-source MongoDB alternative.

-Internally, FerretDB service is backed by Postgres.
+Internally, the FerretDB service is backed by Postgres.
packages/apps/clickhouse/README.md (1)

6-6: Fix heading level to comply with Markdown lint rule

### jumps two levels after the top-level #.
Change to ## to satisfy MD001 and keep the outline flat.

-### How to restore backup from S3
+## How to restore backup from S3
packages/apps/nats/values.yaml (1)

70-70: Strip trailing whitespace.
YAML lint flags an unnecessary trailing space on this blank line; remove it to stay tidy.

- 
+
packages/apps/nats/README.md (2)

3-5: Hyphenate the compound adjective “high-performance”.

-NATS is an open-source, simple, secure, and high performance messaging system.
+NATS is an open-source, simple, secure, and high-performance messaging system.

41-45: Values in the preset table look inconsistent.

  • small and medium both list 500m CPU – likely a copy error.
  • large/xlarge/2xlarge show integer cores without unit; consider using 1000m, 2000m, 4000m for consistency with other rows.
-| `small`     | `500m` | `512Mi` |
-| `medium`    | `500m` | `1Gi`   |
-| `large`     | `1`    | `2Gi`   |
+| `small`     | `500m`  | `512Mi` |
+| `medium`    | `1000m` | `1Gi`   |
+| `large`     | `2000m` | `2Gi`   |
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7092f1e and ba9d3f4.

📒 Files selected for processing (48)
  • packages/apps/bucket/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/Chart.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/Chart.yaml (1 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/Chart.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/Chart.yaml (1 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/Chart.yaml (1 hunks)
  • packages/apps/postgres/README.md (4 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/Chart.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/Chart.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/versions_map (9 hunks)
  • packages/apps/vpn/Chart.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
✅ Files skipped from review due to trivial changes (3)
  • packages/apps/clickhouse/Chart.yaml
  • packages/apps/vpn/values.yaml
  • packages/apps/ferretdb/values.schema.json
🚧 Files skipped from review as they are similar to previous changes (36)
  • packages/apps/http-cache/Chart.yaml
  • packages/apps/vpn/Chart.yaml
  • packages/apps/bucket/Chart.yaml
  • packages/apps/rabbitmq/Chart.yaml
  • packages/apps/nats/Chart.yaml
  • packages/apps/tcp-balancer/Chart.yaml
  • packages/apps/redis/Chart.yaml
  • packages/apps/postgres/Chart.yaml
  • packages/apps/ferretdb/Chart.yaml
  • packages/apps/kafka/Chart.yaml
  • packages/apps/versions_map
  • packages/apps/nats/values.schema.json
  • packages/apps/tcp-balancer/values.schema.json
  • packages/apps/redis/values.schema.json
  • packages/apps/tcp-balancer/values.yaml
  • packages/apps/kubernetes/values.yaml
  • packages/apps/http-cache/values.yaml
  • packages/apps/rabbitmq/values.schema.json
  • packages/apps/clickhouse/values.schema.json
  • packages/apps/vpn/values.schema.json
  • packages/apps/postgres/values.schema.json
  • packages/apps/clickhouse/values.yaml
  • packages/apps/http-cache/values.schema.json
  • packages/apps/kubernetes/README.md
  • packages/apps/http-cache/README.md
  • packages/apps/kafka/values.yaml
  • packages/apps/redis/README.md
  • packages/apps/ferretdb/values.yaml
  • packages/apps/mysql/README.md
  • packages/apps/tcp-balancer/README.md
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/rabbitmq/README.md
  • packages/apps/kafka/values.schema.json
  • packages/apps/kafka/README.md
  • packages/apps/postgres/README.md
  • packages/apps/mysql/values.schema.json
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/ferretdb/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/postgres/values.yaml (1)
Learnt from: lllamnyp
PR: cozystack/cozystack#1092
File: .github/workflows/pull-requests.yaml:90-94
Timestamp: 2025-06-23T11:01:31.400Z
Learning: In GitHub Actions YAML workflows, multi-line strings under `run:` without block scalars (| or >) are automatically folded by YAML into single-line commands. This is correct behavior and doesn't require using block scalars with backslashes for line continuation.
🪛 LanguageTool
packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 markdownlint-cli2 (0.17.2)
packages/apps/clickhouse/README.md

6-6: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

packages/apps/vpn/README.md

6-6: Bare URL used

(MD034, no-bare-urls)

🪛 YAMLlint (1.37.1)
packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

🔇 Additional comments (10)
packages/apps/rabbitmq/values.yaml (2)

43-45: Clarity of resources description looks good

The re-phrased comment precisely states the per-replica scope and the fallback behaviour—nice improvement for chart users.


49-51: Enumerating allowed preset values is helpful

Explicitly listing none, nano, micro, small, medium, large, xlarge, 2xlarge removes ambiguity and aligns with other charts. 👍

packages/apps/vpn/README.md (1)

53-61: Verify medium preset CPU value – looks identical to small.

Both small and medium list 500m CPU. If that’s intentional, ignore; if not, update the table or the chart values to reflect the intended scaling step (e.g., 1 CPU for medium).

packages/apps/mysql/values.yaml (2)

40-45: Typo fixed – looks good.

The wording change from “pereiodic” to “periodic” is correct and improves readability.


58-59: Clearer parameter descriptions add real value.

The re-phrased comments for resources and resourcesPreset accurately convey intent and list the allowed presets. Nice consistency with the rest of the charts.

Also applies to: 64-65

packages/apps/redis/values.yaml (1)

15-19: Comment header wording looks good – no action needed.

The clarified description for resources accurately conveys the override behaviour and uses concise language.

packages/apps/postgres/values.yaml (1)

90-91: Docs wording is clear and consistent with other charts.

The new descriptions accurately convey the resources ⇢ resourcesPreset fallback and list the allowed presets, matching the pattern used across the other apps in this PR.
Nothing else to address here. 👍

Also applies to: 96-97

packages/apps/clickhouse/README.md (2)

53-55: “none” preset documented but not defined below

The description states that resourcesPreset may be set to none, yet the reference table (lines 72-80) omits that row. Either drop none from the allowed-values sentence or add the row to the table to avoid ambiguity.


72-80: Validate sizing values for “medium” preset

medium currently shows 500m CPU, identical to small. That defeats the purpose of having distinct presets.
Confirm whether medium should be 1 CPU (or similar) to preserve a logical progression.

Example fix if appropriate:

-| `medium`    | `500m` | `1Gi`   |
+| `medium`    | `1`    | `1Gi`   |
packages/apps/nats/values.yaml (1)

65-66: Descriptions read well – no action needed.
The clarification that an empty resources block triggers the preset fallback is precise and matches the pattern adopted across other charts.

# resources:
# cpu: 4000m
# memory: 4Gi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Remove trailing whitespace to satisfy yamllint.

Line 20 is an empty line that still contains a space character. This is flagged by yamllint (trailing-spaces) and will fail CI for repositories that gate on lint.

- 
+
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
🧰 Tools
🪛 YAMLlint (1.37.1)

[error] 20-20: trailing spaces

(trailing-spaces)

🤖 Prompt for AI Agents
In packages/apps/redis/values.yaml at line 20, remove the trailing whitespace on
the empty line to comply with yamllint rules and prevent CI failures due to
trailing spaces.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (8)
packages/apps/redis/values.yaml (1)

20-20: Remove trailing whitespace to satisfy yamllint.

packages/apps/postgres/values.yaml (1)

94-95: Trailing whitespace still breaks yamllint

Line 95 is an empty line that ends with one or more space characters. CI will remain red until those are removed.

- 
+
packages/apps/rabbitmq/values.yaml (1)

48-48: Strip trailing whitespace to keep yamllint green

yamllint still reports trailing-spaces on this otherwise-blank line. Delete the stray spaces/tabs altogether.

-
+
packages/apps/nats/values.yaml (2)

4-6: replicas docstring still says “Persistent Volume size” – should describe pod count

This was flagged in earlier reviews but hasn’t been fixed. It should read “Number of NATS pod replicas” to avoid confusing operators.

-## @param replicas Persistent Volume size for NATS
+## @param replicas Number of NATS pod replicas

70-70: Trailing whitespace breaks YAML-lint

Line 70 contains an invisible space that continues to fail the trailing-spaces rule and will keep CI red.

-␠
+
packages/apps/nats/README.md (1)

13-14: Parameter table still uses wrong description for replicas

It should identify the number of pod replicas, not a volume size.

-| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
+| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |
packages/apps/mysql/values.yaml (1)

60-64: Strip the trailing whitespace at line 63 to appease YAMLlint

The blank line currently ends with a stray space, and YAMLlint still flags trailing-spaces.
Please delete the whitespace char.

- 
+
packages/apps/mysql/README.md (1)

141-148: Fix invalid YAML indentation in the databases example

List items must be nested under their role keys; otherwise the example will not parse.

       admin:
-      - user1
+        - user1
       readonly:
-      - user2
+        - user2
🧹 Nitpick comments (13)
packages/apps/ferretdb/README.md (1)

3-6: Minor wording tweaks for clarity & style

Small grammar polish:

-FerretDB is an open source MongoDB alternative.
+FerretDB is an open-source MongoDB alternative.

-Internally, FerretDB service is backed by Postgres.
+Internally, the FerretDB service is backed by Postgres.

Hyphenates the compound adjective and adds the missing article.
No functional impact—purely readability.

packages/apps/postgres/values.yaml (2)

90-97: Minor wording / behaviour mismatch

resourcesPreset docs list the value none, yet the comment above states the preset is applied only “when resources is omitted”.
Clarify whether setting resourcesPreset: none should completely disable limits or whether an empty string is required.


60-64: Typo: “pereiodic” → “periodic”

-## @param backup.enabled Enable pereiodic backups
+## @param backup.enabled Enable periodic backups
packages/apps/clickhouse/README.md (3)

6-6: Grammar tweak: add the missing determiner

How to restore backup from S3 → How to restore **a** backup from S3
Minor readability nit.


72-80: Include the none preset in the reference table

The description lists none as an allowed value, but the table omits it.
Add a row (CPU/memory left blank or -) so users see the full set of options.


63-67: Provide a matching resourcesPreset YAML snippet

You show a flat-format resources example, but not the corresponding preset usage. A quick snippet helps users copy-paste correctly.

resourcesPreset: "large"

Consider appending this right after the resources example block.

packages/apps/rabbitmq/values.yaml (1)

49-50: Consider adding "none" to the example list

Since "none" is an allowed value, showing it explicitly in the list keeps the docs self-contained and avoids guesswork.

packages/apps/nats/README.md (1)

3-4: Hyphenate compound adjective “high-performance”

Minor style nit: “high-performance messaging system” reads better and matches docs elsewhere.

-NATS is an open-source, simple, secure, and high performance messaging system.
+NATS is an open-source, simple, secure, and high-performance messaging system.
packages/apps/vpn/README.md (4)

6-6: Prefer Markdown reference-style links over bare URLs

lint-rule MD034 flags this bare URL.
Switching to [VPN client applications](https://shadowsocks5.github.io/en/download/clients.html) keeps the doc compliant and renders nicer.

- - VPN client applications: https://shadowsocks5.github.io/en/download/clients.html
+ - [VPN client applications](https://shadowsocks5.github.io/en/download/clients.html)

33-34: Insert a comma for grammatical clarity

The LanguageTool hint is right – a comma after “specified” avoids a run-on sentence.

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | List of externalIPs for service. Optional. If not specified, will use a LoadBalancer service by default.                              | `[]`   |

41-48: Clarify how flat cpu / memory keys are mapped

Readers unfamiliar with Cozy-lib might wonder whether these flat keys become requests, limits, or both. A short note avoids ambiguity and aligns with the behavior described in cozy-lib.resources.sanitize.

-`resources` sets explicit CPU and memory configurations for each replica.
+`resources` sets explicit CPU and memory requests/limits for each replica.  
+Flat keys (`cpu`, `memory`) are automatically applied to *both* `requests` and `limits` by `cozy-lib.resources.sanitize`.

53-61: Use consistent CPU units in the preset table

Most rows use m units; the small/medium rows switch to bare integers. Stick to one style (e.g., 1000m) for readability.

-| `small`     | `1`    | `512Mi` |
-| `medium`    | `1`    | `1Gi`   |
+| `small`     | `1000m`| `512Mi` |
+| `medium`    | `1000m`| `1Gi`   |
packages/apps/mysql/README.md (1)

50-50: Replace bare URL with a Markdown link to satisfy MD034

Markdown-lint warns on bare URLs. Re-format the bullet as:

-- https://blog.aenix.io/restic-effective-backup-from-stdin-4bc1e8f083c1
+- [Restic: effective backup from stdin](https://blog.aenix.io/restic-effective-backup-from-stdin-4bc1e8f083c1)
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between af22702 and fe70640.

📒 Files selected for processing (47)
  • packages/apps/clickhouse/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/Chart.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/Chart.yaml (1 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/Chart.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/Chart.yaml (1 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/Chart.yaml (1 hunks)
  • packages/apps/postgres/README.md (4 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/Chart.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/Chart.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/versions_map (8 hunks)
  • packages/apps/vpn/Chart.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
✅ Files skipped from review due to trivial changes (2)
  • packages/apps/vpn/values.yaml
  • packages/apps/ferretdb/values.schema.json
🚧 Files skipped from review as they are similar to previous changes (35)
  • packages/apps/redis/Chart.yaml
  • packages/apps/tcp-balancer/Chart.yaml
  • packages/apps/clickhouse/Chart.yaml
  • packages/apps/vpn/Chart.yaml
  • packages/apps/postgres/Chart.yaml
  • packages/apps/ferretdb/Chart.yaml
  • packages/apps/nats/Chart.yaml
  • packages/apps/rabbitmq/Chart.yaml
  • packages/apps/kafka/Chart.yaml
  • packages/apps/kafka/values.yaml
  • packages/apps/clickhouse/values.schema.json
  • packages/apps/tcp-balancer/values.schema.json
  • packages/apps/nats/values.schema.json
  • packages/apps/tcp-balancer/values.yaml
  • packages/apps/kubernetes/values.yaml
  • packages/apps/redis/values.schema.json
  • packages/apps/rabbitmq/values.schema.json
  • packages/apps/http-cache/Chart.yaml
  • packages/apps/postgres/values.schema.json
  • packages/apps/kafka/values.schema.json
  • packages/apps/http-cache/values.yaml
  • packages/apps/http-cache/values.schema.json
  • packages/apps/vpn/values.schema.json
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/http-cache/README.md
  • packages/apps/versions_map
  • packages/apps/clickhouse/values.yaml
  • packages/apps/kafka/README.md
  • packages/apps/tcp-balancer/README.md
  • packages/apps/ferretdb/values.yaml
  • packages/apps/rabbitmq/README.md
  • packages/apps/redis/README.md
  • packages/apps/postgres/README.md
  • packages/apps/kubernetes/README.md
  • packages/apps/mysql/values.schema.json
🧰 Additional context used
🧠 Learnings (7)
📓 Common learnings
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
packages/apps/clickhouse/README.md (3)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
Learnt from: lllamnyp
PR: cozystack/cozystack#1025
File: packages/apps/kafka/charts/cozy-lib:1-1
Timestamp: 2025-06-04T06:22:17.306Z
Learning: Files in packages/apps/*/charts/cozy-lib that contain the path "../../../library/cozy-lib" are symbolic links, not regular files. Git diffs may display symlinks as regular files with their target path as content, which can be misleading in code review.
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/ferretdb/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/nats/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
packages/apps/nats/values.yaml (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
packages/apps/postgres/values.yaml (1)
Learnt from: lllamnyp
PR: cozystack/cozystack#1092
File: .github/workflows/pull-requests.yaml:90-94
Timestamp: 2025-06-23T11:01:31.400Z
Learning: In GitHub Actions YAML workflows, multi-line strings under `run:` without block scalars (| or >) are automatically folded by YAML into single-line commands. This is correct behavior and doesn't require using block scalars with backslashes for line continuation.
packages/apps/redis/values.yaml (1)
Learnt from: lllamnyp
PR: cozystack/cozystack#1092
File: .github/workflows/pull-requests.yaml:90-94
Timestamp: 2025-06-23T11:01:31.400Z
Learning: In GitHub Actions YAML workflows, multi-line strings under `run:` without block scalars (| or >) are automatically folded by YAML into single-line commands. This is correct behavior and doesn't require using block scalars with backslashes for line continuation.
🪛 LanguageTool
packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 markdownlint-cli2 (0.17.2)
packages/apps/mysql/README.md

50-50: Bare URL used

(MD034, no-bare-urls)

packages/apps/vpn/README.md

6-6: Bare URL used

(MD034, no-bare-urls)

🪛 YAMLlint (1.37.1)
packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

🔇 Additional comments (3)
packages/apps/redis/values.yaml (1)

15-16: Documentation clarification looks good.

The re-phrased description clearly communicates the fallback behaviour when resources is empty. No further action needed.

packages/apps/rabbitmq/values.yaml (1)

43-44: 👍 Clearer description of resources behaviour

The rewording precisely explains the fallback to resourcesPreset; good documentation improvement.

packages/apps/nats/values.yaml (1)

65-66: Clarity improvement acknowledged

The new wording clearly states the precedence between resources and resourcesPreset. Nice!

Comment on lines +38 to +40
| `resources` | Explicit CPU and memory configuration for each FerretDB replica. When left empty, the preset defined in `resourcesPreset` is applied. | `{}` |
| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge. | `nano` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

none preset advertised but missing from reference table

The description says the allowed values include none, yet the table omits it. This inconsistency will confuse users and may lead to failed validation when they copy-paste from the doc.

Add a row (preferred) or drop none from the description—just keep both sections aligned. Example addition:

| Preset name | CPU    | memory  |
|-------------|--------|---------|
+| `none`      | `—`    | `—`     |
| `nano`      | `250m` | `128Mi` |

If the chart internally accepts none, documenting the “no limits” case explicitly is clearer.

Also applies to: 59-67

🤖 Prompt for AI Agents
In packages/apps/ferretdb/README.md around lines 38 to 40, the description lists
'none' as an allowed value for the resourcesPreset but the table does not
include a row for 'none'. To fix this, add a new row to the table explicitly
documenting the 'none' preset and its meaning (e.g., no resource limits) to keep
the description and table consistent. Also, apply the same fix to lines 59 to 67
where a similar discrepancy exists.

Comment thread packages/apps/clickhouse/README.md
- Change wording for `resources` and `resourcesPreset` variables.
- Explain and give exampls of other object-type variables,
  if their child fields are not annotated.
- Fix a few typos, improve wording.
- Bump all application charts to ensure that new texts are shown
  immediately after updating Cozystack.

Co-authored-by: Andrei Kvapil <[email protected]>
Signed-off-by: Nick Volynkin <[email protected]>
Signed-off-by: Andrei Kvapil <[email protected]>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (8)
packages/apps/rabbitmq/values.yaml (1)

48-48: Eliminate trailing whitespace on the empty line to satisfy yamllint.

yamllint still reports trailing spaces on line 48. Delete all spaces/tabs so the line is truly blank; otherwise CI will keep failing.

packages/apps/redis/values.yaml (1)

20-20: Trailing whitespace still breaks yamllint

The extra space on this otherwise-blank line continues to trigger the trailing-spaces rule and will fail CI.

- 
+
packages/apps/postgres/values.yaml (1)

90-95: Trailing whitespace is still breaking yamllint – please strip it out.

CI keeps failing because blank line 95 (and the three commented example lines above) end with stray spaces.
Same issue was flagged twice before and remains unresolved.

- # resources:␠
- #   cpu: 4000m␠
- #   memory: 4Gi␠
- ␠
+# resources:
+#   cpu: 4000m
+#   memory: 4Gi
+

Remove every trailing space (␠) and keep an actually empty line at 95 to get the linter green again.

packages/apps/mysql/values.yaml (1)

63-63: Strip the trailing whitespace to satisfy YAML-lint
This exact issue was flagged earlier; the linter still reports line 63. Remove the stray spaces to unblock CI.

- 
+
packages/apps/nats/values.yaml (2)

4-6: Description for replicas still wrong – it should reflect replica count, not storage size.
This was already flagged in a previous review but remains unchanged.

-## @param replicas Persistent Volume size for NATS
+## @param replicas Number of NATS pod replicas

65-70: Remove trailing whitespace at line 70 – YAML-lint will fail CI.

YAMLlint (trailing-spaces) is still complaining about this exact blank line.

- #   memory: 4Gi␠
+ #   memory: 4Gi
-
packages/apps/nats/README.md (1)

10-15: replicas row still shows “Persistent Volume size” – should state pod count.

Same issue previously reported; update to avoid misleading operators.

-| `replicas`          | Persistent Volume size for NATS                                                                                                   | `2`     |
+| `replicas`          | Number of NATS pod replicas                                                                                                        | `2`     |
packages/apps/clickhouse/README.md (1)

43-55: resources* rows are still inside the Backup parameters table
This duplicates the earlier feedback: resource-sizing knobs are unrelated to backups and deserve their own “Resources parameters” table (or belong in Common parameters). Leaving them here buries an important tuning option where users won’t look for it.

🧹 Nitpick comments (11)
packages/apps/rabbitmq/values.yaml (1)

43-47: Provide both flat and nested examples for resources to avoid ambiguity.

The comment mentions that explicit CPU/memory can be set, but the sample only shows the flat format:

resources:
  cpu: 4000m
  memory: 4Gi

Given that cozy-lib.resources.sanitize accepts both flat and the canonical limits/requests structure, consider expanding the example to include both variants, e.g.:

# Flat (takes priority)
# resources:
#   cpu: 4000m
#   memory: 4Gi
#
# Canonical Kubernetes style
# resources:
#   limits:
#     cpu: 4000m
#     memory: 4Gi
#   requests:
#     cpu: 2000m
#     memory: 2Gi

This makes the accepted formats explicit and helps users avoid configuration errors.

packages/apps/redis/values.yaml (1)

15-19: Consider adding a nested example for clarity

Great clarification overall. Because cozy-lib.resources.sanitize accepts both flat and the standard requests / limits structure, it could be helpful to illustrate the latter alongside the flat example to avoid any ambiguity for users coming from vanilla Helm charts.

 # resources:
 #   cpu: 4000m
 #   memory: 4Gi
+#   # or, using standard k8s format
+#   limits:
+#     cpu: "4"
+#     memory: 4Gi
+#   requests:
+#     cpu: "2"
+#     memory: 2Gi
packages/apps/ferretdb/README.md (2)

59-66: Use consistent CPU units across presets
Most rows specify milli-cores (m) except small, medium, and large, which use bare integers. For clarity and copy-pastability, stick to one unit style (m or whole cores).

-| `small`     | `1`    | `512Mi` |
-| `medium`    | `1`    | `1Gi`   |
-| `large`     | `3`    | `2Gi`   |
+| `small`     | `1000m`| `512Mi` |
+| `medium`    | `1000m`| `1Gi`   |
+| `large`     | `3000m`| `2Gi`   |

3-6: Minor grammar touch-ups

  1. Compound adjective → “open-source” (hyphenated).
  2. Missing article → “the FerretDB service”.
-FerretDB is an open source MongoDB alternative.
-Internally, FerretDB service is backed by Postgres.
+FerretDB is an open-source MongoDB alternative.
+Internally, the FerretDB service is backed by Postgres.
packages/apps/vpn/README.md (4)

6-6: Convert bare URL to Markdown link to satisfy MD034

Markdown-lint flags this as a bare URL. Wrapping it in link markup both silences the linter and improves readability.

-- VPN client applications: https://shadowsocks5.github.io/en/download/clients.html
+- [VPN client applications](https://shadowsocks5.github.io/en/download/clients.html)

33-33: Missing comma after introductory clause

A small grammar fix for smoother reading.

-| `externalIPs`     | List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.                                   | `[]`   |
+| `externalIPs`     | List of externalIPs for the service. Optional. If not specified, will use a LoadBalancer service by default.                           | `[]`   |

41-48: Add nested limits/requests example for resource settings

cozy-lib.resources.sanitize supports both flat and nested formats (see retrieved learnings). Showing both styles prevents confusion and helps users pick the right one.

 ```yaml
 resources:
   cpu: 4000m
   memory: 4Gi
+
+# Equivalent nested format
+# resources:
+#   limits:
+#     cpu: 4000m
+#     memory: 4Gi
+#   requests:
+#     cpu: 4000m
+#     memory: 4Gi

---

`50-61`: **Use explicit units for `small` & `medium` CPU presets for consistency**

All other rows specify units (`m`).  Include `m` here to avoid readers mis-interpreting the value.

```diff
-| `small`     | `1`    | `512Mi` |
-| `medium`    | `1`    | `1Gi`   |
+| `small`     | `1000m`| `512Mi` |
+| `medium`    | `1000m`| `1Gi`   |
packages/apps/mysql/values.yaml (1)

58-62: Align the resources example with existing documentation style
Use the same “## Example:” preface and double-hash commented block you employ elsewhere (e.g. users, databases) to keep the README-style comments consistent and scannable.

- # resources:
- #   cpu: 4000m
- #   memory: 4Gi
+## Example:
+## resources:
+##   cpu: 4000m
+##   memory: 4Gi
packages/apps/nats/README.md (1)

3-5: Use a hyphen in “high-performance”.

Minor style fix to comply with common technical-writing conventions.

-NATS is an open-source, simple, secure, and high performance messaging system.
+NATS is an open-source, simple, secure, and high-performance messaging system.
packages/apps/clickhouse/README.md (1)

6-6: Add the missing article – “How to restore a backup from S3”
Minor grammar polish for professionalism and consistency with other headings.

-### How to restore backup from S3
+### How to restore a backup from S3
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fe70640 and 946fad8.

📒 Files selected for processing (36)
  • packages/apps/clickhouse/README.md (2 hunks)
  • packages/apps/clickhouse/values.schema.json (1 hunks)
  • packages/apps/clickhouse/values.yaml (1 hunks)
  • packages/apps/ferretdb/README.md (2 hunks)
  • packages/apps/ferretdb/values.schema.json (4 hunks)
  • packages/apps/ferretdb/values.yaml (4 hunks)
  • packages/apps/http-cache/README.md (2 hunks)
  • packages/apps/http-cache/values.schema.json (2 hunks)
  • packages/apps/http-cache/values.yaml (1 hunks)
  • packages/apps/kafka/README.md (1 hunks)
  • packages/apps/kafka/values.schema.json (2 hunks)
  • packages/apps/kafka/values.yaml (1 hunks)
  • packages/apps/kubernetes/README.md (1 hunks)
  • packages/apps/kubernetes/values.schema.json (4 hunks)
  • packages/apps/kubernetes/values.yaml (2 hunks)
  • packages/apps/mysql/README.md (3 hunks)
  • packages/apps/mysql/values.schema.json (2 hunks)
  • packages/apps/mysql/values.yaml (2 hunks)
  • packages/apps/nats/README.md (1 hunks)
  • packages/apps/nats/values.schema.json (1 hunks)
  • packages/apps/nats/values.yaml (1 hunks)
  • packages/apps/postgres/README.md (4 hunks)
  • packages/apps/postgres/values.schema.json (1 hunks)
  • packages/apps/postgres/values.yaml (1 hunks)
  • packages/apps/rabbitmq/README.md (1 hunks)
  • packages/apps/rabbitmq/values.schema.json (1 hunks)
  • packages/apps/rabbitmq/values.yaml (1 hunks)
  • packages/apps/redis/README.md (1 hunks)
  • packages/apps/redis/values.schema.json (1 hunks)
  • packages/apps/redis/values.yaml (1 hunks)
  • packages/apps/tcp-balancer/README.md (1 hunks)
  • packages/apps/tcp-balancer/values.schema.json (1 hunks)
  • packages/apps/tcp-balancer/values.yaml (1 hunks)
  • packages/apps/vpn/README.md (2 hunks)
  • packages/apps/vpn/values.schema.json (2 hunks)
  • packages/apps/vpn/values.yaml (3 hunks)
✅ Files skipped from review due to trivial changes (3)
  • packages/apps/ferretdb/values.schema.json
  • packages/apps/vpn/values.yaml
  • packages/apps/mysql/README.md
🚧 Files skipped from review as they are similar to previous changes (24)
  • packages/apps/tcp-balancer/values.schema.json
  • packages/apps/nats/values.schema.json
  • packages/apps/rabbitmq/values.schema.json
  • packages/apps/http-cache/values.schema.json
  • packages/apps/tcp-balancer/values.yaml
  • packages/apps/clickhouse/values.schema.json
  • packages/apps/kafka/values.yaml
  • packages/apps/postgres/values.schema.json
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/kafka/values.schema.json
  • packages/apps/redis/values.schema.json
  • packages/apps/vpn/values.schema.json
  • packages/apps/kafka/README.md
  • packages/apps/kubernetes/values.yaml
  • packages/apps/clickhouse/values.yaml
  • packages/apps/ferretdb/values.yaml
  • packages/apps/rabbitmq/README.md
  • packages/apps/http-cache/values.yaml
  • packages/apps/postgres/README.md
  • packages/apps/tcp-balancer/README.md
  • packages/apps/redis/README.md
  • packages/apps/http-cache/README.md
  • packages/apps/kubernetes/README.md
  • packages/apps/mysql/values.schema.json
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
packages/apps/clickhouse/README.md (3)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
Learnt from: lllamnyp
PR: cozystack/cozystack#1025
File: packages/apps/kafka/charts/cozy-lib:1-1
Timestamp: 2025-06-04T06:22:17.306Z
Learning: Files in packages/apps/*/charts/cozy-lib that contain the path "../../../library/cozy-lib" are symbolic links, not regular files. Git diffs may display symlinks as regular files with their target path as content, which can be misleading in code review.
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/ferretdb/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/ferretdb/README.md:35-37
Timestamp: 2025-07-02T09:58:11.385Z
Learning: In the cozystack repository, the maintainer NickVolynkin prefers to keep realistic-looking example credentials in README documentation rather than using generic placeholders like <ACCESS_KEY>, even though they are just examples and not real secrets.
packages/apps/nats/README.md (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
packages/apps/nats/values.yaml (1)
Learnt from: NickVolynkin
PR: cozystack/cozystack#1120
File: packages/apps/clickhouse/README.md:60-67
Timestamp: 2025-07-03T05:54:50.989Z
Learning: The `cozy-lib.resources.sanitize` function in packages/library/cozy-lib/templates/_resources.tpl supports both standard Kubernetes resource format (with limits:/requests: sections) and flat format (direct resource specifications). The flat format takes priority over nested values. CozyStack apps include cozy-lib as a chart dependency through symlinks in packages/apps/*/charts/cozy-lib directories.
packages/apps/postgres/values.yaml (1)
Learnt from: lllamnyp
PR: cozystack/cozystack#1092
File: .github/workflows/pull-requests.yaml:90-94
Timestamp: 2025-06-23T11:01:31.400Z
Learning: In GitHub Actions YAML workflows, multi-line strings under `run:` without block scalars (| or >) are automatically folded by YAML into single-line commands. This is correct behavior and doesn't require using block scalars with backslashes for line continuation.
🪛 LanguageTool
packages/apps/clickhouse/README.md

[uncategorized] ~6-~6: You might be missing the article “a” here.
Context: ... processing (OLAP). ### How to restore backup from S3 1. Find the snapshot: ``...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

packages/apps/ferretdb/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...anaged FerretDB Service FerretDB is an open source MongoDB alternative. It translates Mong...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...placement for MongoDB 5.0+. Internally, FerretDB service is backed by Postgres. ## Para...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

packages/apps/nats/README.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

packages/apps/vpn/README.md

[uncategorized] ~33-~33: A comma might be missing here.
Context: ...ternalIPs for service. Optional. If not specified will use LoadBalancer service by defaul...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 YAMLlint (1.37.1)
packages/apps/mysql/values.yaml

[error] 63-63: trailing spaces

(trailing-spaces)

packages/apps/nats/values.yaml

[error] 70-70: trailing spaces

(trailing-spaces)

packages/apps/postgres/values.yaml

[error] 95-95: trailing spaces

(trailing-spaces)

packages/apps/rabbitmq/values.yaml

[error] 48-48: trailing spaces

(trailing-spaces)

packages/apps/redis/values.yaml

[error] 20-20: trailing spaces

(trailing-spaces)

🪛 markdownlint-cli2 (0.17.2)
packages/apps/vpn/README.md

6-6: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Build
🔇 Additional comments (3)
packages/apps/redis/values.yaml (1)

21-22: LGTM – description now matches preset behaviour

The re-worded comment is precise and consistently formatted with the other charts in this PR. No further action needed.

packages/apps/postgres/values.yaml (1)

96-97: Confirm resourcesPreset value set matches library’s accepted enum.

Comment lists none, nano, micro, small, medium, large, xlarge, 2xlarge; default is "micro".
Double-check cozy-lib.resources.sanitize still recognises all of these (especially "none") to avoid silent fallback.

packages/apps/mysql/values.yaml (1)

40-40: Typo fix in backup comment is spot-on
pereiodic → periodic removes the distraction and keeps docs clean.

Comment on lines 26 to +34
### Backup parameters

| Name | Description | Value |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ |
| `backup.enabled` | Enable pereiodic backups | `false` |
| `backup.s3Region` | The AWS S3 region where backups are stored | `us-east-1` |
| `backup.s3Bucket` | The S3 bucket used for storing backups | `s3.example.org/postgres-backups` |
| `backup.schedule` | Cron schedule for automated backups | `0 2 * * *` |
| `backup.cleanupStrategy` | The strategy for cleaning up old backups | `--keep-last=3 --keep-daily=3 --keep-within-weekly=1m` |
| `backup.s3AccessKey` | The access key for S3, used for authentication | `oobaiRus9pah8PhohL1ThaeTa4UVa7gu` |
| `backup.s3SecretKey` | The secret key for S3, used for authentication | `ju3eum4dekeich9ahM1te8waeGai0oog` |
| `backup.resticPassword` | The password for Restic backup encryption | `ChaXoveekoh6eigh4siesheeda2quai0` |
| `resources` | Resources | `{}` |
| `resourcesPreset` | Use a common resources preset when `resources` is not set explicitly. (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge) | `nano` |
| Name | Description | Value |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| `backup.enabled` | Enable periodic backups | `false` |
| `backup.s3Region` | The AWS S3 region where backups are stored | `us-east-1` |
| `backup.s3Bucket` | The S3 bucket used for storing backups | `s3.example.org/postgres-backups` |
| `backup.schedule` | Cron schedule for automated backups | `0 2 * * *` |
| `backup.cleanupStrategy` | The strategy for cleaning up old backups | `--keep-last=3 --keep-daily=3 --keep-within-weekly=1m` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

resources fields are misplaced under “Backup parameters”
CPU/memory sizing is unrelated to backups and belongs either in “Common parameters” or its own “Resources” section. Keeping unrelated keys in the backup table makes navigation harder and will confuse readers.
Move the two rows for resources and resourcesPreset out of the backup table to the new dedicated section already added below.

Also applies to: 38-40

🤖 Prompt for AI Agents
In packages/apps/ferretdb/README.md around lines 26 to 34 and 38 to 40, the
`resources` and `resourcesPreset` fields are incorrectly listed under the
"Backup parameters" section. Move these two rows out of the backup parameters
table and place them into the new dedicated "Resources" section below to improve
clarity and organization.

Comment on lines +39 to +40
| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge. | `nano` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add the missing none preset row to keep description & reference table in sync
resourcesPreset description lists none as an allowed value, yet the table omits it. Readers who copy the table will assume none is invalid, and automated docs-to-schema linters may flag the mismatch.

 | Preset name | CPU    | memory  |
 |-------------|--------|---------|
+| `none`      | `—`    | `—`     |
 | `nano`      | `250m` | `128Mi` |
 | `micro`     | `500m` | `256Mi` |

Also applies to: 59-67

🤖 Prompt for AI Agents
In packages/apps/ferretdb/README.md at lines 39-40 and also lines 59-67, the
table listing resource presets is missing the row for the 'none' preset, which
is mentioned as an allowed value in the description. Add a new row for the
'none' preset in both tables to keep the description and reference tables
consistent, ensuring the 'none' preset is clearly documented and recognized by
readers and linters.

Comment on lines +72 to +80
| Preset name | CPU | memory |
|-------------|--------|---------|
| `nano` | `250m` | `128Mi` |
| `micro` | `500m` | `256Mi` |
| `small` | `1` | `512Mi` |
| `medium` | `1` | `1Gi` |
| `large` | `3` | `2Gi` |
| `xlarge` | `4` | `4Gi` |
| `2xlarge` | `8` | `8Gi` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify that the preset reference table matches chart defaults

  1. The description above lists none as an allowed value, but the table omits it.
  2. medium shows the same CPU as small (1). Double-check against the actual preset map in values.yaml / templates; it might be 2.

Please confirm the real defaults and update the table to avoid misleading operators.


🏁 Script executed:

#!/usr/bin/env bash
# Extract preset map from all ClickHouse values files to cross-check CPU/memory
fd values.yaml packages/apps/clickhouse -x \
  awk '/^resourcesPreset:/,/^[^[:space:]]/{print FILENAME ":" NR ":" $0}' {}

Length of output: 186


🏁 Script executed:

#!/usr/bin/env bash
# Display the beginning of the values.yaml to locate preset definitions
sed -n '1,200p' packages/apps/clickhouse/values.yaml

Length of output: 2026


🏁 Script executed:

#!/usr/bin/env bash
# Locate resource preset mappings in values.yaml
rg -n 'resourcesPresets:' -A10 packages/apps/clickhouse/values.yaml || true
# Fallback: search for each preset key and its cpu/memory in values.yaml
for preset in nano micro small medium large xlarge 2xlarge; do
  rg -n "^\s*$preset:" -A2 packages/apps/clickhouse/values.yaml || true
done

# Also search chart templates for inline mappings or helpers
rg -n 'nano' -A3 packages/apps/clickhouse/templates || true
rg -n 'resourcesPreset' -A5 packages/apps/clickhouse/templates || true

Length of output: 2505


🏁 Script executed:

#!/usr/bin/env bash
# Extract the full resources preset mappings from the template to verify CPU/memory values
awk '/define "resources.preset"/,/^{{- end }}/' packages/apps/clickhouse/templates/_resources.tpl

Length of output: 1532


Update preset reference table to match chart defaults

The table in packages/apps/clickhouse/README.md (lines 72–80) needs these fixes:

  • Add the none preset (no default resources).
  • Correct CPU values to align with the resources.preset mapping in _resources.tpl.

Replace the existing snippet with:

| Preset name | CPU    | memory  |
|-------------|--------|---------|
| `none`      | `-`    | `-`     |
| `nano`      | `100m` | `128Mi` |
| `micro`     | `250m` | `256Mi` |
| `small`     | `500m` | `512Mi` |
| `medium`    | `500m` | `1Gi`   |
| `large`     | `1`    | `2Gi`   |
| `xlarge`    | `2`    | `4Gi`   |
| `2xlarge`   | `4`    | `8Gi`   |
🤖 Prompt for AI Agents
In packages/apps/clickhouse/README.md lines 72 to 80, update the preset resource
table to include the missing 'none' preset with '-' for CPU and memory, and
correct all CPU values to match the resources.preset mapping in _resources.tpl.
Replace the existing table with the provided corrected version that adjusts CPU
values and adds the 'none' preset as specified.

@kvaps Andrei Kvapil (kvaps) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants