Skip to content

Test Vale errors and warnings#6

Closed
BoHristova wants to merge 14 commits into
masterfrom
test-vale-errors-2
Closed

Test Vale errors and warnings#6
BoHristova wants to merge 14 commits into
masterfrom
test-vale-errors-2

Conversation

@BoHristova
Copy link
Copy Markdown
Owner

How to categorize this PR?

/kind TODO

What this PR does / why we need it:

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 15, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request updates the Shoot cluster creation and deletion guide documentation. The "Create a Shoot Cluster" section has been expanded to provide more explicit detail about applying the manifest to the Kubernetes API server, the controller's deployment behavior, and enhanced troubleshooting guidance including Seed kubeconfig acquisition, Shoot namespace identification, and worker-pool VM context. The delete section also includes a minor casing adjustment to the hack script link label.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is incomplete and lacks substantive content; all key sections ('What this PR does / why we need it', 'Which issue(s) this PR fixes', and 'Special notes for your reviewer') are left empty despite the template requiring them. Complete the PR description by explaining the documentation updates, configuration changes rationale, Vale testing goals, and any relevant links or context for reviewers.
Title check ❓ Inconclusive The title 'Test Vale errors and warnings' is vague and overly generic, not clearly describing the main changes made to the documentation guide and configuration file. Revise the title to be more specific and descriptive of the actual changes, such as 'Update Shoot cluster guide and add Vale review instructions' or 'Expand Shoot creation documentation and configure Vale linting review'.
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test-vale-errors-2

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

Comment @coderabbitai help to get the list of available commands and usage tips.

## Create a Shoot Cluster

As you have already prepared an [example Shoot manifest](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) in the steps described in the development documentation, please open another Terminal pane/window with the `KUBECONFIG` environment variable pointing to the Garden development cluster and send the manifest to the Kubernetes API server:
As you have already prepared an [example Shoot manifest](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) in the steps described in the development documentation, please open another Terminal pane/window with the `KUBECONFIG` environment variable pointing to the Garden development cluster and send the manifest to the kubernetes API server:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🚫 [vale] reported by reviewdog 🐶
[Gardener.Terms] Use 'Kubernetes' instead of 'kubernetes'.

```

You should see that Gardener has immediately picked up your manifest and has started to deploy the Shoot cluster.
You should see that gardener has immediately picked up your manifest and has started to deploy the controlplane of the Shoot cluster.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🚫 [vale] reported by reviewdog 🐶
[Gardener.Spelling] Did you really mean 'controlplane'?

```

You should see that Gardener has immediately picked up your manifest and has started to deploy the Shoot cluster.
You should see that gardener has immediately picked up your manifest and has started to deploy the controlplane of the Shoot cluster.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🚫 [vale] reported by reviewdog 🐶
[Gardener.Terms] Use 'control plane' instead of 'controlplane'.

In order to investigate what is happening in the Seed cluster, please download its proper Kubeconfig yourself (see next paragraph). The namespace of the Shoot cluster in the Seed cluster will look like that: `shoot-johndoe-johndoe-1`, whereas the first `johndoe` is your namespace in the Garden cluster (also called "project") and the `johndoe-1` suffix is the actual name of the Shoot cluster.

To connect to the newly created Shoot cluster, you must download its Kubeconfig as well. Please connect to the proper Seed cluster, navigate to the Shoot namespace, and download the Kubeconfig from the `kubecfg` secret in that namespace.
To connect to the newly created Shoot cluster, the user must download its Kubeconfig as well. Please connect to the proper Seed cluster, navigate to the Shoot namespace, and download the Kubeconfig from the `kubecfg` secret in that namespace. This requires a SSH connection to the seed. Note that a VM is also provisioned per worker pool.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ [vale] reported by reviewdog 🐶
[Gardener.SecondPerson] Use 'you must' instead of 'the user must'. Address the reader directly as 'you'.

In order to investigate what is happening in the Seed cluster, please download its proper Kubeconfig yourself (see next paragraph). The namespace of the Shoot cluster in the Seed cluster will look like that: `shoot-johndoe-johndoe-1`, whereas the first `johndoe` is your namespace in the Garden cluster (also called "project") and the `johndoe-1` suffix is the actual name of the Shoot cluster.

To connect to the newly created Shoot cluster, you must download its Kubeconfig as well. Please connect to the proper Seed cluster, navigate to the Shoot namespace, and download the Kubeconfig from the `kubecfg` secret in that namespace.
To connect to the newly created Shoot cluster, the user must download its Kubeconfig as well. Please connect to the proper Seed cluster, navigate to the Shoot namespace, and download the Kubeconfig from the `kubecfg` secret in that namespace. This requires a SSH connection to the seed. Note that a VM is also provisioned per worker pool.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ [vale] reported by reviewdog 🐶
[Gardener.Articles] Use 'an SSH' instead of 'a SSH'. The article depends on pronunciation, not spelling.

