feat(base-cluster/monitoring): add alert about deprecated APIs#2021
feat(base-cluster/monitoring): add alert about deprecated APIs#2021
Conversation
📝 WalkthroughWalkthroughThe PR updates Prometheus alerting rule templates across the Helm chart, renaming the certificate expiration template from expirationRule to expirationAlert, applying whitespace formatting adjustments to existing rules, and introducing a new PrometheusRule for detecting deprecated Kubernetes API usage. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
The pull request renames a Helm template for certificate expiration rules, adjusts whitespace control in several Helm templates, and introduces a new PrometheusRule to alert on deprecated Kubernetes API usage. A review comment suggests simplifying the PromQL expression within this new deprecated API alert for improved clarity and efficiency.
There was a problem hiding this comment.
Pull request overview
This PR adds a new PrometheusRule alert for deprecated Kubernetes API usage and makes minor whitespace/naming cleanups across several existing rule template files.
Changes:
- Adds a new
DeprecatedAPIUsedPrometheusRule that fires when deprecated Kubernetes APIs are still being called, using theapiserver_requested_deprecated_apismetric. - Renames the cert-manager template helper from
expirationRuletoexpirationAlertfor consistency. - Normalizes whitespace trimming (
-}}) in several template files (flux-status.yaml,storage-size.yaml).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
charts/base-cluster/templates/global/rules/certificate-expiration.yaml |
New file containing the deprecated APIs PrometheusRule alert (but incorrectly named). |
charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yaml |
Renames template helper from expirationRule to expirationAlert. |
charts/base-cluster/templates/flux/rules/flux-status.yaml |
Whitespace normalization (adds trimming dashes and indentation). |
charts/base-cluster/templates/nfs-server-provisioner/rules/storage-size.yaml |
Whitespace normalization (adds trimming dashes and indentation). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@charts/base-cluster/templates/global/rules/certificate-expiration.yaml`:
- Around line 1-28: The template file is misnamed—its content defines the
PrometheusRule template "base-cluster.monitoring.deprecatedAPIsAlert" (resource
name deprecated-apis and alert DeprecatedAPIUsed) but the filename is
certificate-expiration.yaml; rename the file to match its purpose (e.g.,
deprecated-apis.yaml) and update any chart references if present so the template
path and filename align with the template name to avoid confusion and
maintenance issues.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a7c73f5b-f15d-49b3-98dc-53cf69efa84b
📒 Files selected for processing (4)
charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yamlcharts/base-cluster/templates/flux/rules/flux-status.yamlcharts/base-cluster/templates/global/rules/certificate-expiration.yamlcharts/base-cluster/templates/nfs-server-provisioner/rules/storage-size.yaml
6290dea to
8bdde68
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
charts/base-cluster/templates/global/rules/deprecated-apis.yaml (1)
28-28: Minor inconsistency:enddirective indentation.The closing
{{- end -}}is indented with 2 spaces, while other templates in this PR (e.g.,storage-size.yamlline 30,flux-status.yamlline 49) have theenddirective at different indentation levels. For consistency withstorage-size.yamlwhich places{{- end }}at column 0, consider removing the leading spaces.Suggested fix
period: WorkingHours - {{- end -}} +{{- end -}}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@charts/base-cluster/templates/global/rules/deprecated-apis.yaml` at line 28, The closing Helm template delimiter '{{- end -}}' in the deprecated-apis.yaml fragment is indented by two spaces; move it to column 0 (remove the leading spaces) so the '{{- end -}}' delimiter matches the indentation style used in storage-size.yaml and flux-status.yaml, ensuring consistent template formatting across the chart.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@charts/base-cluster/templates/global/rules/deprecated-apis.yaml`:
- Line 28: The closing Helm template delimiter '{{- end -}}' in the
deprecated-apis.yaml fragment is indented by two spaces; move it to column 0
(remove the leading spaces) so the '{{- end -}}' delimiter matches the
indentation style used in storage-size.yaml and flux-status.yaml, ensuring
consistent template formatting across the chart.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: d043e7da-c866-47ae-a5ce-f95e9f4a6841
📒 Files selected for processing (4)
charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yamlcharts/base-cluster/templates/flux/rules/flux-status.yamlcharts/base-cluster/templates/global/rules/deprecated-apis.yamlcharts/base-cluster/templates/nfs-server-provisioner/rules/storage-size.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
- charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yaml
🤖 I have created a release *beep* *boop* --- ## [11.1.0](base-cluster-v11.0.1...base-cluster-v11.1.0) (2026-03-16) ### Features * **base-cluster/ingress:** add auto detection of need for proxy protocol ([#1951](#1951)) ([a94de1a](a94de1a)) * **base-cluster/ingress:** allow external ingress controller ([#1859](#1859)) ([1442431](1442431)) * **base-cluster/kyverno:** allow setting kyverno resources ([#1986](#1986)) ([71b9db4](71b9db4)) * **base-cluster/monitoring:** add alert about base-cluster updates ([#1937](#1937)) ([a3c63a7](a3c63a7)) * **base-cluster/monitoring:** add alert about deprecated APIs ([#2021](#2021)) ([cb334dd](cb334dd)) ### Bug Fixes * **base-cluster/deadMansSwitch:** fix alertmanager healthchecks URL ([#2019](#2019)) ([d874a56](d874a56)) * **base-cluster/ingress:** disable traefik apiCheck ([#1902](#1902)) ([d45bd69](d45bd69)) * **base-cluster/ingress:** they now have the redirections nested under http ([#1952](#1952)) ([dca2502](dca2502)) * **base-cluster/monitoring:** adjust for short-lived certificates ([#1921](#1921)) ([41062b2](41062b2)) * **base-cluster/monitoring:** only roll out alloy tracing ports if enabled ([#2005](#2005)) ([ea44c4d](ea44c4d)) * **base-cluster:** Revert "chore(base-cluster/dependencies): update helm release traefik to v39 ([#1936](#1936))" ([#1954](#1954)) ([5d2ae36](5d2ae36)) ### Miscellaneous Chores * **base-cluster/dependencies:** update common docker tag to v1.8.0 ([#1939](#1939)) ([38b1c7e](38b1c7e)) * **base-cluster/dependencies:** update docker.io/curlimages/curl docker tag to v8.18.0 ([#1896](#1896)) ([f046977](f046977)) * **base-cluster/dependencies:** update docker.io/grafana/grafana-image-renderer docker tag to v5.0.13 ([#1885](#1885)) ([474e903](474e903)) * **base-cluster/dependencies:** update docker.io/grafana/grafana-image-renderer docker tag to v5.2.3 ([#1897](#1897)) ([84b647b](84b647b)) * **base-cluster/dependencies:** update docker.io/grafana/grafana-image-renderer docker tag to v5.3.0 ([#1922](#1922)) ([ef6f80f](ef6f80f)) * **base-cluster/dependencies:** update docker.io/grafana/grafana-image-renderer docker tag to v5.4.0 ([#1931](#1931)) ([50171d8](50171d8)) * **base-cluster/dependencies:** update docker.io/grafana/grafana-image-renderer docker tag to v5.5.0 ([#1968](#1968)) ([ee276e2](ee276e2)) * **base-cluster/dependencies:** update docker.io/grafana/grafana-image-renderer docker tag to v5.5.1 ([#1988](#1988)) ([f765f5e](f765f5e)) * **base-cluster/dependencies:** update docker.io/vladgh/gpg docker tag to v1.3.7 ([#1886](#1886)) ([4b2c33b](4b2c33b)) * **base-cluster/dependencies:** update helm release alloy to v1.5.2 ([#1891](#1891)) ([41b25e9](41b25e9)) * **base-cluster/dependencies:** update helm release alloy to v1.5.3 ([#1949](#1949)) ([d8bda90](d8bda90)) * **base-cluster/dependencies:** update helm release alloy to v1.6.0 ([#1975](#1975)) ([76632e4](76632e4)) * **base-cluster/dependencies:** update helm release external-dns to v1.20.0 ([#1905](#1905)) ([ff53477](ff53477)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v80.13.3 ([#1892](#1892)) ([9775868](9775868)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v80.14.4 ([#1906](#1906)) ([f62458d](f62458d)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v81 ([#1923](#1923)) ([9e9915d](9e9915d)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v81.2.1 ([#1934](#1934)) ([30fa0dd](30fa0dd)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v81.3.2 ([#1950](#1950)) ([95a9398](95a9398)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v81.5.0 ([#1962](#1962)) ([1a9bab8](1a9bab8)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v81.5.2 ([#1982](#1982)) ([07c2249](07c2249)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v81.6.6 ([#1989](#1989)) ([2bf4f3c](2bf4f3c)) * **base-cluster/dependencies:** update helm release kube-prometheus-stack to v82 ([#1995](#1995)) ([45ef213](45ef213)) * **base-cluster/dependencies:** update helm release loki to v6.49.0 ([#1908](#1908)) ([f36dd6d](f36dd6d)) * **base-cluster/dependencies:** update helm release loki to v6.51.0 ([#1928](#1928)) ([6ac27d6](6ac27d6)) * **base-cluster/dependencies:** update helm release loki to v6.53.0 ([#1974](#1974)) ([0bc6e68](0bc6e68)) * **base-cluster/dependencies:** update helm release oauth2-proxy to v10 ([#1913](#1913)) ([7e551b5](7e551b5)) * **base-cluster/dependencies:** update helm release oauth2-proxy to v10.1.1 ([#1944](#1944)) ([3f97108](3f97108)) * **base-cluster/dependencies:** update helm release oauth2-proxy to v10.1.2 ([#1961](#1961)) ([c0bc91d](c0bc91d)) * **base-cluster/dependencies:** update helm release oauth2-proxy to v10.1.3 ([#1979](#1979)) ([9b95c4b](9b95c4b)) * **base-cluster/dependencies:** update helm release oauth2-proxy to v10.1.4 ([#2001](#2001)) ([8ffa211](8ffa211)) * **base-cluster/dependencies:** update helm release reflector to v10 ([#1924](#1924)) ([0051c34](0051c34)) * **base-cluster/dependencies:** update helm release reflector to v10.0.19 ([#1999](#1999)) ([a2b5189](a2b5189)) * **base-cluster/dependencies:** update helm release reflector to v10.0.2 ([#1935](#1935)) ([333393e](333393e)) * **base-cluster/dependencies:** update helm release reflector to v10.0.4 ([#1956](#1956)) ([3eef9a0](3eef9a0)) * **base-cluster/dependencies:** update helm release reflector to v10.0.8 ([#1978](#1978)) ([b2f97f9](b2f97f9)) * **base-cluster/dependencies:** update helm release reflector to v9.1.45 ([#1893](#1893)) ([ff100d9](ff100d9)) * **base-cluster/dependencies:** update helm release tempo to v1.24.3 ([#1904](#1904)) ([99099bf](99099bf)) * **base-cluster/dependencies:** update helm release tempo to v1.24.4 ([#1957](#1957)) ([7d67bf3](7d67bf3)) * **base-cluster/dependencies:** update helm release tempo to v1.26.1 ([#1976](#1976)) ([517da93](517da93)) * **base-cluster/dependencies:** update helm release tempo to v1.26.7 ([#2000](#2000)) ([6cabd54](6cabd54)) * **base-cluster/dependencies:** update helm release traefik to v38 ([#1914](#1914)) ([106c7cf](106c7cf)) * **base-cluster/dependencies:** update helm release traefik to v39 ([#1936](#1936)) ([5b39257](5b39257)) * **base-cluster/dependencies:** update helm release traefik to v39 ([#1959](#1959)) ([6efe111](6efe111)) * **base-cluster/dependencies:** update helm release traefik to v39.0.1 ([#1992](#1992)) ([27d7316](27d7316)) * **base-cluster/monitoring:** migrate helm repo to new URL ([#1955](#1955)) ([9263d6a](9263d6a)) * **base-cluster/tetragon:** update flux apiVersion ([#1900](#1900)) ([ff93afb](ff93afb)) * **base-cluster:** update kyverno ([#1918](#1918)) ([a503ef6](a503ef6)) * migrate kyverno config ([71b9db4](71b9db4)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Summary by CodeRabbit
New Features
Chores