Enclaive Multi Cloud Platform
HomeDocumentationTutorialsTry Cloud
  • Enclaive Multi Cloud Platform
  • Documentation
    • What is EMCP?
    • Why use EMCP?
    • Features
      • Virtual HSM
      • Vault
      • Nitride
      • Buckypaper
      • Dyneemes
      • Morphism
    • Supported Cloud Platforms
  • Tutorials
    • Buckypaper
      • Create a Buckypaper VM
      • Connect with SSH
      • Manage DNS
        • Cloudflare
      • Tag Buckypaper
      • Secure your VM with Firewall
      • Turn on/off Buckypapers
      • Destroy Buckypapers
    • Dyneemes
      • Create clusters
      • Connect to a cluster
      • Setup advanced monitoring
      • Upgrade without data loss
      • Add nodes and node pools
      • Drain and restart nodes
    • Data-in-use encrypting Database
      • Create a database cluster
      • Configure CNAME DNS record
      • Delete Applications
    • Applications
      • Create Nextcloud Hub
      • Configure CNAME DNS record
      • Delete Applications
      • After the installation
    • Billing
      • Add/Update payment method
      • Add/Change address
      • Add/Change VAT
    • Settings
      • Manage Team
        • Create a team
        • Delete a team
        • Invite team members
        • Remove team members
      • Bring your own Subscription
        • Azure
        • AWS
        • Google Cloud Platform
    • Account
      • Registration
      • Login
      • Delete account
  • Developers
    • API
      • Console
        • Auth
          • JWKS
        • Account
          • Need
        • Projects
          • Activity
        • Manage
          • Application
            • DNS
          • Database
          • Kubernetes
          • Virtual Machine
            • Security rule
          • Configurations
            • Location
            • Image
            • Price
            • Size
            • Provider
            • Cloud Provider
          • Attestation
        • vHSM
          • BYOS
          • User Storage
        • Settings
          • Team
          • Invite
        • Billing
          • Settings
          • Invoice
          • Cost
          • Promo - TODO
        • Support
          • Hubspot Files
          • Ticket
      • Admin
        • Auth
        • Accounts
          • Team
            • User
            • Application
            • Virtual machine
            • Database
            • Cluster
            • Resource
        • Quotas
          • Default quota
          • Provider quota
          • Team quota
        • Invoices
  • Resources
    • Blog
    • GitHub
    • Youtube
    • CCx101
Powered by GitBook
On this page
  • CLUSTERS
  • Get versions
  • Create k8s
  • Get clusters
  • Stop cluster
  • Start cluster
  • Delete cluster
  • POOLS
  • Create pool
  • Delete pool
  • NODES
  • Delete node

Was this helpful?

  1. Developers
  2. API
  3. Console
  4. Manage

Kubernetes

The "Kubernetes" section allows for the management of Kubernetes clusters, supporting a multicloud approach. This means that worker nodes can be deployed on one cloud provider, such as Azure, while the master node is hosted on another, like Kraud.Cloud.

CLUSTERS

Get versions

GET {{BASE_URL}}/api/k8s/versions

Get all available versions of Kubernetes.

Headers

Name
Type
Description

Authorization*

String

Bearer Token

[
    {
        "_id": "6548a383e2442d14b6bf969c",
        "name": "latest",
        "displayName": "Latest v1.28.1"
    },
    {
        "_id": "6548a383e2442d14b6bf969d",
        "name": "k8s_1.27.5",
        "displayName": "Kubernetes v1.27.5"
    },
    {
        "_id": "6548a383e2442d14b6bf969e",
        "name": "k8s_1.26.8",
        "displayName": "Kuberbetes v1.26.8"
    }
]

Once the cluster is created, you can download the kubectl file to manage the k8s.

Create k8s

POST {{BASE_URL}}/api/clusters

Cluster Creation. Currently, only ( Kraud.Cloud, Azure ) can be created.

Headers

Name
Type
Description

Authorization*

String

Bearer Token

Request Body

Name
Type
Description

data*

Object

