Introduce Cluster Agent URL Configuration GraphQL API (Part 4)
What does this MR do and why?
This change set introduces the Receptive Agents URL configuration to the GraphQL API.
This MR is part four of a series of MRs to introduce basic Receptive Agents support in the backend:
- Introduce models for Receptive Agents (Part 1) (!163142 - merged)
- Receptive Agents REST API (Part 2) (!163143 - merged)
- Receptive Agents internal REST API (Part 3) (!163144 - merged)
- Introduce Cluster Agent URL Configuration Graph... (!163493 - merged)
Important: this MR can be merged independent of the status of the part 3 MR!
Closes #480047 (closed)
Examples
Example GraphQL query:
query agentConfigurations() {
project(fullPath: "<project>") {
id
clusterAgents {
nodes {
id
name
isReceptive
urlConfigurations {
nodes {
id
url
}
}
}
}
}
}
Response
{
"data": {
"project": {
"id": "gid://gitlab/Project/20",
"clusterAgents": {
"nodes": [
{
"id": "gid://gitlab/Clusters::Agent/21",
"name": "345srfsrg",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
},
{
"id": "gid://gitlab/Clusters::Agent/17",
"name": "api-test",
"isReceptive": true,
"urlConfigurations": {
"nodes": [
{
"id": "gid://gitlab/Clusters::Agents::UrlConfiguration/5",
"url": "grpc://agentk.example.com"
}
]
}
},
{
"id": "gid://gitlab/Clusters::Agent/24",
"name": "bootstrapped-agent",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
},
{
"id": "gid://gitlab/Clusters::Agent/1",
"name": "k3d-agentk",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
},
{
"id": "gid://gitlab/Clusters::Agent/14",
"name": "receptive-test",
"isReceptive": false,
"urlConfigurations": {
"nodes": [
{
"id": "gid://gitlab/Clusters::Agents::UrlConfiguration/1",
"url": "grpc://127.0.0.1:8082"
}
]
}
},
{
"id": "gid://gitlab/Clusters::Agent/19",
"name": "sdfgsfgsdfgsfg",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
},
{
"id": "gid://gitlab/Clusters::Agent/20",
"name": "sfgsdfgsgfsdfgsdfgsdfg",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
},
{
"id": "gid://gitlab/Clusters::Agent/23",
"name": "test-dot-com",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
},
{
"id": "gid://gitlab/Clusters::Agent/22",
"name": "test-not-dot-com",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
},
{
"id": "gid://gitlab/Clusters::Agent/18",
"name": "testvers",
"isReceptive": false,
"urlConfigurations": {
"nodes": []
}
}
]
}
}
}
}
Edited by Timo Furrer