StormForge · JSON Structure
Stormforge Recommendation Structure
Field documentation for StormForge Kubernetes rightsizing recommendation objects
Type: object
Properties: 0
Cloud Cost OptimizationDevOpsFinOpsKubernetesMachine LearningResource ManagementRightsizing
Stormforge Recommendation Structure is a JSON Structure definition published by StormForge.
Meta-schema:
JSON Structure
{
"title": "StormForge Recommendation Structure",
"description": "Field documentation for StormForge Kubernetes rightsizing recommendation objects",
"type": "object",
"fields": [
{ "name": "id", "type": "string", "description": "Unique recommendation identifier" },
{ "name": "clusterName", "type": "string", "description": "Target Kubernetes cluster name", "required": true },
{ "name": "namespace", "type": "string", "description": "Kubernetes namespace", "required": true },
{ "name": "workloadName", "type": "string", "description": "Workload resource name", "required": true },
{
"name": "workloadKind",
"type": "string",
"description": "Kubernetes resource kind",
"required": true,
"values": ["Deployment", "StatefulSet", "DaemonSet", "ReplicaSet", "ReplicationController"]
},
{
"name": "containers",
"type": "array",
"description": "Per-container resource recommendations",
"required": true,
"items": {
"type": "object",
"fields": [
{ "name": "containerName", "type": "string", "description": "Container name in pod spec", "required": true },
{
"name": "requests",
"type": "object",
"description": "Recommended resource requests (guaranteed resources)",
"fields": [
{ "name": "cpu", "type": "string", "description": "CPU in millicores (e.g. '100m') or cores (e.g. '0.5')" },
{ "name": "memory", "type": "string", "description": "Memory with unit suffix (e.g. '256Mi', '1Gi')" }
]
},
{
"name": "limits",
"type": "object",
"description": "Recommended resource limits (maximum allowed resources)",
"fields": [
{ "name": "cpu", "type": "string", "description": "CPU limit" },
{ "name": "memory", "type": "string", "description": "Memory limit" }
]
},
{
"name": "current",
"type": "object",
"description": "Current resource configuration for comparison",
"fields": [
{ "name": "requests", "type": "object", "description": "Current resource requests" },
{ "name": "limits", "type": "object", "description": "Current resource limits" }
]
}
]
}
},
{
"name": "impact",
"type": "object",
"description": "Projected cost and performance impact metrics",
"fields": [
{ "name": "cpuSavingsPercent", "type": "number", "description": "Projected CPU reduction percentage" },
{ "name": "memorySavingsPercent", "type": "number", "description": "Projected memory reduction percentage" },
{ "name": "estimatedMonthlySavingsUSD", "type": "number", "description": "Estimated monthly cost savings in USD" },
{ "name": "riskLevel", "type": "string", "description": "Risk level: low, medium, or high", "values": ["low", "medium", "high"] }
]
},
{
"name": "hpa",
"type": "object",
"description": "Horizontal Pod Autoscaler recommendation (when HPA is configured)",
"fields": [
{ "name": "minReplicas", "type": "integer", "description": "Recommended minimum replicas" },
{ "name": "maxReplicas", "type": "integer", "description": "Recommended maximum replicas" },
{ "name": "targetCPUUtilizationPercentage", "type": "integer", "description": "Target CPU for HPA scaling trigger" }
]
},
{
"name": "status",
"type": "string",
"description": "Recommendation lifecycle status",
"values": ["pending", "approved", "applied", "dismissed", "expired"]
},
{ "name": "createdAt", "type": "string", "format": "date-time", "description": "When recommendation was generated" },
{ "name": "appliedAt", "type": "string", "format": "date-time", "description": "When recommendation was applied" }
]
}