Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/help.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,12 +167,12 @@ Issues after installation when pods are running but not working correctly.
limits:
memory: 1Gi

If using a test cluster like Kind/Colima, re-install Robusta with the ``isSmallCluster=true`` property.
If using a test cluster like Kind/Colima, re-install Robusta with ``clusterSize=small``.
If you're also using Robusta's kube-prometheus-stack, add the lines involving prometheusSpec.

.. code-block:: bash

helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME> --set isSmallCluster=true \
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME> --set clusterSize=small \
--set kube-prometheus-stack.prometheus.prometheusSpec.retentionSize=9GB \
--set kube-prometheus-stack.prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.resources.requests.storage=10Gi \
--set kube-prometheus-stack.prometheus.prometheusSpec.resources.requests.memory=512Mi
Expand Down
3 changes: 2 additions & 1 deletion docs/setup-robusta/gitops/argocd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@ Preparing Robusta's config
Prepare your ``generated_values.yaml`` file for ArgoCD:

* If it's not already present, add ``clusterName: <YOUR-CLUSTER-NAME>``
* If installing on a test cluster like KIND, add ``isSmallCluster: true``
* If installing on a small or test cluster like KIND, add ``clusterSize: small``

Example ``generated_values.yaml``:

.. code-block:: yaml

clusterName: my_cluster_name # <- This is the line to be added
clusterSize: small # <- Optional. Options: small (< 16 CPUs), medium (16-128 CPUs), large (> 128 CPUs).
globalConfig:
signing_key: xxxxxx
account_id: xxxxxx
Expand Down
3 changes: 2 additions & 1 deletion docs/setup-robusta/gitops/flux.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ Preparing Robusta's config
Prepare your ``generated_values.yaml`` file for Flux:

* If it's not already present, add ``clusterName: <YOUR-CLUSTER-NAME>``
* If installing on a test cluster like KIND, add ``isSmallCluster: true``
* If installing on a small or test cluster like KIND, add ``clusterSize: small``

Example ``generated_values.yaml``:

.. code-block:: yaml

clusterName: my_cluster_name # <- This is the line to be added
clusterSize: small # <- Optional. Options: small (< 16 CPUs), medium (16-128 CPUs), large (> 128 CPUs).
globalConfig:
signing_key: xxxxxx
account_id: xxxxxx
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
.. updated to .inc.rst because of "WARNING: duplicate label"

Install with Helm
------------------------------

Copy the below commands, replacing the ``<YOUR_CLUSTER_NAME>`` placeholder.

On some clusters this can take a while, so don't panic if it appears stuck:

.. tab-set::

.. tab-item:: Normal Clusters
:name: install-standard

.. code-block:: bash
:name: cb-helm-install-only-robusta

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

.. tab-item:: EKS
:name: install-eks

To use all Robusta features, ensure storage is enabled on your cluster. If necessary, refer to the EKS documentation and install the `EBS CSI add-on <https://docs.aws.amazon.com/eks/latest/userguide/managing-ebs-csi.html#adding-ebs-csi-eks-add-on>`_

.. details:: How do I know if my cluster has storage enabled?

Try installing Robusta. If storage is not configured, you'll receive an error:

.. code-block::

PreBind plugin "VolumeBinding": binding volumes: timed out waiting for the condition

Running ``kubectl get pvc -A`` will also show PersistentVolumeClaims in ``Pending`` state.

In this case, follow the instructions above and enable storage for your cluster.

.. code-block:: bash
:name: cb-helm-install-eks

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

.. tab-item:: GKE Autopilot
:name: install-gke-autopilot

Due to Autopilot restrictions, some components are disabled. Don't worry, everything will still work.

.. code-block:: bash
:name: cb-helm-install-gke-autopilot

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml \
--set clusterName=<YOUR_CLUSTER_NAME> \
--set kube-prometheus-stack.coreDns.enabled=false \
--set kube-prometheus-stack.kubeControllerManager.enabled=false \
--set kube-prometheus-stack.kubeDns.enabled=false \
--set kube-prometheus-stack.kubeEtcd.enabled=false \
--set kube-prometheus-stack.kubeProxy.enabled=false \
--set kube-prometheus-stack.kubeScheduler.enabled=false \
--set kube-prometheus-stack.nodeExporter.enabled=false \
--set kube-prometheus-stack.prometheusOperator.kubeletService.enabled=false

