Skip to content

Replace 'prometheus' with 'pickle' - #2934

Closed
claude[bot] wants to merge 6 commits into
mainfrom
chore/prometheus-to-pickle
Closed

Replace 'prometheus' with 'pickle'#2934
claude[bot] wants to merge 6 commits into
mainfrom
chore/prometheus-to-pickle

Conversation

@claude

@claude claude Bot commented Aug 19, 2026

Copy link
Copy Markdown

Requested by Christopher Tauchen · Slack thread

Summary

Before: The docs repository contained numerous references to the lowercase string "prometheus" (e.g. in URLs, file paths, config keys, and body text).

After: All lowercase, literal occurrences of "prometheus" have been replaced with "pickle" across the repository. Capitalized "Prometheus" (the product/proper-noun references) was intentionally left untouched, since this was a case-sensitive replacement of the lowercase string only.

Scope: 403 text files changed (3973 insertions, 3973 deletions — a pure 1:1 string swap, no other content changes).

Excluded:

  • 2 binary PNG images (static/img/calico-enterprise/typha-felix.png, static/img/calico-cloud/vulnerability-detection.png) matched the byte sequence "prometheus" incidentally in their binary data and were left untouched to avoid corruption.
  • File/directory names containing "prometheus" (e.g. .../monitor/prometheus/, byo-prometheus.mdx) were not renamed — only in-file text content was replaced, per the literal find-and-replace request. Note this means some in-text links/prose now say "pickle" while pointing at or describing paths that still literally contain "prometheus" on disk.

Product Version(s):
N/A — mechanical, repository-wide text substitution; not tied to a specific product version.

Issue:
N/A

Link to docs preview:
N/A

Additional information:
This is a literal, case-sensitive find-and-replace (prometheus -> pickle) requested via Slack, not a content/technical correction. No mention of "Prometheus" (capitalized) was altered.

Copilot AI lite review requested due to automatic review settings August 19, 2026 16:09
@claude
claude Bot requested a review from a team as a code owner August 19, 2026 16:09
@netlify

netlify Bot commented Aug 19, 2026

Copy link
Copy Markdown

Deploy Preview succeeded!

Name Link
🔨 Latest commit 2034123
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/6a85e986eda56f00087780df
😎 Deploy Preview https://deploy-preview-2934--tigera.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 63 (🔴 down 26 from production)
Accessibility: 98 (no change from production)
Best Practices: 92 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Aug 19, 2026

Copy link
Copy Markdown

Deploy Preview for calico-docs-preview-next ready!

Name Link
🔨 Latest commit 2034123
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/6a85e986184a8f00082b02c8
😎 Deploy Preview https://deploy-preview-2934--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI 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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

The literal find-and-replace in the previous commit renamed path
segments and identifiers (sidebar doc ids, relative markdown/JSX
links, static redirect/header rules) to "pickle" without renaming
the underlying files, which are still named/located under
"prometheus". Docusaurus is configured with onBrokenLinks: 'throw'
and onBrokenMarkdownLinks: 'throw', so these dangling references
failed the site build (and, downstream, the Netlify header/redirect
rule checks that depend on a successful build).

Fixes applied, scoped only to structural identifiers (doc IDs, file
paths, route hrefs) - documentation prose keeps the "pickle" wording:
- sidebars-calico*.js and all versioned *-sidebars.json: reverted
  sidebar "id" doc references (e.g. reference/felix/pickle ->
  reference/felix/prometheus) back to the real, unrenamed doc paths.
- 89 relative markdown link targets across current and versioned
  .mdx docs (e.g. byo-pickle.mdx, ../pickle/index.mdx,
  felix/pickle.mdx) reverted to the real filenames they point to.
- OpenShiftPrometheusOperator.js (6 copies, current + versioned):
  reverted a <Link href> route from /operations/monitor/pickle/support
  to the real /operations/monitor/prometheus/support route.
- static/_headers and static/_redirects: reverted fully, since these
  are infra routing rules tied to the real (unrenamed) page paths.

Verified with a repo-wide scan that no markdown link or sidebar doc
id still points at a non-existent "pickle" path.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uBgAMf3CkcrULiQQMJBTx
Copilot AI review requested due to automatic review settings August 19, 2026 16:22

Copilot AI 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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…place

The blind prometheus->pickle string replace touched docId='...' values
inside <DocCardLink> components in several reference/operations index
pages, even though the underlying doc files/directories (e.g.
reference/felix/prometheus.mdx, operations/monitor/prometheus/support.mdx)
were never renamed. This produced doc ids like
"reference/felix/pickle" and "operations/monitor/pickle/support" that
point at nonexistent docs, which docusaurus build fails hard on
during static-file rendering (both the default and BUILD_NEXT=true
Netlify build targets).

