Aller au contenu

API Clusters

Endpoints pour créer, lister, modifier et supprimer des clusters.

GET /v1/clusters

Paramètres query :

ParamètreTypeDescription
pagenumberPage (défaut: 1)
per_pagenumberRésultats par page (défaut: 20)
statusstringFiltrer par statut

Réponse 200 OK :

{
"items": [
{
"id": "cls_abc123",
"name": "production",
"status": "running",
"phase": "managed",
"control_planes": 3,
"workers": 5,
"node_size": "large",
"node_count": 8,
"endpoint": "https://cls-abc123.k8s.deployme.cloud:6443",
"kubernetes_version": "v1.31.0",
"created_at": "2026-03-01T10:00:00Z",
"updated_at": "2026-03-01T10:05:00Z"
}
],
"total": 1,
"page": 1,
"per_page": 20
}
POST /v1/clusters

Body :

{
"name": "production",
"control_planes": 3,
"workers": 5,
"node_size": "large",
"phase": "managed"
}
ChampTypeRequisDescription
namestringOuiNom du cluster (alphanumérique, tirets)
control_planesnumberOuiNombre de control planes (1 ou 3)
workersnumberOuiNombre de workers (1+)
node_sizestringOuismall, medium, large, xlarge
phasestringNonmanaged (défaut), onpremise, baremetal
infra_idstringNonID de l’infra cible (requis si phase != managed)

Réponse 201 Created :

{
"id": "cls_abc123",
"name": "production",
"status": "provisioning",
"phase": "managed",
"control_planes": 3,
"workers": 5,
"node_size": "large",
"created_at": "2026-03-15T14:30:00Z"
}
GET /v1/clusters/{cluster_id}

Réponse 200 OK : Objet cluster complet (voir format ci-dessus).

PATCH /v1/clusters/{cluster_id}

Body :

{
"workers": 8
}

Seuls les champs workers et node_size sont modifiables après création.

DELETE /v1/clusters/{cluster_id}

Réponse 204 No Content

GET /v1/clusters/{cluster_id}/kubeconfig

Réponse 200 OK : Fichier YAML kubeconfig en texte brut.

Fenêtre de terminal
curl -H "Authorization: Bearer TOKEN" \
https://api.deployme.cloud/v1/clusters/cls_abc123/kubeconfig \
-o kubeconfig.yaml
StatutDescription
provisioningEn cours de création
runningCluster opérationnel
scalingAjout ou retrait de nodes en cours
upgradingMise à jour Kubernetes en cours
errorErreur lors d’une opération
deletingSuppression en cours