{
    "status": 0,
    "attestationId": "55f18486-6e07-4263-9e86-48a01b2761cd",
    "tags": [],
    "_id": "654904b9ff600e06af2a9759",
    "name": "k8s-development-1",
    "version": "6548a383e2442d14b6bf969c",
    "project": "6548a41f38406c14db33b62c",
    "team": "6548a41f38406c14db33b61e",
    "owner": "6548a41138406c14db33b606",
    "createdAt": "2023-11-06T15:22:33.826Z",
    "updatedAt": "2023-11-06T15:22:33.826Z"
}
Request payload
{
    "name": "k8s-development-1",
    "version": "6548a383e2442d14b6bf969c",
    "project": "6548a41f38406c14db33b62c",
    "tags": [],
    "masterNode": {
        "provider": "6548a383e2442d14b6bf9697",
        "cloudProvider": "6548a383e2442d14b6bf9685",
        "region": "6548a383e2442d14b6bf96aa",
        "datacenter": "berlin",
        "size": "6548a383e2442d14b6bf974c",
        "price": "6548a383e2442d14b6bf9712"
    },
    "pools": [
        {
            "name": "pool-0-kraud-1vCPUs-4RAM",
            "provider": "6548a383e2442d14b6bf9695",
            "cloudProvider": "6548a383e2442d14b6bf9685",
            "region": "6548a383e2442d14b6bf96a9",
            "datacenter": "berlin",
            "size": "6548a383e2442d14b6bf9748",
            "price": "6548a383e2442d14b6bf970e",
            "nodes": 1
        }
    ],
    "team": "6548a41f38406c14db33b61e"
}

Get clusters

GET {{BASE_URL}}/api/teams/{team}/projects/{project}/clusters

Get all active clusters for a specific project.

Path Parameters

Name
Type
Description

team*

String

Team ID

project*

String

Project ID

Headers

Name
Type
Description

Authorization*

String

Bearer Token

[
    {
        "_id": "654904b9ff600e06af2a9759",
        "status": 0,
        "attestationId": "55f18486-6e07-4263-9e86-48a01b2761cd",
        "name": "k8s-development-1",
        "version": {
            "_id": "6548a383e2442d14b6bf969c",
            "name": "latest",
            "displayName": "Latest v1.28.1"
        },
        "pools": [
            {
                "_id": "654904b9ff600e06af2a975c",
                "name": "pool-0-kraud-1vCPUs-4RAM",
                "provider": {
                    "_id": "6548a383e2442d14b6bf9695",
                    "type": "k8sNode",
                    "isDisabled": false,
                    "cloudProvider": {
                        "_id": "6548a383e2442d14b6bf9685",
                        "name": "Kraud.Cloud",
                        "isDisabled": false
                    }
                },
                "size": {
                    "_id": "6548a383e2442d14b6bf9748",
                    "provider": "6548a383e2442d14b6bf9695",
                    "location": "berlin",
                    "name": "Standart_berlin_1_4_50",
                    "vCPUs": 1,
                    "memoryGB": 4,
                    "spaceGB": 50,
                    "group": 0
                },
                "nodes": [
                    {
                        "_id": "654904b9ff600e06af2a975f",
                        "attestationId": "",
                        "status": 0,
                        "isBlocked": false,
                        "name": "pool-0-kraud-1vCPUs-4RAM_node0",
                        "ipConfigurations": [],
                        "attestation": null
                    }
                ]
            }
        ],
        "masterNode": {
            "_id": "654904b9ff600e06af2a975b",
            "name": "master-node",
            "attestationId": "",
            "status": 0,
            "isBlocked": false,
            "provider": {
                "_id": "6548a383e2442d14b6bf9697",
                "type": "k8sControlPlane",
                "isDisabled": false,
                "cloudProvider": {
                    "_id": "6548a383e2442d14b6bf9685",
                    "name": "Kraud.Cloud",
                    "isDisabled": false
                }
            },
            "size": {
                "_id": "6548a383e2442d14b6bf974c",
                "provider": "6548a383e2442d14b6bf9697",
                "location": "berlin",
                "name": "Standart_berlin_2_8_100",
                "vCPUs": 2,
                "memoryGB": 8,
                "spaceGB": 100,
                "group": 0
            },
            "ipConfigurations": [],
            "attestation": null
        }
    }
]

Stop cluster

PUT {{BASE_URL}}/api/clusters/{id}/stop

Stop cluster by unique id.

Path Parameters

Name
Type
Description

id*

String

Cluster ID

Headers

Name
Type
Description

Authorization*

String

Bearer Token

