Skip to main content
POST
/
org
/
{org}
/
mk8s
Create an Mk8s Cluster
curl --request POST \
  --url https://api.cpln.io/org/{org}/mk8s \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "description": "<string>",
  "tags": {},
  "spec": {
    "version": "1.26.0",
    "firewall": [
      {
        "sourceCIDR": "<string>",
        "description": "<string>"
      }
    ],
    "provider": {
      "generic": {
        "networking": {
          "serviceNetwork": "10.43.0.0/16",
          "podNetwork": "10.42.0.0/16",
          "dnsForwarder": "<string>"
        },
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ]
          }
        ]
      },
      "hetzner": {
        "hetznerLabels": {},
        "networking": {
          "dnsForwarder": "<string>"
        },
        "preInstallScript": "<string>",
        "tokenSecretLink": "<string>",
        "firewallId": "<string>",
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "serverType": "<string>",
            "overrideImage": "<string>",
            "minSize": 123,
            "maxSize": 123
          }
        ],
        "dedicatedServerNodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ]
          }
        ],
        "image": "ubuntu-20.04",
        "sshKey": "<string>",
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        },
        "floatingIPSelector": {}
      },
      "aws": {
        "awsTags": {},
        "skipCreateRoles": true,
        "networking": {
          "serviceNetwork": "10.43.0.0/16",
          "podNetwork": "10.42.0.0/16",
          "dnsForwarder": "<string>"
        },
        "preInstallScript": "<string>",
        "image": {
          "recommended": "ubuntu/jammy-22.04",
          "exact": "<string>"
        },
        "deployRoleArn": "<string>",
        "deployRoleChain": [
          {
            "roleArn": "<string>",
            "externalId": "<string>",
            "sessionNamePrefix": "<string>"
          }
        ],
        "keyPair": "<string>",
        "diskEncryptionKeyArn": "<string>",
        "securityGroupIds": [
          "<string>"
        ],
        "extraNodePolicies": [
          "<string>"
        ],
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "instanceTypes": [
              "<string>"
            ],
            "overrideImage": {
              "recommended": "ubuntu/jammy-22.04",
              "exact": "<string>"
            },
            "bootDiskSize": 123,
            "minSize": 123,
            "maxSize": 123,
            "onDemandBaseCapacity": 123,
            "onDemandPercentageAboveBaseCapacity": 123,
            "spotAllocationStrategy": "lowest-price",
            "subnetIds": [
              "<string>"
            ],
            "extraSecurityGroupIds": [
              "<string>"
            ]
          }
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        }
      },
      "linode": {
        "region": "<string>",
        "tokenSecretLink": "<string>",
        "firewallId": "<string>",
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "serverType": "<string>",
            "overrideImage": "<string>",
            "subnetId": "<string>",
            "minSize": 123,
            "maxSize": 123
          }
        ],
        "image": "<string>",
        "authorizedUsers": [
          "<string>"
        ],
        "authorizedKeys": [
          "<string>"
        ],
        "vpcId": "<string>",
        "preInstallScript": "<string>",
        "networking": {
          "dnsForwarder": "<string>"
        },
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        }
      },
      "oblivus": {
        "datacenter": "MON1",
        "tokenSecretLink": "<string>",
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "minSize": 123,
            "maxSize": 123,
            "flavor": "A100_NVLINK_80GB_x8"
          }
        ],
        "sshKeys": [
          "<string>"
        ],
        "unmanagedNodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ]
          }
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        },
        "preInstallScript": "<string>"
      },
      "lambdalabs": {
        "region": "asia-northeast-1",
        "tokenSecretLink": "<string>",
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "minSize": 123,
            "maxSize": 123,
            "instanceType": "cpu_4x_general"
          }
        ],
        "sshKey": "<string>",
        "unmanagedNodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ]
          }
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        },
        "fileSystems": [
          "<string>"
        ],
        "preInstallScript": "<string>"
      },
      "paperspace": {
        "region": "AMS1",
        "tokenSecretLink": "<string>",
        "sharedDrives": [
          "<string>"
        ],
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "minSize": 123,
            "maxSize": 123,
            "publicIpType": "none",
            "bootDiskSize": 123,
            "machineType": "A100"
          }
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        },
        "unmanagedNodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ]
          }
        ],
        "preInstallScript": "<string>",
        "userIds": [
          "<string>"
        ],
        "networkId": "<string>"
      },
      "ephemeral": {
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "count": 123,
            "arch": "any",
            "flavor": "debian",
            "cpu": "<string>",
            "memory": "<string>"
          }
        ]
      },
      "triton": {
        "connection": {
          "url": "<string>",
          "account": "<string>",
          "user": "<string>",
          "privateKeySecretLink": "<string>"
        },
        "networking": {
          "dnsForwarder": "<string>"
        },
        "preInstallScript": "<string>",
        "loadBalancer": {
          "manual": {
            "packageId": "<string>",
            "imageId": "<string>",
            "publicNetworkId": "<string>",
            "privateNetworkIds": [
              "<string>"
            ],
            "metadata": {},
            "tags": {},
            "logging": {
              "nodePort": 123,
              "externalSyslog": "<string>"
            },
            "count": 123,
            "cnsInternalDomain": "<string>",
            "cnsPublicDomain": "<string>"
          },
          "none": {},
          "gateway": {}
        },
        "firewallEnabled": true,
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "packageId": "<string>",
            "overrideImageId": "<string>",
            "publicNetworkId": "<string>",
            "privateNetworkIds": [
              "<string>"
            ],
            "tritonTags": {},
            "minSize": 123,
            "maxSize": 123
          }
        ],
        "imageId": "<string>",
        "sshKeys": [
          "<string>"
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        }
      },
      "azure": {
        "subscriptionId": "<string>",
        "sdkSecretLink": "<string>",
        "resourceGroup": "<string>",
        "networking": {
          "serviceNetwork": "10.43.0.0/16",
          "podNetwork": "10.42.0.0/16",
          "dnsForwarder": "<string>"
        },
        "preInstallScript": "<string>",
        "image": {
          "recommended": "ubuntu/noble-24.04",
          "reference": {
            "publisher": "<string>",
            "offer": "<string>",
            "sku": "<string>",
            "version": "<string>"
          }
        },
        "sshKeys": [
          "<string>"
        ],
        "tags": {},
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "size": "<string>",
            "subnetId": "<string>",
            "zones": [
              123
            ],
            "overrideImage": {
              "recommended": "ubuntu/noble-24.04",
              "reference": {
                "publisher": "<string>",
                "offer": "<string>",
                "sku": "<string>",
                "version": "<string>"
              }
            },
            "bootDiskSize": 123,
            "minSize": 123,
            "maxSize": 123
          }
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        }
      },
      "digitalocean": {
        "digitalOceanTags": [
          "<string>"
        ],
        "networking": {
          "dnsForwarder": "<string>"
        },
        "preInstallScript": "<string>",
        "tokenSecretLink": "<string>",
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "dropletSize": "<string>",
            "overrideImage": "<string>",
            "minSize": 123,
            "maxSize": 123
          }
        ],
        "image": "<string>",
        "sshKeys": [
          "<string>"
        ],
        "extraSshKeys": [
          "<string>"
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        },
        "reservedIPs": [
          "<string>"
        ]
      },
      "gcp": {
        "projectId": "<string>",
        "labels": {},
        "tags": [
          "<string>"
        ],
        "metadata": {},
        "network": "<string>",
        "saKeyLink": "<string>",
        "networking": {
          "serviceNetwork": "10.43.0.0/16",
          "podNetwork": "10.42.0.0/16",
          "dnsForwarder": "<string>"
        },
        "preInstallScript": "<string>",
        "image": {
          "recommended": "ubuntu/jammy-22.04",
          "family": {
            "project": "<string>",
            "family": "<string>"
          },
          "exact": "<string>"
        },
        "nodePools": [
          {
            "name": "<string>",
            "labels": {},
            "taints": [
              {
                "key": "<string>",
                "value": "<string>",
                "effect": "NoSchedule"
              }
            ],
            "machineType": "<string>",
            "assignPublicIP": true,
            "zone": "<string>",
            "overrideImage": {
              "recommended": "ubuntu/jammy-22.04",
              "family": {
                "project": "<string>",
                "family": "<string>"
              },
              "exact": "<string>"
            },
            "bootDiskSize": 123,
            "minSize": 123,
            "maxSize": 123,
            "preemptible": true,
            "subnet": "<string>",
            "localPersistentDisks": 123
          }
        ],
        "autoscaler": {
          "expander": [
            "random"
          ],
          "unneededTime": "10m",
          "unreadyTime": "20m",
          "utilizationThreshold": 123
        }
      }
    },
    "addOns": {
      "dashboard": {},
      "headlamp": {},
      "azureWorkloadIdentity": {
        "tenantId": "<string>"
      },
      "awsWorkloadIdentity": {},
      "localPathStorage": {},
      "metrics": {
        "kubeState": true,
        "coreDns": true,
        "kubelet": true,
        "apiserver": true,
        "nodeExporter": true,
        "cadvisor": true,
        "scrapeAnnotated": {
          "intervalSeconds": 123,
          "includeNamespaces": "<string>",
          "excludeNamespaces": "<string>",
          "retainLabels": "<string>"
        }
      },
      "logs": {
        "auditEnabled": true,
        "includeNamespaces": "<string>",
        "excludeNamespaces": "<string>",
        "docker": true,
        "kubelet": true,
        "kernel": true,
        "events": true
      },
      "registryMirror": {
        "mirrors": [
          {
            "registry": "<string>",
            "mirrors": [
              "<string>"
            ]
          }
        ]
      },
      "nvidia": {
        "taintGPUNodes": true
      },
      "awsEFS": {
        "roleArn": "<string>"
      },
      "awsECR": {
        "roleArn": "<string>"
      },
      "awsELB": {
        "roleArn": "<string>"
      },
      "azureACR": {
        "clientId": "<string>"
      },
      "sysbox": {},
      "byok": {
        "ignoreUpdates": true,
        "location": "<string>",
        "config": {
          "actuator": {
            "minCpu": "<string>",
            "maxCpu": "<string>",
            "minMemory": "<string>",
            "maxMemory": "<string>",
            "logLevel": "trace",
            "env": {}
          },
          "middlebox": {
            "enabled": true,
            "bandwidthAlertMbps": 123
          },
          "common": {
            "deploymentReplicas": 123,
            "pdb": {
              "maxUnavailable": 123
            }
          },
          "longhorn": {
            "replicas": 123
          },
          "ingress": {
            "cpu": "<string>",
            "memory": "<string>",
            "targetPercent": 123
          },
          "istio": {
            "istiod": {
              "replicas": 123,
              "minCpu": "<string>",
              "maxCpu": "<string>",
              "minMemory": "<string>",
              "maxMemory": "<string>",
              "pdb": 123
            },
            "ingressgateway": {
              "replicas": 123,
              "maxCpu": "<string>",
              "maxMemory": "<string>"
            },
            "sidecar": {
              "minCpu": "<string>",
              "minMemory": "<string>"
            }
          },
          "logSplitter": {
            "minCpu": "<string>",
            "maxCpu": "<string>",
            "minMemory": "<string>",
            "maxMemory": "<string>",
            "memBufferSize": "<string>",
            "perPodRate": 123
          },
          "monitoring": {
            "minMemory": "<string>",
            "maxMemory": "<string>",
            "kubeStateMetrics": {
              "minMemory": "<string>"
            },
            "prometheus": {
              "main": {
                "storage": "<string>"
              }
            }
          },
          "redis": {
            "minCpu": "<string>",
            "maxCpu": "<string>",
            "minMemory": "<string>",
            "maxMemory": "<string>",
            "storage": "<string>"
          },
          "redisHa": {
            "minCpu": "<string>",
            "maxCpu": "<string>",
            "minMemory": "<string>",
            "maxMemory": "<string>",
            "storage": 123
          },
          "redisSentinel": {
            "minCpu": "<string>",
            "maxCpu": "<string>",
            "minMemory": "<string>",
            "maxMemory": "<string>",
            "storage": 123
          },
          "tempoAgent": {
            "minCpu": "<string>",
            "minMemory": "<string>"
          },
          "internalDns": {
            "minCpu": "<string>",
            "maxCpu": "<string>",
            "minMemory": "<string>",
            "maxMemory": "<string>"
          }
        }
      }
    }
  },
  "alias": "<string>"
}
'
{
  "status": 123,
  "message": "<string>",
  "code": "<string>",
  "details": {},
  "id": "<string>"
}

Authorizations

Authorization
string
header
required

Service account key can be used as API keys

Path Parameters

org
string
required

Body

application/json
description
string
Maximum string length: 250
tags
object
spec
object
alias
string

Response

Mk8s Cluster was created successfully