Skip to content

Commit 1b8bb05

Browse files
authored
Merge branch 'master' into more-doc-improvements
2 parents d98ce3c + 5124e21 commit 1b8bb05

36 files changed

Lines changed: 1283 additions & 116 deletions

docs/community-tutorials.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ Here are more tutorials from the Robusta community:
1010
* **Video:** `Twitter challenge - Robusta.dev on 10 nodes <https://www.youtube.com/watch?v=l_zaCaY_wls>`_ by `Nuno Captain Corsair <https://twitter.com/nunixtech>`_
1111
* `Getting Started with Robusta on Digital Ocean <https://dev.to/heyrutam/getting-started-with-robusta-on-digital-ocean-3g41>`_ by `Rutam Prita Mishra <https://github.com/Rutam21>`_
1212
* `Getting Started with Robusta on Civo Cloud <https://dev.to/heyrutam/getting-started-with-robusta-on-civo-cloud-5h8f>`_ by `Rutam Prita Mishra <https://github.com/Rutam21>`_
13-
* `Kubernetes troubleshooting and automation using Robusta <https://xxradar.medium.com/kubernetes-troubleshooting-and-automation-using-robusta-13f113fcdc36>`_ by `Philippe Bogaerts <https://twitter.com/xxradar>`_
13+
* `Kubernetes troubleshooting and automation using Robusta <https://xxradar.medium.com/kubernetes-troubleshooting-and-automation-using-robusta-13f113fcdc36>`_ by `Philippe Bogaerts <https://twitter.com/xxradar>`_
14+
* `Enhancing Kubernetes Monitoring Automation with Robusta <https://naren4b.hashnode.dev/enhancing-kubernetes-monitoring-automation-with-robusta>`_ by `Naren P <https://naren4b.hashnode.dev/>`_

docs/configuration/exporting/exporting-data.rst

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,3 +654,125 @@ If there is an error in processing the request, the API will return the followin
654654
}
655655
656656
- **Status Code**: Varies based on the error (e.g., `400 Bad Request`, `500 Internal Server Error`).
657+
658+
.. _namespaces-resources-api:
659+
660+
POST https://api.robusta.dev/api/namespaces/resources
661+
------------------------------------------------------
662+
663+
Use this endpoint to retrieve an **active count of specific Kubernetes resources** within a namespace. This is the same data displayed in the **Namespaces** tab of the Robusta UI.
664+
665+
You can specify exactly which resource kinds you want to query in the request.
666+
667+
This API relies on resource types configured in the Robusta UI sink.
668+
Make sure to configure them as described in :ref:`cb-robusta-ui-sink-namespace-config`.
669+
670+
Request Body Schema
671+
^^^^^^^^^^^^^^^^^^^
672+
673+
The request body must include the following fields:
674+
675+
.. list-table::
676+
:widths: 25 10 70 10
677+
:header-rows: 1
678+
679+
* - Field
680+
- Type
681+
- Description
682+
- Required
683+
* - ``namespace``
684+
- string
685+
- The name of the namespace you want to inspect.
686+
- Yes
687+
* - ``account_id``
688+
- string
689+
- The unique account identifier.
690+
- Yes
691+
* - ``cluster_name``
692+
- string
693+
- The name of the cluster where the namespace resides.
694+
- Yes
695+
* - ``resources``
696+
- list
697+
- A list of resource types to count, each including ``kind``, ``apiGroup``, and ``apiVersion``.
698+
- Yes
699+
700+
Each item in the ``resources`` list must include:
701+
702+
* ``kind`` (e.g., `Deployments`)
703+
* ``apiGroup`` (e.g., `apps`, or empty string for core group)
704+
* ``apiVersion`` (e.g., `v1`, `v2`)
705+
706+
Example Request
707+
^^^^^^^^^^^^^^^^^^^^
708+
709+
Here is an example of a ``POST`` request to query the resource count in a namespace:
710+
711+
.. code-block:: bash
712+
713+
curl --location 'https://api.robusta.dev/api/namespaces/resources' \
714+
--header 'Authorization: Bearer API-KEY-HERE' \
715+
--header 'Content-Type: application/json' \
716+
--data '{
717+
"namespace": "your-namespace",
718+
"account_id": "your-account-id",
719+
"cluster_name": "your-cluster-name",
720+
"resources": [
721+
{"kind": "Deployments", "apiGroup": "apps", "apiVersion": "v1"},
722+
{"kind": "Ingresses", "apiGroup": "networking.k8s.io", "apiVersion": "v1"},
723+
{"kind": "Services", "apiGroup": "", "apiVersion": "v1"},
724+
{"kind": "HorizontalPodAutoscalers", "apiGroup": "autoscaling", "apiVersion": "v2"},
725+
{"kind": "ReplicationControllers", "apiGroup": "", "apiVersion": "v1"}
726+
]
727+
}'
728+
729+
Replace:
730+
731+
- ``API-KEY-HERE`` with your API Key from **Settings → API Keys → New API Key**.
732+
Make sure the key has **Clusters → Read** permissions to access namespace resource data.
733+
- ``your-account-id`` with the ID found in ``generated_values.yaml``
734+
- ``your-cluster-name`` and ``your-namespace`` accordingly
735+
736+
Response Format
737+
^^^^^^^^^^^^^^^^^^^^
738+
739+
*Success Response*
740+
741+
If the request is successful, the API returns the following structure:
742+
743+
.. code-block:: json
744+
745+
{
746+
"cluster": "your-cluster-name",
747+
"namespace": "your-namespace",
748+
"resources": [
749+
{
750+
"apiGroup": "apps",
751+
"apiVersion": "v1",
752+
"count": 2,
753+
"kind": "Deployments"
754+
},
755+
{
756+
"apiGroup": "",
757+
"apiVersion": "v1",
758+
"count": 5,
759+
"kind": "Pods"
760+
},
761+
...
762+
]
763+
}
764+
765+
- **Status Code**: `200 OK`
766+
767+
*Error Response*
768+
769+
If an error occurs, you will receive a response in the following format:
770+
771+
.. code-block:: json
772+
773+
{
774+
"msg": "Error message here",
775+
"error_code": 456
776+
}
777+
778+
- **Status Code**: Varies depending on the error (e.g., `400`, `403`, `500`)