.. tab-item:: OpenShift
:name: install-openshift

First :ref:`modify the Helm values to enable OpenShift support<openshift-permissions>`.

Then install Robusta as usual with Helm:

.. code-block:: bash
:name: cb-helm-install-openshift

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

.. tab-item:: Local/Test Cluster
:name: install-test-clusters

Test clusters tend to have fewer resources. To lower Robusta's resource requests, set ``clusterSize=small``.

.. code-block:: bash
:name: cb-helm-install-test-clusters

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME> --set clusterSize=small

Verifying Installation
------------------------------

Confirm that Robusta pods are running with no errors in the logs:

.. code-block:: bash
:name: cb-get-pods-robusta-logs

kubectl get pods -A | grep robusta
robusta logs
108 changes: 108 additions & 0 deletions docs/setup-robusta/installation/_helm_install_with_prometheus.inc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
.. updated to .inc.rst because of "WARNING: duplicate label"

Install with Helm
------------------------------

Copy the below commands, replacing the ``<YOUR_CLUSTER_NAME>`` placeholder.

On some clusters this can take a while, so don't panic if it appears stuck:

.. tab-set::

.. tab-item:: Normal Clusters
:name: install-standard

.. code-block:: bash
:name: cb-helm-install-only-robusta

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

.. tab-item:: EKS
:name: install-eks

To use all Robusta features, ensure storage is enabled on your cluster. If necessary, refer to the EKS documentation and install the `EBS CSI add-on <https://docs.aws.amazon.com/eks/latest/userguide/managing-ebs-csi.html#adding-ebs-csi-eks-add-on>`_

.. details:: How do I know if my cluster has storage enabled?

Try installing Robusta. If storage is not configured, you'll receive an error:

.. code-block::

PreBind plugin "VolumeBinding": binding volumes: timed out waiting for the condition

Running ``kubectl get pvc -A`` will also show PersistentVolumeClaims in ``Pending`` state.

In this case, follow the instructions above and enable storage for your cluster.

.. code-block:: bash
:name: cb-helm-install-eks

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

.. tab-item:: GKE Autopilot
:name: install-gke-autopilot

Due to Autopilot restrictions, some components are disabled. Don't worry, everything will still work.

.. code-block:: bash
:name: cb-helm-install-gke-autopilot

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml \
--set clusterName=<YOUR_CLUSTER_NAME> \
--set kube-prometheus-stack.coreDns.enabled=false \
--set kube-prometheus-stack.kubeControllerManager.enabled=false \
--set kube-prometheus-stack.kubeDns.enabled=false \
--set kube-prometheus-stack.kubeEtcd.enabled=false \
--set kube-prometheus-stack.kubeProxy.enabled=false \
--set kube-prometheus-stack.kubeScheduler.enabled=false \
--set kube-prometheus-stack.nodeExporter.enabled=false \
--set kube-prometheus-stack.prometheusOperator.kubeletService.enabled=false

.. tab-item:: OpenShift
:name: install-openshift

First :ref:`modify the Helm values to enable OpenShift support<openshift-permissions>`.

Then install Robusta as usual with Helm:

.. code-block:: bash
:name: cb-helm-install-openshift

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

.. tab-item:: Local/Test Cluster
:name: install-test-clusters

Test clusters tend to have fewer resources. To lower Robusta's resource requests, set ``clusterSize=small``.

.. code-block:: bash
:name: cb-helm-install-test-clusters

helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME> --set clusterSize=small \
Comment on lines +80 to +86
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 | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== References in chart values/templates =="
rg -n -C2 'clusterSize|isSmallCluster|Values\.clusterSize|Values\.isSmallCluster' helm/robusta

echo
echo "== Check for mapping logic (helpers/templates) =="
rg -n -C2 'isSmallCluster.*clusterSize|clusterSize.*isSmallCluster|eq .*clusterSize.*small' helm/robusta

echo
echo "== Docs switched to clusterSize =="
rg -n -C1 'clusterSize:\s*small|--set clusterSize=small' docs/setup-robusta docs/help.rst

Repository: robusta-dev/robusta

Length of output: 3404


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Check values.yaml for clusterSize and isSmallCluster =="
rg -n 'clusterSize|isSmallCluster' helm/robusta/values.yaml

