-
Notifications
You must be signed in to change notification settings - Fork 48
/
custom_toolset.yaml
30 lines (28 loc) · 1.77 KB
/
custom_toolset.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Here is an example of how you can give the LLM your own tools to use (loaded with the `-t` command line argument)
# For more examples, refer to the builtin toolsets - https://github.com/robusta-dev/holmesgpt/blob/master/holmes/plugins/toolsets/
toolsets:
# Name of the toolset (for example "mycompany/internal-tools")
# Used for informational purposes only (e.g. to print the name of the toolset if it can't be loaded)
switch_clusters:
# Description of the toolset. Used for display in the UI
description: "Set of tools for switching between kubernetes clusters"
# Documentation URL. Used for display in the UI
docs_url: "https://kubernetes.io/docs/home/"
# Icon URL. Used for display in the UI
icon_url: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRPKA-U9m5BxYQDF1O7atMfj9EMMXEoGu4t0Q&s"
# Tags for categorizing toolsets, 'core' will be used for all Holmes features (both cli's commands and chats in UI).
# The 'cluster' tag is used for UI functionality, while 'cli' is for for command-line specific tools
tags:
- core
# Prerequisites is a list of conditions checked by Holmes before using the toolset
prerequisites:
- command: "kubectl version --client"
# List of tools the LLM can use - this is the important part
tools:
# Name is a unique identifier for the tool
- name: "switch_cluster"
# The LLM looks at this description when deciding what tools are relevant for each task
description: "Used to switch between multiple kubernetes contexts(clusters)"
# A templated bash command using Jinja2 templates
# The LLM can only control parameters that you expose as template variables like {{ this_variable }}
command: "kubectl config use-context {{ cluster_name }}"