The Kubernetes endpoints let you register clusters, list namespaces, deployments, pods, and services, and remove clusters from InfraAudit. Clusters are registered by providing a kubeconfig, and InfraAudit continuously syncs their workloads.
Base path: /api/v1/kubernetes
POST /kubernetes/clusters — register a cluster
Registers a new Kubernetes cluster using its kubeconfig.
POST /api/v1/kubernetes/clusters
Authorization: Bearer <token>
Content-Type: application/json
Request body
A human-readable label for this cluster, for example Production EKS.
The kubeconfig YAML contents as a string.
{
"name": "Production EKS",
"kubeconfig": "apiVersion: v1\nkind: Config\n..."
}
Response 201
{
"id": 1,
"name": "Production EKS",
"status": "syncing",
"created_at": "2024-01-15T10:00:00Z"
}
GET /kubernetes/clusters — list clusters
Returns all registered clusters.
GET /api/v1/kubernetes/clusters
Authorization: Bearer <token>
GET /kubernetes/clusters/ — get cluster
Returns details for a single cluster.
GET /api/v1/kubernetes/clusters/{id}
Authorization: Bearer <token>
GET /kubernetes/clusters//namespaces — list namespaces
GET /api/v1/kubernetes/clusters/{id}/namespaces
Authorization: Bearer <token>
GET /kubernetes/clusters//deployments — list deployments
GET /api/v1/kubernetes/clusters/{id}/deployments
Authorization: Bearer <token>
Query parameters
Response
[
{
"name": "api-deployment",
"namespace": "production",
"replicas": 3,
"ready_replicas": 3,
"image": "myapp:1.24.0"
}
]
GET /kubernetes/clusters//pods — list pods
GET /api/v1/kubernetes/clusters/{id}/pods
Authorization: Bearer <token>
Query parameters
GET /kubernetes/clusters//services — list services
GET /api/v1/kubernetes/clusters/{id}/services
Authorization: Bearer <token>
DELETE /kubernetes/clusters/ — remove cluster
Removes the cluster registration and stops syncing. Historical data is retained.
DELETE /api/v1/kubernetes/clusters/{id}
Authorization: Bearer <token>
Returns 204 No Content.