{
    "_id": "6549ec825205cf0c45f24e54",
    "status": 3,
    "attestationId": "07e74c92-fb0b-4fff-a7d7-fb15d5a97032",
    "tags": [],
    "name": "k8s-development-1",
    "version": {
        "_id": "6548a383e2442d14b6bf969c",
        "name": "latest",
        "displayName": "Latest v1.28.1"
    },
    "project": "6548a41f38406c14db33b62c",
    "team": "6548a41f38406c14db33b61e",
    "owner": "6548a41138406c14db33b606",
    "createdAt": "2023-11-07T07:51:30.893Z",
    "updatedAt": "2023-11-07T08:05:19.056Z",
    "pools": [
        {
            "_id": "6549ec825205cf0c45f24e57",
            "name": "pool-0-kraud-1vCPUs-4RAM",
            "provider": {
                "_id": "6548a383e2442d14b6bf9695",
                "type": "k8sNode",
                "isDisabled": false,
                "cloudProvider": {
                    "_id": "6548a383e2442d14b6bf9685",
                    "name": "Kraud.Cloud",
                    "isDisabled": false
                }
            },
            "size": {
                "_id": "6548a383e2442d14b6bf9748",
                "provider": "6548a383e2442d14b6bf9695",
                "location": "berlin",
                "name": "Standart_berlin_1_4_50",
                "vCPUs": 1,
                "memoryGB": 4,
                "spaceGB": 50,
                "group": 0
            },
            "nodes": [
                {
                    "_id": "6549ec825205cf0c45f24e5a",
                    "attestationId": "",
                    "status": 1,
                    "isBlocked": true,
                    "name": "pool-0-kraud-1vCPUs-4RAM_node0",
                    "ipConfigurations": [
                        {
                            "_id": "6549ec8f5205cf0c45f24e84",
                            "type": "public",
                            "method": "Dynamic",
                            "version": "IPv4",
                            "address": "185.112.181.100"
                        }
                    ],
                    "attestation": null
                }
            ]
        }
    ],
    "masterNode": {
        "_id": "6549ec825205cf0c45f24e56",
        "name": "master-node",
        "attestationId": "",
        "status": 1,
        "isBlocked": true,
        "provider": {
            "_id": "6548a383e2442d14b6bf9697",
            "type": "k8sControlPlane",
            "isDisabled": false,
            "cloudProvider": {
                "_id": "6548a383e2442d14b6bf9685",
                "name": "Kraud.Cloud",
                "isDisabled": false
            }
        },
        "size": {
            "_id": "6548a383e2442d14b6bf974c",
            "provider": "6548a383e2442d14b6bf9697",
            "location": "berlin",
            "name": "Standart_berlin_2_8_100",
            "vCPUs": 2,
            "memoryGB": 8,
            "spaceGB": 100,
            "group": 0
        },
        "ipConfigurations": [
            {
                "_id": "6549ec935205cf0c45f24e8e",
                "type": "public",
                "method": "Dynamic",
                "version": "IPv4",
                "address": "185.112.181.102"
            }
        ],
        "attestation": null
    }
}

Start cluster

PUT {{BASE_URL}}/api/clusters/{id}/start

Start cluster by unique id.

Path Parameters

Name
Type
Description

id*

String

Cluster ID

Headers

Name
Type
Description

Authorization*

String

Bearer Token

{
    "_id": "6549ec825205cf0c45f24e54",
    "status": 2,
    "attestationId": "07e74c92-fb0b-4fff-a7d7-fb15d5a97032",
    "tags": [],
    "name": "k8s-development-1",
    "version": {
        "_id": "6548a383e2442d14b6bf969c",
        "name": "latest",
        "displayName": "Latest v1.28.1"
    },
    "project": "6548a41f38406c14db33b62c",
    "team": "6548a41f38406c14db33b61e",
    "owner": "6548a41138406c14db33b606",
    "createdAt": "2023-11-07T07:51:30.893Z",
    "updatedAt": "2023-11-07T08:05:49.256Z",
    "pools": [
        {
            "_id": "6549ec825205cf0c45f24e57",
            "name": "pool-0-kraud-1vCPUs-4RAM",
            "provider": {
                "_id": "6548a383e2442d14b6bf9695",
                "type": "k8sNode",
                "isDisabled": false,
                "cloudProvider": {
                    "_id": "6548a383e2442d14b6bf9685",
                    "name": "Kraud.Cloud",
                    "isDisabled": false
                }
            },
            "size": {
                "_id": "6548a383e2442d14b6bf9748",
                "provider": "6548a383e2442d14b6bf9695",
                "location": "berlin",
                "name": "Standart_berlin_1_4_50",
                "vCPUs": 1,
                "memoryGB": 4,
                "spaceGB": 50,
                "group": 0
            },
            "nodes": [
                {
                    "_id": "6549ec825205cf0c45f24e5a",
                    "attestationId": "",
                    "status": 4,
                    "isBlocked": true,
                    "name": "pool-0-kraud-1vCPUs-4RAM_node0",
                    "ipConfigurations": [
                        {
                            "_id": "6549ec8f5205cf0c45f24e84",
                            "type": "public",
                            "method": "Dynamic",
                            "version": "IPv4",
                            "address": "185.112.181.100"
                        }
                    ],
                    "attestation": null
                }
            ]
        }
    ],
    "masterNode": {
        "_id": "6549ec825205cf0c45f24e56",
        "name": "master-node",
        "attestationId": "",
        "status": 4,
        "isBlocked": true,
        "provider": {
            "_id": "6548a383e2442d14b6bf9697",
            "type": "k8sControlPlane",
            "isDisabled": false,
            "cloudProvider": {
                "_id": "6548a383e2442d14b6bf9685",
                "name": "Kraud.Cloud",
                "isDisabled": false
            }
        },
        "size": {
            "_id": "6548a383e2442d14b6bf974c",
            "provider": "6548a383e2442d14b6bf9697",
            "location": "berlin",
            "name": "Standart_berlin_2_8_100",
            "vCPUs": 2,
            "memoryGB": 8,
            "spaceGB": 100,
            "group": 0
        },
        "ipConfigurations": [
            {
                "_id": "6549ec935205cf0c45f24e8e",
                "type": "public",
                "method": "Dynamic",
                "version": "IPv4",
                "address": "185.112.181.102"
            }
        ],
        "attestation": null
    }
}