Reproduced locally with yarn 4.9.2 (via @yarnpkg/cli-dist, since
corepack's fetch to repo.yarnpkg.com was blocked by the proxy) and
confirmed both `yarn build` and `BUILD_NEXT=true yarn build` complete
successfully after restoring the "prometheus" path segment in the
affected docId values.
Copilot AI review requested due to automatic review settings August 19, 2026 16:37

Copilot AI 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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…ename

The prometheus->pickle sed also touched real external URLs and
identifiers that must resolve on the live internet: prometheus.io doc
links, the prom/prometheus Docker Hub image name, the
github.com/prometheus/client_golang attribution entry, and the
matching skip-list/comment entries in the crawler link-check test.
Revert just those occurrences back to "prometheus" while leaving all
narrative/prose and internally-defined identifiers (e.g. the
pickle-dashboard-svc example service name) as "pickle".
Copilot AI review requested due to automatic review settings August 19, 2026 17:01

Copilot AI 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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…name

Round 3 of link-checker fixes on this branch. The blind sed also corrupted
several categories of real external/absolute identifiers that the previous
two rounds missed:

- Third-party license attribution pages (static/calico/<ver>/licenses/*.html,
  static/calico/3.26/licenses/index.html): every github.com/prometheus/*,
  github.com/grpc-ecosystem/go-grpc-prometheus, github.com/prometheus-operator/
  prometheus-operator, proxy.golang.org/.../prometheus/*, prometheus.io mailto
  addresses, and "The Prometheus Authors" copyright lines - all real upstream
  Go dependency records.
- {filesUrl}/manifests/tigera-prometheus-operator.yaml, .../prometheus-operator-crds.yaml
  and .../manifests/prometheus/*-service-monitor.yaml references (calico-enterprise
  and calico-cloud install/upgrade/monitoring docs, current + all versioned copies).
  filesUrl resolves to the real downloads.tigera.io manifest host, so these were
  literal dead links caught by the crawler's file-extension URL regex.
- __tests__/data/urls_with_canonicals.txt and urls_projectcalico.docs.tigera.io.txt:
  fixture lists of real historical docs.tigera.io URLs used by the redirect/canonical
  tests - restored the frozen legacy page slugs (felix/prometheus, kube-controllers/
  prometheus, maintenance/monitor/prometheus, etc.) that will never be renamed.
- static/{calico,calico-enterprise,calico-cloud}/llms{,-full}.txt: these are
  committed build artifacts (only regenerated by `make generate-llms`, not by the
  normal `make netlify` build), so they still shipped the original broken
  github.com/prometheus/*, prometheus.io, downloads.tigera.io manifest paths, and
  absolute docs.tigera.io/.../reference/felix/prometheus-style links (the actual
  page files were never renamed, only prose, so the real slug is still
  "prometheus"). Reverted the same categories as above within these mirrors.
- __tmp_prometheus_job_name: a real Prometheus Operator relabeling label named
  verbatim in the CRD API reference (_api.mdx) and its stale llms-full.txt mirror.

Left untouched: internally-renamed identifiers that are self-consistent across
the docs (tigera-prometheus-operator -> tigera-pickle-operator equivalents used
as local/example filenames, calico-node-pickle service/secret names, the
tigera-pickle namespace, the pickle-dashboard-svc example already in the crawler
skip list, and product image names like tigera/pickle-operator in releases.json).

Verified via the crawler's own link-extraction regex
(https?://[-a-zA-Z0-9()@:%._+~#?&/=]+) that no remaining "pickle" substring
appears in any real external URL repo-wide, other than the deliberately
skip-listed pickle-dashboard-svc example.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uBgAMf3CkcrULiQQMJBTx
Copilot AI review requested due to automatic review settings August 19, 2026 17:25

Copilot AI 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.

Pull request overview

Copilot reviewed 258 out of 263 changed files in this pull request and generated no new comments.

Suppressed comments (7)

calico_versioned_docs/version-3.32/operations/monitor/monitor-component-visual.mdx:1

  • Grafana datasource type values are plugin identifiers (e.g., prometheus). Changing this to pickle will make the provisioning snippet invalid unless a corresponding Grafana datasource plugin actually exists. If the backend is still Prometheus, keep the datasource type as prometheus (while adjusting only the display name / service URL as needed). This same issue appears in the equivalent tutorial snippets across multiple versions/files in this PR.
    calico-enterprise/operations/monitor/metrics/operator-metrics.mdx:1
  • This command switches the Kubernetes kind from prometheusrule to picklerule, but the YAML examples in this PR still use kind: PrometheusRule elsewhere. Unless the CRD kind has actually been renamed, picklerule will fail for users. Recommendation: keep prometheusrule in the kubectl example (and only change the namespace/name labels), or update the YAML kind consistently if the CRD truly changed.
    calico-enterprise/operations/monitor/metrics/elasticsearch-and-fluentd-metrics.mdx:1
  • Both entries point to #create-pickle-alerts-for-elasticsearch, which is incorrect for the Fluentd bullet and will break in-page navigation. Additionally, the linked anchor no longer matches the (unchanged) section header ### Create Prometheus alerts for Elasticsearch, so the generated heading ID likely won’t match. Recommendation: update the second bullet to target the Fluentd section, and keep anchors aligned with the actual section headings (either revert the anchors or rename the headings to match).
    calico-enterprise_versioned_docs/version-3.24-1/reference/architecture/overview.mdx:1
  • The link text still says “Prometheus …” but the anchors were changed to #pickle-*. Unless the corresponding section headers were renamed to generate those new IDs, these links will be broken; even if headers were renamed, the mismatch between link text and anchor target is confusing. Recommendation: keep link text/anchors consistent with the actual section headings (rename both the heading and link text together, or only adjust the visible text).
    calico-enterprise_versioned_docs/version-3.24-1/reference/architecture/overview.mdx:1
  • The link text still says “Prometheus …” but the anchors were changed to #pickle-*. Unless the corresponding section headers were renamed to generate those new IDs, these links will be broken; even if headers were renamed, the mismatch between link text and anchor target is confusing. Recommendation: keep link text/anchors consistent with the actual section headings (rename both the heading and link text together, or only adjust the visible text).
    calico-cloud_versioned_docs/version-23-2/operations/monitor/prometheus/support.mdx:1
  • Change “the require operator version” to “the required operator version”.
    scripts/versions/main.go:1
  • This line’s spacing/alignment differs from surrounding entries and suggests gofmt wasn’t run after editing. Recommendation: run gofmt on this file to keep formatting consistent and avoid noisy diffs in future edits.

- Grafana datasource "type" must remain the literal plugin identifier
  "prometheus" (calico monitor-component-visual.mdx, current + 3.29-3.32)
- kubectl example resource name "picklerule" reverted to "prometheusrule"
  to match the unchanged `kind: PrometheusRule` CRD (configure-prometheus.mdx,
  license-options.mdx, operator-metrics.mdx, and versioned copies)
- Broken #...pickle... anchor links reverted to match their unchanged
  target heading slugs (byo-prometheus.mdx, architecture overview.mdx,
  configure-resources.mdx, elasticsearch-and-fluentd-metrics.mdx,
  license-agent.mdx, and installation _api.mdx reference tables)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uBgAMf3CkcrULiQQMJBTx
Copilot AI review requested due to automatic review settings August 19, 2026 17:36

Copilot AI 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.

Pull request overview

Copilot reviewed 255 out of 257 changed files in this pull request and generated no new comments.

Suppressed comments (13)

static/files/read-all-crud-default-rbac.yaml:1

  • Changing the RBAC resourceNames entry from calico-node-prometheus:9090 to calico-node-pickle:9090 will break proxy access unless the Service is actually renamed in-cluster. If this PR is only documentation-oriented, revert this RBAC change; if the Service is being renamed, ensure the Service object/name and any consumers are updated consistently (and consider backward compatibility if users still have the old Service name).
    static/files/min-ui-user-rbac.yaml:1
  • Same as above: updating resourceNames to calico-node-pickle:9090 will deny access in clusters that still expose calico-node-prometheus:9090. Please align this with the actual Service name shipped/installed, or keep both names during any transition.
    scripts/versions/main.go:1
  • Renaming the imageNameMaps key from tigera-prometheus-service to tigera-pickle-service will change how the versions script resolves image/component names, and will likely break lookups if upstream build/release metadata still uses the original key. If the underlying image/component name has not changed everywhere, keep the original key and (optionally) add an additional alias entry rather than replacing it.
    calico_versioned_docs/version-3.32/reference/resources/kubecontrollersconfig.mdx:1
  • These docs rename the CR field from prometheusMetricsPort to pickleMetricsPort. Unless the actual Kubernetes API schema changed accordingly, this will be an incorrect field name and will cause user configs to stop working. If this PR is only renaming examples/labels, keep the field name as defined in the CRD (likely still prometheusMetricsPort) and adjust only the descriptive text if needed.
    calico_versioned_docs/version-3.32/reference/resources/kubecontrollersconfig.mdx:1
  • These docs rename the CR field from prometheusMetricsPort to pickleMetricsPort. Unless the actual Kubernetes API schema changed accordingly, this will be an incorrect field name and will cause user configs to stop working. If this PR is only renaming examples/labels, keep the field name as defined in the CRD (likely still prometheusMetricsPort) and adjust only the descriptive text if needed.
    calico/reference/installation/_api.mdx:1
  • These API docs now claim nodeMetricsPort / typhaMetricsPort serve “pickle metrics”. If the implementation still exposes Prometheus-format metrics (even if scraped by something else), this becomes misleading and may confuse users troubleshooting integrations. Consider keeping the protocol/format accurate (e.g., 'Prometheus metrics') and only changing names/namespaces where the platform truly changed resource names.
    calico_versioned_docs/version-3.32/operations/monitor/monitor-component-visual.mdx:1
  • This section mixes a 'pickle' service/datasource name with a Grafana datasource " + "\"type\": \"prometheus\"" + " and with the heading 'Preparing Prometheus' (unchanged earlier in the file). If 'pickle' is not a real component and this is an accidental search/replace, these examples will not work as written. If 'pickle' is a real rename of Prometheus, consider keeping terminology consistent: either keep Prometheus naming throughout, or rename the headings and also update any fields that are expected to remain 'prometheus' (like Grafana datasource type) with a clear explanation.
    calico_versioned_docs/version-3.32/operations/monitor/monitor-component-visual.mdx:1
  • This section mixes a 'pickle' service/datasource name with a Grafana datasource " + "\"type\": \"prometheus\"" + " and with the heading 'Preparing Prometheus' (unchanged earlier in the file). If 'pickle' is not a real component and this is an accidental search/replace, these examples will not work as written. If 'pickle' is a real rename of Prometheus, consider keeping terminology consistent: either keep Prometheus naming throughout, or rename the headings and also update any fields that are expected to remain 'prometheus' (like Grafana datasource type) with a clear explanation.
    calico_versioned_docs/version-3.32/operations/monitor/monitor-component-visual.mdx:1
  • This section mixes a 'pickle' service/datasource name with a Grafana datasource " + "\"type\": \"prometheus\"" + " and with the heading 'Preparing Prometheus' (unchanged earlier in the file). If 'pickle' is not a real component and this is an accidental search/replace, these examples will not work as written. If 'pickle' is a real rename of Prometheus, consider keeping terminology consistent: either keep Prometheus naming throughout, or rename the headings and also update any fields that are expected to remain 'prometheus' (like Grafana datasource type) with a clear explanation.
    calico_versioned_docs/version-3.32/operations/monitor/monitor-component-visual.mdx:1
  • This section mixes a 'pickle' service/datasource name with a Grafana datasource " + "\"type\": \"prometheus\"" + " and with the heading 'Preparing Prometheus' (unchanged earlier in the file). If 'pickle' is not a real component and this is an accidental search/replace, these examples will not work as written. If 'pickle' is a real rename of Prometheus, consider keeping terminology consistent: either keep Prometheus naming throughout, or rename the headings and also update any fields that are expected to remain 'prometheus' (like Grafana datasource type) with a clear explanation.
    calico_versioned_docs/version-3.32/operations/monitor/monitor-component-visual.mdx:1
  • This section mixes a 'pickle' service/datasource name with a Grafana datasource " + "\"type\": \"prometheus\"" + " and with the heading 'Preparing Prometheus' (unchanged earlier in the file). If 'pickle' is not a real component and this is an accidental search/replace, these examples will not work as written. If 'pickle' is a real rename of Prometheus, consider keeping terminology consistent: either keep Prometheus naming throughout, or rename the headings and also update any fields that are expected to remain 'prometheus' (like Grafana datasource type) with a clear explanation.
    src/utils/linkChecker.js:1
  • Changing the skip-list hostname from prometheus-dashboard-svc.calico-monitoring.svc to pickle-dashboard-svc... will re-enable link checking for the original hostname unless it is removed everywhere else. If docs/examples still use prometheus-dashboard-svc anywhere, this will cause new link-check failures; consider skipping both hostnames during a transition (or only changing this once the docs are fully migrated and the in-cluster Service name is actually changed).
    calico-cloud_versioned_docs/version-23-2/operations/monitor/prometheus/support.mdx:1
  • Correct 'require operator version' to 'required operator version'.

@ctauchen ctauchen closed this Aug 19, 2026
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.

3 participants