echo
echo "== Check _helpers.tpl for mapping logic =="
rg -n 'clusterSize|isSmallCluster' helm/robusta/templates/_helpers.tpl

echo
echo "== List all yaml files in helm/robusta =="
fd -e yaml -e yml helm/robusta

Repository: robusta-dev/robusta

Length of output: 122


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== List all files in helm/robusta =="
find helm/robusta -type f | head -30

echo
echo "== Check if values.yaml exists and read first 50 lines =="
if [ -f helm/robusta/values.yaml ]; then
  head -50 helm/robusta/values.yaml
else
  echo "values.yaml not found at helm/robusta/values.yaml"
fi

echo
echo "== Check Chart.yaml =="
if [ -f helm/robusta/Chart.yaml ]; then
  cat helm/robusta/Chart.yaml
fi

Repository: robusta-dev/robusta

Length of output: 3219


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Search entire values.yaml for clusterSize/isSmallCluster =="
grep -n 'clusterSize\|isSmallCluster' helm/robusta/values.yaml || echo "Not found in values.yaml"

echo
echo "== Read the actual .rst file (lines 75-95) =="
sed -n '75,95p' docs/setup-robusta/installation/_helm_install_with_prometheus.inc.rst

echo
echo "== Check _helpers.tpl =="
cat helm/robusta/templates/_helpers.tpl

Repository: robusta-dev/robusta

Length of output: 6246


Fix documentation or chart: --set clusterSize=small does not reduce resource requests.

The docs instruct --set clusterSize=small, but the Helm chart never reads clusterSize. Templates check .Values.isSmallCluster (in runner.yaml and forwarder.yaml) to reduce memory/storage requests for test clusters. No mapping exists between the two parameters, so following the docs produces no effect—test clusters will use full resource requests and may fail silently.

Either update docs to use --set isSmallCluster=true, or add mapping logic in the chart (e.g., in _helpers.tpl or values.yaml) to set isSmallCluster based on clusterSize.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/setup-robusta/installation/_helm_install_with_prometheus.inc.rst` around
lines 80 - 86, The docs say to use --set clusterSize=small but the chart
templates check .Values.isSmallCluster (e.g., in runner.yaml and
forwarder.yaml), so add a mapping so clusterSize controls isSmallCluster: update
values.yaml to include clusterSize: "" (or "small") and set isSmallCluster
default false, then add logic in your helper templates (e.g., _helpers.tpl) to
set isSmallCluster = true when .Values.clusterSize == "small" (or accept boolean
|| string) so .Values.isSmallCluster is driven by .Values.clusterSize;
alternatively, if you prefer the docs change instead, update the docs snippet to
use --set isSmallCluster=true and remove the incorrect clusterSize example.

--set kube-prometheus-stack.prometheus.prometheusSpec.retentionSize=9GB \
--set kube-prometheus-stack.prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.resources.requests.storage=10Gi \
--set kube-prometheus-stack.prometheus.prometheusSpec.resources.requests.memory=512Mi

.. note::
If you are using docker desktop you will need to disable prometheus-node-exporter mounting host root, by adding the following to the above command:

.. code-block:: bash
:name: disable host mount

--set kube-prometheus-stack.prometheus-node-exporter.hostRootFsMount.enabled=false

Verifying Installation
------------------------------

Confirm that Robusta pods are running with no errors in the logs:

.. code-block:: bash
:name: cb-get-pods-robusta-logs

kubectl get pods -A | grep robusta
robusta logs
4 changes: 2 additions & 2 deletions docs/setup-robusta/multi-cluster.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ If you lost your ``generated_values.yaml`` file, you can extract it from any clu

.. code-block:: bash

helm get values -o yaml robusta | grep -v clusterName: | grep -v isSmallCluster: > generated_values.yaml
helm get values -o yaml robusta | grep -v clusterName: | grep -v clusterSize: | grep -v isSmallCluster: > generated_values.yaml

.. note::

The above command strips the ``clusterName`` and ``isSmallCluster`` options so you don't copy them accidentally.
The above command strips the ``clusterName``, ``clusterSize``, and ``isSmallCluster`` options so you don't copy them accidentally.
These options should be determined on a cluster by cluster basis.
Loading