Consolidate installation documentation and remove dev setup#2059
Conversation
The robusta CLI install flow (robusta gen-config / pipx / docker) is outdated. Drop those paths from the install docs in favor of the SaaS signup wizard, and reframe non-Holmes/non-SaaS content as Robusta Classic so the primary docs focus on the AI agent + Robusta Platform (with HolmesGPT OSS docs living separately at holmesgpt.dev). - Rename "Other Features" toctree caption to "Robusta Classic" - Consolidate install pages into a single Install Robusta page (drop the all-in-one Prometheus and Build-from-Source variants; Holmes users always have an existing observability stack) - Strip robusta gen-config / robusta-cli references from the Slack sink, multi-cluster, and help/troubleshooting pages - Update conf.py redirects for removed pages https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughRestructures installation docs into a consolidated "Install Robusta" guide, deletes several legacy installation and dev-setup pages and a Prometheus Helm include, shifts config-generation flow to Robusta signup, updates Slack and sink build instructions, adjusts help/multi-cluster guidance, and updates Sphinx redirects. (37 words) Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
✅ Docker image ready for
Use this tag to pull the image for testing. 📋 Copy commandsgcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/robusta-runner:9c093b2
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/robusta-runner:9c093b2 me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:9c093b2
docker push me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:9c093b2Patch Helm values in one line: helm upgrade --install robusta robusta/robusta \
--reuse-values \
--set runner.image=me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:9c093b2 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/configuration/sinks/slack.rst`:
- Line 30: Update the sentence that currently reads "Generate a Slack API key on
your own, then add it to your ``generated_values.yaml``" to include a direct
pointer to the concrete doc section for manual API-key creation (e.g., link or
reference to the "Creating Custom Slack Apps" section); ensure the text
explicitly directs readers to that section so they can follow step-by-step
instructions before adding the key to ``generated_values.yaml``.
In `@docs/setup-robusta/installation/index.rst`:
- Line 36: The page currently only includes the no-Prometheus install flow via
the include directive for "_helm_install_no_prometheus.inc.rst"; update this
consolidated install page to present both install paths by adding or
reintroducing an include for the Prometheus-enabled flow (for example
"_helm_install_with_prometheus.inc.rst") and/or a short selector/header that
links to both includes so readers can choose "Robusta-only" or "Robusta +
Prometheus" from the same entry point; ensure the include directive names
exactly match the existing partial filenames (e.g.,
"_helm_install_no_prometheus.inc.rst" and
"_helm_install_with_prometheus.inc.rst") and preserve surrounding headings/TOC
structure.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 997714d4-85dc-4124-b919-175a67398789
📒 Files selected for processing (12)
docs/conf.pydocs/configuration/sinks/sinks-development.rstdocs/configuration/sinks/slack.rstdocs/help.rstdocs/index.rstdocs/setup-robusta/installation/_generate_config.jinjadocs/setup-robusta/installation/_helm_install_with_prometheus.inc.rstdocs/setup-robusta/installation/all-in-one-installation.rstdocs/setup-robusta/installation/dev-setup.rstdocs/setup-robusta/installation/index.rstdocs/setup-robusta/installation/standalone-installation.rstdocs/setup-robusta/multi-cluster.rst
💤 Files with no reviewable changes (5)
- docs/setup-robusta/installation/all-in-one-installation.rst
- docs/setup-robusta/installation/_generate_config.jinja
- docs/setup-robusta/installation/standalone-installation.rst
- docs/setup-robusta/installation/_helm_install_with_prometheus.inc.rst
- docs/setup-robusta/installation/dev-setup.rst
Addresses CodeRabbit review comment on PR #2059 — gives readers a direct pointer to the step-by-step manual setup section instead of leaving them to figure it out. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The previous warning argued against generating a fresh generated_values.yaml per cluster — framing leftover from the CLI era. Replace it with the actionable instruction: set a unique clusterName on each cluster. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
- Manual Upgrade / kube-prometheus-stack CRDs: scope to old Robusta Classic installs with enablePrometheusStack=true; new installs don't need the CRD dance - Replace two robusta logs CLI references in upgrade.rst with kubectl logs - Rename "Monitoring Large Clusters" to "Deploying on Large Clusters" - Move Self-Monitoring page from Installation menu to Robusta Classic - Mark OpenShift debug-permissions section as Classic-only (the python/java/node_disk_analyzer playbooks aren't part of HolmesGPT) https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Drop the "open source AI agent that pulls evidence and uses LLMs" framing — generic and not differentiating now that AI agents are common. Lead with "SRE agent" instead. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Same edits applied to the welcome page now applied to architecture and oss-vs-saas: remove the "Kubernetes alerts" qualifier (Robusta investigates more than just K8s alerts) and trim the generic "open source AI agent that uses LLMs" framing now that AI agents are common knowledge. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
- Rename page title and sidebar links from "Open Source vs SaaS" to "Deployment Options" - Lead with SaaS and Self-Hosted (the paths most users will pick) instead of opening with the Open Source / HolmesGPT pitch - Move OSS HolmesGPT to a brief mention near the end pointing standalone users to holmesgpt.dev - Reorder welcome-page sentence so "SaaS" comes before "open source" Filename oss-vs-saas.rst kept to preserve URLs and existing redirects. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
These bullets (centralized alert management, multi-cluster visibility, Slack/Teams bot, no infra) lean on Robusta Classic framing. Keep this detail under Classic-specific pages, not the main Deployment Options overview. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Reframe the Open Source section to clarify what HolmesGPT OSS is (CLI/HTTP API only) and what the Robusta Platform adds (web UI, Slack/Teams bots, automatic alert triage and grouping). Drop the trailing Learn More section — its links already appear elsewhere on the page. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Make the OSS-vs-Platform comparison more scannable by giving each side its own bullet list (CLI/HTTP API on one side, web UI / bots / triage on the other). Remove the duplicate holmesgpt.dev link — the GitHub link earlier in the paragraph is enough. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The "data stays in cluster unless sent to sinks" bullet relates to Robusta Classic's notification routing, not the Holmes architecture. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
We're not orienting docs around OSS anymore — the SaaS signup flow is the canonical install path, no need to defend it. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Strip Helm commands, per-cluster install tabs, verification steps, and Next Steps from the install page. The platform signup wizard now produces tailored install commands for each cluster, so the docs page just points users there. Delete the unused _helm_install_no_prometheus.inc.rst include. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The example generated_values.yaml in argocd.rst and flux.rst showed a slack_sink config alongside robusta_sink. Drop the slack_sink to keep the example focused on what's necessary for the GitOps install (robusta_sink + cluster knobs). https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Robusta runs on any Kubernetes distribution; the dedicated page added little beyond the list. Drop the file, remove it from the toctree, relax the install-page prerequisite to "A Kubernetes cluster", and add a redirect for the old URL. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
- Move "Censoring Sensitive Data" from privacy-and-security.rst to
playbook-reference/builtin-alert-enrichment.rst — censoring relies
on Classic playbook actions (logs_enricher, report_crash_loop) and
fits under the Robusta Classic / Playbooks menu
- Drop FAQ entries:
- "Can I install Robusta without the cli?" — CLI is no longer the
canonical install path
- "Does Robusta support Thanos/Cortex/Mimir/VictoriaMetrics?" —
answer was a single sentence pointing back to docs
- Stale "robusta cli --namespace" warning under the namespace FAQ
https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The bullet told users to set monitorHelmReleases: false to reduce permissions. Since the default has changed to false, the guidance is no longer needed. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
… menu The Using Existing Secrets section (HolmesGPT reading the Robusta UI token from a Kubernetes secret) belongs alongside the rest of the secrets handling guidance. Move it to configuration-secrets.rst and preserve the inbound anchor reference. Drop the SRE Agent toctree caption from the welcome page — the entire docs site is about the SRE agent now, no need to carve out a separate menu for it. The underlying pages (main-features, getting-started, holmesgpt-docs) remain accessible via existing inbound links. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The SRE Agent menu was already dropped from the welcome page nav. Now delete the three underlying pages — main-features (a stub), getting-started (Quick Setup is now wizard-driven), and the holmesgpt-docs redirect-stub — and point inbound references at holmesgpt.dev or platform.robusta.dev. - Update conf.py redirects: main-features.html, getting-started.html, holmesgpt-docs.html, plus the existing ai-analysis.html and holmesgpt/index.html — all now go to holmesgpt.dev - Update inbound refs in metric-providers-external.rst, builtin-alert-enrichment.rst, and playbook-reference/index.rst to external links instead of internal :doc: references https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Update the redirects added in the prior commit to point at robusta.dev (the marketing site) rather than holmesgpt.dev. Same for the alert-enrichment "Looking for automatic AI enrichment" inline link. (Pre-existing toolset redirects to holmesgpt.dev are left alone since they target real toolset pages on that site.) https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Move Managed Prometheus Alerts (alertsui), Namespace Resources API, and Prometheus Query API from the HTTP APIs menu to the Robusta Classic menu — they're Classic-era functionality that fits better under that section. Drop the moved entries from the HTTP APIs Overview page bullet list. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Combine the separate "Configuring Proxy Settings for Robusta" and "... for HolmesGPT" sections into one. Show a single Helm-values example that sets HTTP_PROXY/HTTPS_PROXY on both deployments at once, and keep the env_froms note as a brief follow-up for many-at-once overrides. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The previous bullets implied air-gapped support was just a configuration toggle. Replace with a direct pointer to contact support for self-hosted options that actually work in air-gapped or offline environments. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The Data Privacy section described what the Robusta Classic OSS sends to sinks (Slack, MS Teams, etc.) and the SaaS UI's role relative to that pipeline. Both are Classic-era framing. https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
The page held a single "Global Config" section describing clusterName/account_id/signing_key — values the platform wizard generates. Drop the page from the toctree, redirect old URLs to the install page, and rewire two stale "Alert Label Mapping" inbound refs to the page that actually documents that (customize-labels-priorities.rst). https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f
Summary
This PR consolidates the Robusta installation documentation into a single, streamlined guide and removes the separate developer setup documentation. The changes simplify the installation experience by merging standalone and all-in-one installation paths into one unified guide.
Key Changes
standalone-installation.rstandall-in-one-installation.rstinto a singleindex.rstthat covers both Robusta-only and Robusta+Prometheus installationsdev-setup.rstwhich contained instructions for building from source, using mirrord, skaffold, and running tests_generate_config.jinjaand_helm_install_with_prometheus.inc.rstas their content is now integrated into the main installation guiderobusta gen-configgenerated_values.yamlacross clusters rather than running separate config generationconf.pyredirects and updated references in Slack and sink development documentationImplementation Details
https://claude.ai/code/session_019GQrc8wVq14if8f7F3pp4f