Signed-off-by: Bozhidara Hristova <bozhidara.hristova@sap.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@website/documentation/guides/administer-shoots/create-delete-shoot.md`:
- Line 30: Update the link text to use the official product capitalization by
replacing the markdown link label
`[Github](https://github.com/gardener/gardener/blob/master/hack/usage/delete)`
with
`[GitHub](https://github.com/gardener/gardener/blob/master/hack/usage/delete)`;
search for the occurrence of the literal string `[Github]` in the
"create-delete-shoot.md" content and change it to `GitHub` while leaving the URL
unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c882fb4d-3fe0-4739-b353-23ca8b38682c

📥 Commits

Reviewing files that changed from the base of the PR and between 4794f99 and 890eee2.

📒 Files selected for processing (1)
  • website/documentation/guides/administer-shoots/create-delete-shoot.md

```

(the `hack` bash script can be found at [GitHub](https://github.com/gardener/gardener/blob/master/hack/usage/delete))
(the `hack` bash script can be found at [Github](https://github.com/gardener/gardener/blob/master/hack/usage/delete))
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use official capitalization: GitHub.

Please change [Github](...) to [GitHub](...) for correct product naming.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~30-~30: The official name of this software platform is spelled with a capital “H”.
Context: ...the hack bash script can be found at [Github](https://github.com/gardener/gardener/b...

(GITHUB)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@website/documentation/guides/administer-shoots/create-delete-shoot.md` at
line 30, Update the link text to use the official product capitalization by
replacing the markdown link label
`[Github](https://github.com/gardener/gardener/blob/master/hack/usage/delete)`
with
`[GitHub](https://github.com/gardener/gardener/blob/master/hack/usage/delete)`;
search for the occurrence of the literal string `[Github]` in the
"create-delete-shoot.md" content and change it to `GitHub` while leaving the URL
unchanged.

Signed-off-by: Bozhidara Hristova <bozhidara.hristova@sap.com>
Tell CodeRabbit to evaluate Vale error/warning annotations on changed
lines and create committable suggestions for genuine violations, or
comment on false positives with guidance on how to avoid them.
@BoHristova BoHristova force-pushed the test-vale-errors-2 branch from a83cc99 to 11ed0d9 Compare May 15, 2026 13:20
@BoHristova BoHristova force-pushed the test-vale-errors-2 branch from b941371 to a840c64 Compare May 15, 2026 13:34
@BoHristova BoHristova force-pushed the test-vale-errors-2 branch from a840c64 to 8328f08 Compare May 15, 2026 13:35
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: ba3d5eb7-1977-4886-929e-2d133e149b86

📥 Commits

Reviewing files that changed from the base of the PR and between 890eee2 and 6441ec5.

⛔ Files ignored due to path filters (1)
  • website/documentation/guides/administer-shoots/create-delete-shoot.md is excluded by !website/**
📒 Files selected for processing (1)
  • .coderabbit.yml

Comment thread .coderabbit.yml
Comment on lines +24 to +27
path_instructions:
- path: "website/**/*.md"
instructions: |
When reviewing this file, look at the Vale annotations from the GitHub Checks. For each Vale error or warning annotation on a changed line: read the flagged line in context and judge whether the finding is a real issue. Vale sometimes reports false positives — only create a committable suggestion if it is a genuine error or warning. If it is a false positive, add a comment explaining why it is a false positive and how to avoid it (for example, by rephrasing or by adding the term to the appropriate Vale vocabulary).
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

path_instructions won’t run while website/** is excluded by path_filters.

Because Line 4 excludes website/**, this new website/**/*.md instruction block is effectively unreachable. If the goal is to apply Vale-aware review behavior to docs, remove or narrow that exclusion.

Suggested config fix
 reviews:
   path_filters:
-    - "!website/**"
+    # keep website docs in review scope so path_instructions can apply
   poem: false
   high_level_summary: false
   changed_files_summary: false
   sequence_diagrams: false
   estimate_code_review_effort: false
   assess_linked_issues: false
   related_issues: false
   related_prs: false
   suggested_labels: false
   suggested_reviewers: false
   review_status: false
   collapse_walkthrough: true
   request_changes_workflow: false
   auto_review:
     enabled: true
     drafts: false
     auto_incremental_review: true
     auto_pause_after_reviewed_commits: 0
   enable_prompt_for_ai_agents: false
   path_instructions:
     - path: "website/**/*.md"
       instructions: |
         When reviewing this file, look at the Vale annotations from the GitHub Checks...

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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 (4)
website/documentation/guides/administer-shoots/create-delete-shoot.md (4)

30-30: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use official capitalization: 'GitHub'.

The link text should use the official product capitalization.

📝 Proposed fix
-(the `hack` bash script can be found at [Github](https://github.com/gardener/gardener/blob/master/hack/usage/delete))
+(the `hack` bash script can be found at [GitHub](https://github.com/gardener/gardener/blob/master/hack/usage/delete))

As per coding guidelines, Vale correctly flags this: Use 'GitHub' instead of 'Github' (Gardener.Terms).


16-16: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct 'Gardener' capitalization and 'control plane' spacing.

Two issues on this line:

  • 'gardener' should be capitalized to 'Gardener' (proper noun)
  • 'controlplane' should be two words: 'control plane'
📝 Proposed fix
-You should see that gardener has immediately picked up your manifest and has started to deploy the controlplane of the Shoot cluster.
+You should see that Gardener has immediately picked up your manifest and has started to deploy the control plane of the Shoot cluster.

As per coding guidelines, Vale correctly flags these: Use 'Gardener' instead of 'gardener' (Gardener.Terms) and Use 'control plane' instead of 'controlplane' (Gardener.Terms).


20-20: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use second person and correct article.

Two issues on this line:

  • 'the user must' should be 'you must' (address reader directly)
  • 'a SSH' should be 'an SSH' (article depends on pronunciation)
📝 Proposed fix
-To connect to the newly created Shoot cluster, the user must download its Kubeconfig as well. Please connect to the proper Seed cluster, navigate to the Shoot namespace, and download the Kubeconfig from the `kubecfg` secret in that namespace. This requires a SSH connection to the seed. Note that a VM is also provisioned per worker pool.
+To connect to the newly created Shoot cluster, you must download its Kubeconfig as well. Please connect to the proper Seed cluster, navigate to the Shoot namespace, and download the Kubeconfig from the `kubecfg` secret in that namespace. This requires an SSH connection to the seed. Note that a VM is also provisioned per worker pool.

As per coding guidelines, Vale correctly flags these: Use 'you must' instead of 'the user must' (Gardener.SecondPerson) and Use 'an SSH' instead of 'a SSH' (Gardener.Articles).


10-10: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Capitalize 'Kubernetes' as a proper noun.

The term 'kubernetes' should be capitalized to 'Kubernetes'.

📝 Proposed fix
-As you have already prepared an [example Shoot manifest](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) in the steps described in the development documentation, please open another Terminal pane/window with the `KUBECONFIG` environment variable pointing to the Garden development cluster and send the manifest to the kubernetes API server:
+As you have already prepared an [example Shoot manifest](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) in the steps described in the development documentation, please open another Terminal pane/window with the `KUBECONFIG` environment variable pointing to the Garden development cluster and send the manifest to the Kubernetes API server:

As per coding guidelines, Vale correctly flags this: Use 'Kubernetes' instead of 'kubernetes' (Gardener.Terms).


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: 81bbd350-bdd8-4a43-963a-6c16bd4589b0

📥 Commits

Reviewing files that changed from the base of the PR and between 6441ec5 and ce7dc17.

📒 Files selected for processing (1)
  • website/documentation/guides/administer-shoots/create-delete-shoot.md

@@ -36,3 +36,11 @@ The receiver of the Shoot alerts can be configured from the `.spec.monitoring.al
The alerting for the Shoot clusters is handled by the Prometheus Alertmanager. The Alertmanager will be deployed next to the control plane when the `Shoot` resource specifies `.spec.monitoring.alerting.emailReceivers` and if a [SMTP secret](https://github.com/gardener/gardener/blob/master/example/10-secret-alerting.yaml) exists.

If the field gets removed then the Alertmanager will be also removed during the next reconcilation of the cluster. The opposite is also valid if the field is added to an existing cluster.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix spelling: 'reconciliation'.

The word 'reconcilation' is misspelled.

📝 Proposed fix
-If the field gets removed then the Alertmanager will be also removed during the next reconcilation of the cluster. The opposite is also valid if the field is added to an existing cluster.
+If the field gets removed then the Alertmanager will be also removed during the next reconciliation of the cluster. The opposite is also valid if the field is added to an existing cluster.

As per coding guidelines, Vale correctly flags this: Did you really mean 'reconcilation'? (Gardener.Spelling).

📝 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
If the field gets removed then the Alertmanager will be also removed during the next reconcilation of the cluster. The opposite is also valid if the field is added to an existing cluster.
If the field gets removed then the Alertmanager will be also removed during the next reconciliation of the cluster. The opposite is also valid if the field is added to an existing cluster.
🧰 Tools
🪛 GitHub Actions: Vale / 0_Lint prose.txt

[error] 38-38: vale: Did you really mean 'reconcilation'? (Gardener.Spelling).

🪛 GitHub Actions: Vale / Lint prose

[error] 38-38: Vale error: Did you really mean 'reconcilation'? (Gardener.Spelling)

🪛 LanguageTool

[grammar] ~38-~38: Ensure spelling is correct
Context: ...er will be also removed during the next reconcilation of the cluster. The opposite is also va...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


## Additional Notes

You can configure an VM instance type for each worker pool. The shoot controller uses a URL-rewriting proxy — make sure you pass an URL to the configuration. For logging, the stack relies on Fluentbit to ship logs to the central backend. See the Github releases page for the latest version of the shoot-oidc-service.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix multiple grammar and product name issues.

This line has several issues:

  • 'an VM' should be 'a VM' (article usage)
  • 'Fluentbit' should be 'Fluent Bit' (correct product name)
  • 'an URL' should be 'a URL' (article usage - "URL" starts with consonant sound)
  • 'Github' should be 'GitHub' (official capitalization)
📝 Proposed fix
-You can configure an VM instance type for each worker pool. The shoot controller uses a URL-rewriting proxy — make sure you pass an URL to the configuration. For logging, the stack relies on Fluentbit to ship logs to the central backend. See the Github releases page for the latest version of the shoot-oidc-service.
+You can configure a VM instance type for each worker pool. The shoot controller uses a URL-rewriting proxy — make sure you pass a URL to the configuration. For logging, the stack relies on Fluent Bit to ship logs to the central backend. See the GitHub releases page for the latest version of the shoot-oidc-service.

As per coding guidelines, Vale correctly flags: Did you really mean 'Fluentbit'? (Gardener.Spelling) and Use 'GitHub' instead of 'Github' (Gardener.Terms).

📝 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
You can configure an VM instance type for each worker pool. The shoot controller uses a URL-rewriting proxy — make sure you pass an URL to the configuration. For logging, the stack relies on Fluentbit to ship logs to the central backend. See the Github releases page for the latest version of the shoot-oidc-service.
You can configure a VM instance type for each worker pool. The shoot controller uses a URL-rewriting proxy — make sure you pass a URL to the configuration. For logging, the stack relies on Fluent Bit to ship logs to the central backend. See the GitHub releases page for the latest version of the shoot-oidc-service.
🧰 Tools
🪛 GitHub Actions: Vale / 0_Lint prose.txt

[error] 42-42: vale: Did you really mean 'Fluentbit'? (Gardener.Spelling).


[error] 42-42: vale: Did you really mean 'Github'? (Gardener.Spelling). Use 'GitHub' instead of 'Github'.

🪛 GitHub Actions: Vale / Lint prose

[error] 42-42: Vale error: Did you really mean 'Fluentbit'? (Gardener.Spelling)


[error] 42-42: Vale error: Use 'GitHub' instead of 'Github'. (Gardener.Spelling, Gardener.Terms)


Please ensure the user has to verify the correct RBAC permissions before proceeding.

The reconcilation process will also check for Loadbalancer availability in the target zone.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix spelling and capitalization.

Two issues on this line:

  • 'reconcilation' should be 'reconciliation' (spelling error)
  • 'Loadbalancer' should be 'load balancer' (two words, lowercase)
📝 Proposed fix
-The reconcilation process will also check for Loadbalancer availability in the target zone.
+The reconciliation process will also check for load balancer availability in the target zone.

As per coding guidelines, Vale correctly flags these: Did you really mean 'reconcilation'? (Gardener.Spelling) and Use 'load balancer' instead of 'Loadbalancer' (Gardener.Terms).

📝 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
The reconcilation process will also check for Loadbalancer availability in the target zone.
The reconciliation process will also check for load balancer availability in the target zone.
🧰 Tools
🪛 GitHub Actions: Vale / 0_Lint prose.txt

[error] 46-46: vale: Did you really mean 'reconcilation'? (Gardener.Spelling).


[error] 46-46: vale: Did you really mean 'Loadbalancer'? (Gardener.Spelling).

🪛 GitHub Actions: Vale / Lint prose

[error] 46-46: Vale error: Did you really mean 'reconcilation'? (Gardener.Spelling)


[error] 46-46: Vale error: Did you really mean 'Loadbalancer'? Use 'Load balancer' instead. (Gardener.Spelling, Gardener.Terms)

🪛 LanguageTool

[grammar] ~46-~46: Ensure spelling is correct
Context: ...BAC permissions before proceeding. The reconcilation process will also check for Loadbalance...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

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.

1 participant