Skip to main content
PUT
/
api
/
svc
/
v1
/
clusters
Create or Update Cluster
curl --request PUT \
  --url https://{controlPlaneURL}/api/svc/v1/clusters \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "manifest": {
    "type": "cluster",
    "name": "<string>",
    "cluster_type": "aws-eks",
    "environment_names": [
      "<string>"
    ],
    "base_domains": [
      "<string>"
    ],
    "monitoring": {
      "loki_url": "<string>",
      "victoria_logs_url": "<string>",
      "prometheus_url": "<string>",
      "kubecost_url": "<string>"
    },
    "default_registry_fqn": "<string>",
    "workbench_config": {
      "notebook_config": {
        "base_domain": "<string>"
      },
      "ssh_server_config": {
        "base_domain": "<string>",
        "port": 123
      },
      "default_storage_class": "<string>"
    },
    "spark_config": {
      "ui_base_domain": "<string>"
    },
    "ingress_controller_config": {
      "ingress_class_name": "nginx"
    },
    "cluster_integration_fqn": "<string>",
    "workflow_storage_integration_fqn": "<string>",
    "supported_nodepools": [
      {
        "name": "<string>",
        "description": "<string>"
      }
    ],
    "node_label_keys": {
      "nodepool_selector_label": "<string>"
    },
    "collaborators": [
      {
        "subject": "<string>",
        "role_id": "<string>"
      }
    ]
  },
  "dryRun": true
}'
{
  "data": {
    "id": "<string>",
    "fqn": "<string>",
    "name": "<string>",
    "manifest": {
      "type": "cluster",
      "name": "<string>",
      "cluster_type": "aws-eks",
      "environment_names": [
        "<string>"
      ],
      "base_domains": [
        "<string>"
      ],
      "monitoring": {
        "loki_url": "<string>",
        "victoria_logs_url": "<string>",
        "prometheus_url": "<string>",
        "kubecost_url": "<string>"
      },
      "default_registry_fqn": "<string>",
      "workbench_config": {
        "notebook_config": {
          "base_domain": "<string>"
        },
        "ssh_server_config": {
          "base_domain": "<string>",
          "port": 123
        },
        "default_storage_class": "<string>"
      },
      "spark_config": {
        "ui_base_domain": "<string>"
      },
      "ingress_controller_config": {
        "ingress_class_name": "nginx"
      },
      "cluster_integration_fqn": "<string>",
      "workflow_storage_integration_fqn": "<string>",
      "supported_nodepools": [
        {
          "name": "<string>",
          "description": "<string>"
        }
      ],
      "node_label_keys": {
        "nodepool_selector_label": "<string>"
      },
      "collaborators": [
        {
          "subject": "<string>",
          "role_id": "<string>"
        }
      ]
    },
    "tenantName": "<string>",
    "createdBySubject": {
      "subjectId": "<string>",
      "subjectType": "user",
      "subjectSlug": "<string>",
      "subjectDisplayName": "<string>"
    },
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "createdBy": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
manifest
object
required

Cluster manifest

dryRun
boolean

Dry run the cluster creation/update

Response

Returns newly created/updated cluster on success

data
object
required

Cluster

I