Kubecost · Schema

Kubecost Savings Recommendation

A savings recommendation for optimizing Kubernetes infrastructure costs, including cluster right-sizing and container request right-sizing suggestions.

Cloud CostCost MonitoringKubernetesOptimizationSpending

Properties

Name Type Description
clusterName string Name of the cluster the recommendation applies to.
namespace string Namespace of the workload (for container-level recommendations).
controllerKind string Kind of controller (e.g. Deployment, StatefulSet).
controllerName string Name of the controller.
containerName string Name of the container (for container-level recommendations).
currentMonthlyRate number Current monthly cost rate.
recommendedMonthlyRate number Recommended monthly cost rate after optimization.
monthlySavings number Estimated monthly savings from the recommendation.
currentNodeCount integer Current number of nodes in the cluster (for cluster-level recommendations).
recommendedNodeCount integer Recommended number of nodes (for cluster-level recommendations).
currentNodeType string Current node instance type (for cluster-level recommendations).
recommendedNodeType string Recommended node instance type (for cluster-level recommendations).
currentCPURequest number Current CPU request (for container-level recommendations).
recommendedCPURequest number Recommended CPU request (for container-level recommendations).
currentRAMBytesRequest number Current RAM request in bytes (for container-level recommendations).
recommendedRAMBytesRequest number Recommended RAM request in bytes (for container-level recommendations).
View JSON Schema on GitHub

JSON Schema

savings-recommendation.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/kubecost/blob/main/json-schema/savings-recommendation.json",
  "title": "Kubecost Savings Recommendation",
  "description": "A savings recommendation for optimizing Kubernetes infrastructure costs, including cluster right-sizing and container request right-sizing suggestions.",
  "type": "object",
  "properties": {
    "clusterName": {
      "type": "string",
      "description": "Name of the cluster the recommendation applies to."
    },
    "namespace": {
      "type": "string",
      "description": "Namespace of the workload (for container-level recommendations)."
    },
    "controllerKind": {
      "type": "string",
      "description": "Kind of controller (e.g. Deployment, StatefulSet)."
    },
    "controllerName": {
      "type": "string",
      "description": "Name of the controller."
    },
    "containerName": {
      "type": "string",
      "description": "Name of the container (for container-level recommendations)."
    },
    "currentMonthlyRate": {
      "type": "number",
      "description": "Current monthly cost rate."
    },
    "recommendedMonthlyRate": {
      "type": "number",
      "description": "Recommended monthly cost rate after optimization."
    },
    "monthlySavings": {
      "type": "number",
      "description": "Estimated monthly savings from the recommendation."
    },
    "currentNodeCount": {
      "type": "integer",
      "description": "Current number of nodes in the cluster (for cluster-level recommendations)."
    },
    "recommendedNodeCount": {
      "type": "integer",
      "description": "Recommended number of nodes (for cluster-level recommendations)."
    },
    "currentNodeType": {
      "type": "string",
      "description": "Current node instance type (for cluster-level recommendations)."
    },
    "recommendedNodeType": {
      "type": "string",
      "description": "Recommended node instance type (for cluster-level recommendations)."
    },
    "currentCPURequest": {
      "type": "number",
      "description": "Current CPU request (for container-level recommendations)."
    },
    "recommendedCPURequest": {
      "type": "number",
      "description": "Recommended CPU request (for container-level recommendations)."
    },
    "currentRAMBytesRequest": {
      "type": "number",
      "description": "Current RAM request in bytes (for container-level recommendations)."
    },
    "recommendedRAMBytesRequest": {
      "type": "number",
      "description": "Recommended RAM request in bytes (for container-level recommendations)."
    }
  }
}