Skip to content

Commit 8521c37

Browse files
committed
Fix inaccuracies in network connectivity docs
Remove fabricated MCP addon section (not present in this repo). Fix HolmesGPT port references to reflect dynamic service discovery rather than hardcoded values. Correct Holmes API endpoint list to match actual usage in ai_integration.py. https://claude.ai/code/session_01D2QqgncaRPy4wudFQv3ELn
1 parent 9457778 commit 8521c37

1 file changed

Lines changed: 13 additions & 47 deletions

File tree

docs/how-it-works/network-connectivity.rst

Lines changed: 13 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ Outbound
7272
- 443
7373
- Required for each configured sink. Outbound HTTPS to the sink provider's API.
7474
* - HolmesGPT service
75-
- 80 → 5050
76-
- Required when HolmesGPT is enabled. In-cluster traffic to the ``holmes`` service.
75+
- Discovered dynamically
76+
- Required when HolmesGPT is enabled. In-cluster traffic to the ``holmes`` ClusterIP service. The runner discovers the Holmes service and port via Kubernetes service discovery (label ``app=holmes``).
7777
* - Git repositories
7878
- 22 / 443
7979
- Optional. Used when custom playbook repos are configured via SSH or HTTPS.
@@ -124,7 +124,7 @@ The forwarder makes outbound HTTP calls to the runner service (port 80) and to t
124124
HolmesGPT
125125
^^^^^^^^^^
126126

127-
HolmesGPT runs as a separate ``Deployment`` with its own ``ClusterIP`` service.
127+
HolmesGPT runs as a separate ``Deployment`` with its own ``ClusterIP`` service. It is deployed via a subchart (``holmesgpt``), and its service port is discovered dynamically by the Robusta runner using Kubernetes service discovery (label ``app=holmes``).
128128

129129
Inbound (Cluster-Internal)
130130
--------------------------
@@ -138,9 +138,11 @@ Inbound (Cluster-Internal)
138138
- Protocol
139139
- Purpose
140140
* - Holmes API
141-
- 80 → 5050
141+
- Defined by Holmes subchart
142142
- HTTP
143-
- Receives investigation requests from the Robusta runner. Endpoints include ``/api/investigate``, ``/api/chat``, ``/api/issue_chat``, and health probes (``/healthz``, ``/readyz``).
143+
- Receives investigation requests from the Robusta runner. Endpoints used include ``/api/investigate``, ``/api/stream/investigate``, ``/api/chat``, ``/api/issue_chat``, ``/api/conversation``, and ``/api/model``.
144+
145+
The runner discovers the Holmes service URL automatically. You can also set it explicitly via the ``holmes_url`` configuration option.
144146

145147
Outbound
146148
--------
@@ -160,10 +162,7 @@ Outbound
160162
- Required. HolmesGPT reads pod logs, events, resource YAML, and other cluster data during investigations.
161163
* - Prometheus
162164
- 9090 (default)
163-
- Required when the ``prometheus/metrics`` toolset is enabled (default). In-cluster traffic.
164-
* - MCP addon services
165-
- 8000
166-
- Optional. In-cluster traffic to MCP sidecar services for AWS, Azure, GCP, GitHub, or MariaDB integrations.
165+
- Optional. Used when HolmesGPT queries Prometheus for metric data during investigations. In-cluster traffic.
167166

168167
.. _llm-provider-domains:
169168

@@ -189,34 +188,6 @@ Allow outbound HTTPS (port 443) to the domain for your chosen provider:
189188

190189
If you use a custom or self-hosted LLM endpoint, allow access to that endpoint instead.
191190

192-
.. _mcp-addon-networking:
193-
194-
MCP Addon Services (Optional)
195-
------------------------------
196-
197-
When Holmes MCP addons are enabled (e.g., ``mcpAddons.aws.enabled: true``), each addon runs as a separate deployment with a ``ClusterIP`` service on port 8000. Holmes communicates with these addons over in-cluster HTTP.
198-
199-
The addons themselves make outbound calls to cloud provider APIs:
200-
201-
.. list-table::
202-
:header-rows: 1
203-
:widths: 20 80
204-
205-
* - Addon
206-
- Outbound Destinations
207-
* - AWS
208-
- AWS service endpoints (IAM, CloudWatch, etc.) in your configured region
209-
* - Azure
210-
- Azure Resource Manager and related APIs
211-
* - GCP
212-
- Google Cloud APIs (``*.googleapis.com``)
213-
* - GitHub
214-
- ``api.github.com`` (or your GitHub Enterprise host)
215-
* - MariaDB
216-
- Your database host on the configured port (default 3306)
217-
218-
Some MCP addons include optional ``NetworkPolicy`` resources in their Helm templates. These can be enabled per addon (e.g., ``mcpAddons.aws.networkPolicy.enabled: true``) and restrict ingress to only the Holmes pod on port 8000.
219-
220191
.. _network-policies:
221192

222193
Network Policy Guidelines
@@ -247,10 +218,7 @@ Ingress Rules
247218
- 5000/TCP
248219
* - ``holmes``
249220
- ``robusta-runner`` pods
250-
- 5050/TCP
251-
* - ``holmes`` MCP addons
252-
- ``holmes`` pods
253-
- 8000/TCP
221+
- Holmes service target port (see Holmes subchart values)
254222
* - ``robusta-forwarder``
255223
- Prometheus (for scraping ``/metrics``)
256224
- 2112/TCP
@@ -265,13 +233,11 @@ Egress Rules
265233
* - Source Pod
266234
- Allow To
267235
* - ``robusta-runner``
268-
- Kubernetes API (443), Prometheus (9090), AlertManager (9093), Grafana (3000), Holmes service (80), Robusta SaaS domains (443), configured sinks (443), DNS (53)
236+
- Kubernetes API (443), Prometheus (9090), AlertManager (9093), Grafana (3000), Holmes service, Robusta SaaS domains (443), configured sinks (443), DNS (53)
269237
* - ``holmes``
270-
- Kubernetes API (443), LLM provider (443), Prometheus (9090), MCP addon services (8000), DNS (53)
238+
- Kubernetes API (443), LLM provider (443), Prometheus (9090), DNS (53)
271239
* - ``robusta-forwarder``
272240
- Kubernetes API (443), Runner service (80), DNS (53)
273-
* - MCP addons
274-
- Respective cloud provider APIs (443), DNS (53)
275241

276242
.. tip::
277243

@@ -306,13 +272,13 @@ The following example allows the Robusta runner to reach Holmes, the Kubernetes
306272
- ports:
307273
- port: 443
308274
protocol: TCP
309-
# Holmes service
275+
# Holmes service (adjust port to match your Holmes subchart values)
310276
- to:
311277
- podSelector:
312278
matchLabels:
313279
app: holmes
314280
ports:
315-
- port: 5050
281+
- port: 8080
316282
protocol: TCP
317283
# Prometheus (adjust selector to match your Prometheus)
318284
- ports:

0 commit comments

Comments
 (0)