Test Vale errors and warnings#6
Conversation
📝 WalkthroughWalkthroughThis 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)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
| ## 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: |
There was a problem hiding this comment.
🚫 [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. |
There was a problem hiding this comment.
🚫 [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. |
There was a problem hiding this comment.
🚫 [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. |
There was a problem hiding this comment.
[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. |
There was a problem hiding this comment.
[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>
There was a problem hiding this comment.
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
📒 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)) |
There was a problem hiding this comment.
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.
a83cc99 to
11ed0d9
Compare
b941371 to
a840c64
Compare
a840c64 to
8328f08
Compare
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (1)
website/documentation/guides/administer-shoots/create-delete-shoot.mdis excluded by!website/**
📒 Files selected for processing (1)
.coderabbit.yml
| 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). |
There was a problem hiding this comment.
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...There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (4)
website/documentation/guides/administer-shoots/create-delete-shoot.md (4)
30-30:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse 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 winCorrect '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 winUse 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 winCapitalize '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
📒 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. | |||
There was a problem hiding this comment.
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.
| 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. |
There was a problem hiding this comment.
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.
| 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. |
There was a problem hiding this comment.
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.
| 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)
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: