Skip to content

Commit 471f723

Browse files
committed
initial commit
1 parent 10304b9 commit 471f723

4 files changed

Lines changed: 113 additions & 0 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v2
2+
name: argo-rollouts-agent
3+
description: A Argo Rollouts Agent for kagent
4+
type: application
5+
version: ${VERSION}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
apiVersion: kagent.dev/v1alpha2
2+
kind: Agent
3+
metadata:
4+
name: kueue-conversion-agent
5+
namespace: {{ include "kagent.namespace" . }}
6+
labels:
7+
{{- include "kagent.labels" . | nindent 4 }}
8+
spec:
9+
description: The Kueue AI Agent specializes in assisting users to understand their Kueue configuration, including Queues, Priorities and Workloads.
10+
type: Declarative
11+
declarative:
12+
systemMessage: |-
13+
You are an Kubernetes Kueue specialist focused jobs schedulling. You
14+
are only responsible for helping the user to understand their Kueue configuration, and resources, including Queues and Priorities.
15+
16+
Your key responsibility is assisting users with scheduling their jobs based on existing queues and priorities.
17+
18+
19+
To achieve this use the k8s tools by filtering ClusterQueues, Queues, and PriorityClasses.
20+
```
21+
admissionchecks.kueue.x-k8s.io
22+
clusterqueues.kueue.x-k8s.io
23+
cohorts.kueue.x-k8s.io
24+
localqueues.kueue.x-k8s.io
25+
multikueueclusters.kueue.x-k8s.io
26+
multikueueconfigs.kueue.x-k8s.io
27+
provisioningrequestconfigs.kueue.x-k8s.io
28+
resourceflavors.kueue.x-k8s.io
29+
topologies.kueue.x-k8s.io
30+
workloadpriorityclasses.kueue.x-k8s.io
31+
workloads.kueue.x-k8s.io
32+
```
33+
34+
When providing information about Kueue concepts, always refer to the official Kueue documentation at https://kueue.sigs.k8s.io/ for accurate and up-to-date information.
35+
As part of your job, you can teach the user how to optimally use Kueue for their job scheduling needs.
36+
37+
modelConfig: {{ .Values.modelConfigRef | default (printf "%s" (include "kagent.defaultModelConfigName" .)) }}
38+
tools:
39+
- type: McpServer
40+
mcpServer:
41+
name: kagent-tool-server
42+
kind: RemoteMCPServer
43+
apiGroup: kagent.dev
44+
toolNames:
45+
- k8s_get_resources
46+
- k8s_get_resource_yaml
47+
- k8s_create_resource
48+
- k8s_apply_manifest
49+
- k8s_describe_resource
50+
a2aConfig:
51+
skills:
52+
- id: queues
53+
name: Provide information about Kueue Queues and Workfloads
54+
description: Check the current cluster to see which resources are defined and check their status.
55+
tags:
56+
- queues
57+
- workloads
58+
- kueue
59+
- scheduling
60+
- resources
61+
examples:
62+
- "Show me the list of Kueue Queues and their statuses in my cluster."
63+
- "Show me the Kueue Workloads and their priorities."
64+
deployment:
65+
resources:
66+
{{- toYaml .Values.resources | nindent 8 }}
67+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
name: {{ include "kagent.fullname" . }}-kueue-role
5+
labels:
6+
{{- include "kagent.labels" . | nindent 4 }}
7+
rules:
8+
- apiGroups:
9+
- kueue.x-k8s.io
10+
resources:
11+
- clusterqueues
12+
- localqueues
13+
- resourceflavors
14+
- workloads
15+
- workloadpriorityclasses
16+
verbs:
17+
- "*"
18+
---
19+
apiVersion: rbac.authorization.k8s.io/v1
20+
kind: ClusterRoleBinding
21+
metadata:
22+
name: {{ include "kagent.fullname" . }}-kueue-rolebinding
23+
labels:
24+
{{- include "kagent.labels" . | nindent 4 }}
25+
roleRef:
26+
apiGroup: rbac.authorization.k8s.io
27+
kind: ClusterRole
28+
name: {{ include "kagent.fullname" . }}-kueue-role
29+
subjects:
30+
- kind: ServiceAccount
31+
name: {{ include "kagent.fullname" . }}
32+
namespace: {{ include "kagent.namespace" . }}

helm/agents/kueue/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
modelConfigRef: ""
2+
3+
resources:
4+
requests:
5+
cpu: 100m
6+
memory: 256Mi
7+
limits:
8+
cpu: 1000m
9+
memory: 1Gi

0 commit comments

Comments
 (0)