Spot · Schema
Spot Ocean Cluster
An Ocean cluster is a serverless Kubernetes infrastructure engine that automatically manages and optimizes cloud infrastructure for containers, handling node provisioning, scaling, and cost optimization.
AutoscalingCloud InfrastructureContainersCost OptimizationFinOpsKubernetesSpot Instances
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier of the Ocean cluster. |
| name | string | The name of the Ocean cluster. |
| controllerClusterId | string | The Ocean controller cluster identifier used by the controller pod. |
| region | string | The cloud provider region where the cluster is deployed. |
| autoScaler | object | The autoscaler configuration for the Ocean cluster. |
| capacity | object | The capacity configuration for the Ocean cluster. |
| strategy | object | The optimization strategy for the Ocean cluster. |
| createdAt | string | The timestamp when the cluster was created. |
| updatedAt | string | The timestamp when the cluster was last updated. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/spot/blob/main/json-schema/ocean-cluster.json",
"title": "Spot Ocean Cluster",
"description": "An Ocean cluster is a serverless Kubernetes infrastructure engine that automatically manages and optimizes cloud infrastructure for containers, handling node provisioning, scaling, and cost optimization.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the Ocean cluster."
},
"name": {
"type": "string",
"description": "The name of the Ocean cluster."
},
"controllerClusterId": {
"type": "string",
"description": "The Ocean controller cluster identifier used by the controller pod."
},
"region": {
"type": "string",
"description": "The cloud provider region where the cluster is deployed."
},
"autoScaler": {
"type": "object",
"description": "The autoscaler configuration for the Ocean cluster.",
"properties": {
"isEnabled": {
"type": "boolean",
"description": "Whether the autoscaler is enabled."
},
"isAutoConfig": {
"type": "boolean",
"description": "Whether automatic configuration is enabled."
},
"cooldown": {
"type": "integer",
"description": "Cooldown period in seconds between scaling actions."
},
"resourceLimits": {
"type": "object",
"properties": {
"maxMemoryGib": {
"type": "integer",
"description": "Maximum memory in GiB for the cluster."
},
"maxVCpu": {
"type": "integer",
"description": "Maximum vCPUs for the cluster."
}
}
}
}
},
"capacity": {
"type": "object",
"description": "The capacity configuration for the Ocean cluster.",
"properties": {
"target": {
"type": "integer",
"description": "The desired number of instances."
},
"minimum": {
"type": "integer",
"description": "The minimum number of instances."
},
"maximum": {
"type": "integer",
"description": "The maximum number of instances."
}
}
},
"strategy": {
"type": "object",
"description": "The optimization strategy for the Ocean cluster.",
"properties": {
"spotPercentage": {
"type": "integer",
"description": "Percentage of spot instances in the cluster."
},
"fallbackToOd": {
"type": "boolean",
"description": "Whether to fall back to on-demand when spot is unavailable."
},
"utilizeReservedInstances": {
"type": "boolean",
"description": "Whether to utilize reserved instances."
},
"utilizeCommitments": {
"type": "boolean",
"description": "Whether to utilize savings plans and commitments."
}
}
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the cluster was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the cluster was last updated."
}
}
}