You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add kiali toolset
Signed-off-by: Alberto Gutierrez <[email protected]>
* Kiali Options in a type and make kiali instance
Signed-off-by: Alberto Gutierrez <[email protected]>
* Update docs about Kiali
Signed-off-by: Alberto Gutierrez <[email protected]>
* Make configuration toolsets and update docs
Signed-off-by: Alberto Gutierrez <[email protected]>
* Change token get
Signed-off-by: Alberto Gutierrez <[email protected]>
* Adapt tests to the new toolsetconfig
Signed-off-by: Alberto Gutierrez <[email protected]>
* review(toolsets): align kiali implementation
Signed-off-by: Marc Nuri <[email protected]>
* Remove kiali flags
Signed-off-by: Alberto Gutierrez <[email protected]>
* Add kiali tools
Signed-off-by: Alberto Gutierrez <[email protected]>
* Support for certificateAuthority
Signed-off-by: Alberto Gutierrez <[email protected]>
* update docs y tests
Signed-off-by: Alberto Gutierrez <[email protected]>
---------
Signed-off-by: Alberto Gutierrez <[email protected]>
Signed-off-by: Marc Nuri <[email protected]>
Co-authored-by: Marc Nuri <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+134-1Lines changed: 134 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -204,7 +204,7 @@ Enabling only the toolsets you need can help reduce the context size and improve
204
204
205
205
### Available Toolsets
206
206
207
-
The following sets of tools are available (all on by default):
207
+
The following sets of tools are available (all on by default).
208
208
209
209
<!-- AVAILABLE-TOOLSETS-START -->
210
210
@@ -213,9 +213,12 @@ The following sets of tools are available (all on by default):
213
213
| config | View and manage the current local Kubernetes configuration (kubeconfig) |
214
214
| core | Most common tools for Kubernetes management (Pods, Generic Resources, Events, etc.) |
215
215
| helm | Tools for managing Helm charts and releases |
216
+
| kiali | Most common tools for managing Kiali |
216
217
217
218
<!-- AVAILABLE-TOOLSETS-END -->
218
219
220
+
See more info about Kiali integration in [docs/KIALI_INTEGRATION.md](docs/KIALI_INTEGRATION.md).
221
+
219
222
### Tools
220
223
221
224
In case multi-cluster support is enabled (default) and you have access to multiple clusters, all applicable tools will include an additional `context` argument to specify the Kubernetes context (cluster) to use for that operation.
@@ -343,6 +346,136 @@ In case multi-cluster support is enabled (default) and you have access to multip
343
346
344
347
</details>
345
348
349
+
<details>
350
+
351
+
<summary>kiali</summary>
352
+
353
+
-**graph** - Check the status of my mesh by querying Kiali graph
354
+
-`namespace` (`string`) - Optional single namespace to include in the graph (alternative to namespaces)
355
+
-`namespaces` (`string`) - Optional comma-separated list of namespaces to include in the graph
356
+
357
+
-**mesh_status** - Get the status of mesh components including Istio, Kiali, Grafana, Prometheus and their interactions, versions, and health status
358
+
359
+
-**istio_config** - Get all Istio configuration objects in the mesh including their full YAML resources and details
360
+
361
+
-**istio_object_details** - Get detailed information about a specific Istio object including validation and help information
362
+
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
363
+
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
364
+
-`name` (`string`) **(required)** - Name of the Istio object
365
+
-`namespace` (`string`) **(required)** - Namespace containing the Istio object
366
+
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
367
+
368
+
-**istio_object_patch** - Modify an existing Istio object using PATCH method. The JSON patch data will be applied to the existing object.
369
+
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
370
+
-`json_patch` (`string`) **(required)** - JSON patch data to apply to the object
371
+
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
372
+
-`name` (`string`) **(required)** - Name of the Istio object
373
+
-`namespace` (`string`) **(required)** - Namespace containing the Istio object
374
+
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
375
+
376
+
-**istio_object_create** - Create a new Istio object using POST method. The JSON data will be used to create the new object.
377
+
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
378
+
-`json_data` (`string`) **(required)** - JSON data for the new object
379
+
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
380
+
-`namespace` (`string`) **(required)** - Namespace where the Istio object will be created
381
+
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
382
+
383
+
-**istio_object_delete** - Delete an existing Istio object using DELETE method.
384
+
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
385
+
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
386
+
-`name` (`string`) **(required)** - Name of the Istio object
387
+
-`namespace` (`string`) **(required)** - Namespace containing the Istio object
388
+
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
389
+
390
+
-**validations_list** - List all the validations in the current cluster from all namespaces
391
+
-`namespace` (`string`) - Optional single namespace to retrieve validations from (alternative to namespaces)
392
+
-`namespaces` (`string`) - Optional comma-separated list of namespaces to retrieve validations from
393
+
394
+
-**namespaces** - Get all namespaces in the mesh that the user has access to
395
+
396
+
-**services_list** - Get all services in the mesh across specified namespaces with health and Istio resource information
397
+
-`namespaces` (`string`) - Comma-separated list of namespaces to get services from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, will list services from all accessible namespaces
398
+
399
+
-**service_details** - Get detailed information for a specific service in a namespace, including validation, health status, and configuration
400
+
-`namespace` (`string`) **(required)** - Namespace containing the service
401
+
-`service` (`string`) **(required)** - Name of the service to get details for
402
+
403
+
-**service_metrics** - Get metrics for a specific service in a namespace. Supports filtering by time range, direction (inbound/outbound), reporter, and other query parameters
404
+
-`byLabels` (`string`) - Comma-separated list of labels to group metrics by (e.g., 'source_workload,destination_service'). Optional
405
+
-`direction` (`string`) - Traffic direction: 'inbound' or 'outbound'. Optional, defaults to 'outbound'
406
+
-`duration` (`string`) - Duration of the query period in seconds (e.g., '1800' for 30 minutes). Optional, defaults to 1800 seconds
407
+
-`namespace` (`string`) **(required)** - Namespace containing the service
408
+
-`quantiles` (`string`) - Comma-separated list of quantiles for histogram metrics (e.g., '0.5,0.95,0.99'). Optional
409
+
-`rateInterval` (`string`) - Rate interval for metrics (e.g., '1m', '5m'). Optional, defaults to '1m'
410
+
-`reporter` (`string`) - Metrics reporter: 'source', 'destination', or 'both'. Optional, defaults to 'source'
-`service` (`string`) **(required)** - Name of the service to get metrics for
413
+
-`step` (`string`) - Step between data points in seconds (e.g., '15'). Optional, defaults to 15 seconds
414
+
415
+
-**workloads_list** - Get all workloads in the mesh across specified namespaces with health and Istio resource information
416
+
-`namespaces` (`string`) - Comma-separated list of namespaces to get workloads from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, will list workloads from all accessible namespaces
417
+
418
+
-**workload_details** - Get detailed information for a specific workload in a namespace, including validation, health status, and configuration
419
+
-`namespace` (`string`) **(required)** - Namespace containing the workload
420
+
-`workload` (`string`) **(required)** - Name of the workload to get details for
421
+
422
+
-**workload_metrics** - Get metrics for a specific workload in a namespace. Supports filtering by time range, direction (inbound/outbound), reporter, and other query parameters
423
+
-`byLabels` (`string`) - Comma-separated list of labels to group metrics by (e.g., 'source_workload,destination_service'). Optional
424
+
-`direction` (`string`) - Traffic direction: 'inbound' or 'outbound'. Optional, defaults to 'outbound'
425
+
-`duration` (`string`) - Duration of the query period in seconds (e.g., '1800' for 30 minutes). Optional, defaults to 1800 seconds
426
+
-`namespace` (`string`) **(required)** - Namespace containing the workload
427
+
-`quantiles` (`string`) - Comma-separated list of quantiles for histogram metrics (e.g., '0.5,0.95,0.99'). Optional
428
+
-`rateInterval` (`string`) - Rate interval for metrics (e.g., '1m', '5m'). Optional, defaults to '1m'
429
+
-`reporter` (`string`) - Metrics reporter: 'source', 'destination', or 'both'. Optional, defaults to 'source'
-`step` (`string`) - Step between data points in seconds (e.g., '15'). Optional, defaults to 15 seconds
432
+
-`workload` (`string`) **(required)** - Name of the workload to get metrics for
433
+
434
+
-**health** - Get health status for apps, workloads, and services across specified namespaces in the mesh. Returns health information including error rates and status for the requested resource type
435
+
-`namespaces` (`string`) - Comma-separated list of namespaces to get health from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, returns health for all accessible namespaces
436
+
-`queryTime` (`string`) - Unix timestamp (in seconds) for the prometheus query. If not provided, uses current time. Optional
-`type` (`string`) - Type of health to retrieve: 'app', 'service', or 'workload'. Default: 'app'
439
+
440
+
-**workload_logs** - Get logs for a specific workload's pods in a namespace. Only requires namespace and workload name - automatically discovers pods and containers. Optionally filter by container name, time range, and other parameters. Container is auto-detected if not specified.
441
+
-`container` (`string`) - Optional container name to filter logs. If not provided, automatically detects and uses the main application container (excludes istio-proxy and istio-init)
442
+
-`namespace` (`string`) **(required)** - Namespace containing the workload
443
+
-`since` (`string`) - Time duration to fetch logs from (e.g., '5m', '1h', '30s'). If not provided, returns recent logs
444
+
-`tail` (`integer`) - Number of lines to retrieve from the end of logs (default: 100)
445
+
-`workload` (`string`) **(required)** - Name of the workload to get logs for
446
+
447
+
-**app_traces** - Get distributed tracing data for a specific app in a namespace. Returns trace information including spans, duration, and error details for troubleshooting and performance analysis.
448
+
-`app` (`string`) **(required)** - Name of the app to get traces for
449
+
-`clusterName` (`string`) - Cluster name for multi-cluster environments (optional)
450
+
-`endMicros` (`string`) - End time for traces in microseconds since epoch (optional)
451
+
-`limit` (`integer`) - Maximum number of traces to return (default: 100)
452
+
-`minDuration` (`integer`) - Minimum trace duration in microseconds (optional)
453
+
-`namespace` (`string`) **(required)** - Namespace containing the app
454
+
-`startMicros` (`string`) - Start time for traces in microseconds since epoch (optional)
455
+
-`tags` (`string`) - JSON string of tags to filter traces (optional)
456
+
457
+
-**service_traces** - Get distributed tracing data for a specific service in a namespace. Returns trace information including spans, duration, and error details for troubleshooting and performance analysis.
458
+
-`clusterName` (`string`) - Cluster name for multi-cluster environments (optional)
459
+
-`endMicros` (`string`) - End time for traces in microseconds since epoch (optional)
460
+
-`limit` (`integer`) - Maximum number of traces to return (default: 100)
461
+
-`minDuration` (`integer`) - Minimum trace duration in microseconds (optional)
462
+
-`namespace` (`string`) **(required)** - Namespace containing the service
463
+
-`service` (`string`) **(required)** - Name of the service to get traces for
464
+
-`startMicros` (`string`) - Start time for traces in microseconds since epoch (optional)
465
+
-`tags` (`string`) - JSON string of tags to filter traces (optional)
466
+
467
+
-**workload_traces** - Get distributed tracing data for a specific workload in a namespace. Returns trace information including spans, duration, and error details for troubleshooting and performance analysis.
468
+
-`clusterName` (`string`) - Cluster name for multi-cluster environments (optional)
469
+
-`endMicros` (`string`) - End time for traces in microseconds since epoch (optional)
470
+
-`limit` (`integer`) - Maximum number of traces to return (default: 100)
471
+
-`minDuration` (`integer`) - Minimum trace duration in microseconds (optional)
472
+
-`namespace` (`string`) **(required)** - Namespace containing the workload
473
+
-`startMicros` (`string`) - Start time for traces in microseconds since epoch (optional)
474
+
-`tags` (`string`) - JSON string of tags to filter traces (optional)
475
+
-`workload` (`string`) **(required)** - Name of the workload to get traces for
0 commit comments