docs/configuration/exporting/robusta-pro-features.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Getting Started
6060

6161
To access these features:
6262

63-
1. **Robusta SaaS**: `Sign up for free <https://home.robusta.dev/ui/>`_ to get started with the full platform
63+
1. **Robusta SaaS**: `Sign up for free <https://platform.robusta.dev/signup>`_ to get started with the full platform
6464
2. **Self-hosted Commercial**: Contact support@robusta.dev for enterprise plans with self-hosted UI
6565
3. **API Access**: Generate API keys in the Robusta platform under **Settings** → **API Keys**
6666

docs/configuration/holmesgpt/toolsets/argocd.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,16 @@ HolmesGPT needs permission to establish a port-forward to ArgoCD. The configurat
6363
- name: ARGOCD_AUTH_TOKEN
6464
value: <your argocd auth token>
6565
- name: ARGOCD_OPTS
66-
value: "--port-forward --port-forward-namespace <your_argocd_namespace> --grpc-web"
66+
value: "--port-forward --port-forward-namespace <your_argocd_namespace> --server <your_server_address> --grpc-web"
6767
toolsets:
6868
argocd/core:
6969
enabled: true
7070
7171
.. note::
7272

73+
For in cluster address, use the cluster dns. For example: ``--port-forward --port-forward-namespace argocd --server argocd-server.argocd.svc.cluster.local --insecure --grpc-web``
74+
Add ``--insecure`` to work with self signed certificates.
75+
7376
Change the namespace ``--port-forward-namespace <your_argocd_namespace>`` to the namespace in which your argocd service
7477
is deployed.
7578

docs/configuration/holmesgpt/toolsets/datadog_logs.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,19 @@ Configuration
6969
kubernetes/logs:
7070
enabled: false # HolmesGPT's default logging mechanism MUST be disabled
7171
72+
73+
DataDog Kubernetes cluster label
74+
***********************************
75+
76+
In multi cluster environments, HolmesGPT will route alerts investigations to the Kubernetes cluster the alert is firing on.
77+
78+
Add the ``cluster`` label to your DataDog monitoring agent:
79+
80+
.. image:: /images/datadog-cluster-label.png
81+
:width: 1000
82+
:align: center
83+
84+
7285
Getting API and Application Keys
7386
********************************
7487

docs/configuration/sinks/RobustaUI.rst

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,46 @@ To do so, configure a shorter retention period by setting the ``ttl_hours`` in t
6060
# automatically clean up old clusters in the UI if they are disconnected 12+ hours
6161
ttl_hours: 12
6262
63+
64+
.. _cb-robusta-ui-sink-namespace-config:
65+
66+
Monitoring Specific Resources in Namespaces
67+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
68+
69+
By default, the Robusta UI sink discovers the standard resources in all namespaces using the standard discovery interval.
70+
However, we have a configuration to monitor custom namespaced resources, and an API is exposed via the the Robusta Backend to see how many of each resource you have in a namespace.
71+
72+
To configure this, use the ``namespace_discovery_seconds`` and ``namespaceMonitoredResources`` settings in the Robusta UI sink:
73+
74+
.. code-block:: bash
75+
:name: cb-robusta-ui-sink-namespace-config-code
76+
77+
sinksConfig:
78+
- robusta_sink:
79+
name: robusta_ui_sink
80+
token: <your-token>
81+
# how often to re-scan for new namespaces (in seconds)
82+
namespace_discovery_seconds: 3600
83+
# what resource types to actively count per namespace
84+
namespaceMonitoredResources:
85+
- apiGroup: ""
86+
apiVersion: "v1"
87+
kind: "Services"
88+
- apiGroup: "apps"
89+
apiVersion: "v1"
90+
kind: "Deployments"
91+
- apiGroup: "apps.openshift.io"
92+
apiVersion: "v1"
93+
kind: "DeploymentConfig"
94+
- apiGroup: "batch"
95+
apiVersion: "v1"
96+
kind: "CronJob"
97+
- apiGroup: "networking.k8s.io"
98+
apiVersion: "v1"
99+
kind: "Ingress"
100+
101+
102+
63103
More Information about the UI
64104
-------------------------------------
65105
For more information on UI features, view `robusta.dev <https://home.robusta.dev>`_.

0 commit comments

Comments
 (0)