Delete cluster

DELETE {{BASE_URL}}/api/clusters/{id}

Delete a specific cluster by unique id.

Path Parameters

Name
Type
Description

id*

String

Cluster ID

Headers

Name
Type
Description

Authorization*

String

Bearer Token

{"message":"ok"}

POOLS

The user can add pools to the created cluster and manage the pools.

Create pool

POST {{BASE_URL}}/api/pools

Create a pool to a specific cluster.

Headers

Name
Type
Description

Authorization*

String

Bearer Token

Request Body

Name
Type
Description

data*

Object

{
    "_id": "6549f1bb5205cf0c45f25071",
    "status": 0,
    "name": "pool-0-kraud-1vCPUs-4RAM",
    "provider": {
        "_id": "6548a383e2442d14b6bf9695",
        "type": "k8sNode",
        "isDisabled": false,
        "cloudProvider": {
            "_id": "6548a383e2442d14b6bf9685",
            "name": "Kraud.Cloud",
            "isDisabled": false
        }
    },
    "region": "6548a383e2442d14b6bf96a9",
    "datacenter": "berlin",
    "size": {
        "_id": "6548a383e2442d14b6bf9748",
        "provider": "6548a383e2442d14b6bf9695",
        "location": "berlin",
        "name": "Standart_berlin_1_4_50",
        "vCPUs": 1,
        "memoryGB": 4,
        "spaceGB": 50,
        "group": 0
    },
    "price": "6548a383e2442d14b6bf970e",
    "cluster": {
        "_id": "6549f05e5205cf0c45f24feb",
        "status": 2,
        "attestationId": "b4cef8ca-fed7-49b2-87a3-db7f67ee0e8d",
        "tags": [],
        "name": "k8s-development-1",
        "version": "6548a383e2442d14b6bf969c",
        "project": "6548a41f38406c14db33b62c",
        "team": "6548a41f38406c14db33b61e",
        "owner": "6548a41138406c14db33b606",
        "createdAt": "2023-11-07T08:07:58.630Z",
        "updatedAt": "2023-11-07T08:13:01.739Z"
    },
    "nodes": [
        {
            "_id": "6549f1bb5205cf0c45f25073",
            "attestationId": "",
            "status": 0,
            "isBlocked": false,
            "name": "pool-0-kraud-1vCPUs-4RAM_node0",
            "ipConfigurations": [],
            "attestation": null
        }
    ]
}
Request payload
{
    "name": "pool-0-kraud-1vCPUs-4RAM",
    "provider": "6548a383e2442d14b6bf9695",
    "region": "6548a383e2442d14b6bf96a9",
    "datacenter": "berlin",
    "size": "6548a383e2442d14b6bf9748",
    "price": "6548a383e2442d14b6bf970e",
    "nodes": 1,
    "cluster": "6549f05e5205cf0c45f24feb"
}

Delete pool

DELETE {{BASE_URL}}/api/pools/{id}

Delete a specific pool by unique id.

Path Parameters

Name
Type
Description

id*

String

Pool ID

Headers

Name
Type
Description

Authorization*

String

Bearer Token

{"message":"ok"}

NODES

The user can delete nodes. Note that a user can only delete a worker node.

Delete node

DELETE {{BASE_URL}}/api/nodes/{id}

Delete a specific node by unique id. Currently, only worker node can be deleted.

Path Parameters

Name
Type
Description

id*

String

Pool ID

Headers

Name
Type
Description

Authorization*

String

Bearer Token

{"message":"ok"}

Last updated 1 year ago

Was this helpful?