Implement get /api/v2/k8smanifest
snowch opened this issue · 3 comments
snowch commented
{
"_links": {
"self": {
"href": "/api/v2/k8smanifest"
}
},
"supported_versions": [
"1.14.10",
"1.15.11",
"1.16.9",
"1.17.5"
],
"bootstrap_image_version": "0.1",
"version_info": {
"1.14.10": {
"min_upgrade_version": "1.13.0",
"relnote_url": "https://v1-14.docs.kubernetes.io/docs/setup/release/notes/",
"addons": [
"hpecp-agent",
"kubedirector",
"kube-state-metrics",
"kubernetes-dashboard",
"metrics-server",
"nvidia-plugin",
"hpecp-monitoring",
"hpecp-serviceaccounts",
"nimble",
"harbor"
]
},
"1.15.11": {
"min_upgrade_version": "1.14.0",
"relnote_url": "https://v1-15.docs.kubernetes.io/docs/setup/release/notes/",
"addons": [
"hpecp-agent",
"kubedirector",
"kube-state-metrics",
"kubernetes-dashboard",
"metrics-server",
"nvidia-plugin",
"hpecp-monitoring",
"hpecp-serviceaccounts",
"nimble",
"harbor",
"istio",
"picasso"
]
},
"1.16.9": {
"min_upgrade_version": "1.15.0",
"relnote_url": "https://v1-16.docs.kubernetes.io/docs/setup/release/notes/",
"addons": [
"hpecp-agent",
"kubedirector",
"kube-state-metrics",
"kubernetes-dashboard",
"metrics-server",
"nvidia-plugin",
"hpecp-monitoring",
"hpecp-serviceaccounts",
"nimble",
"harbor",
"istio",
"picasso"
]
},
"1.17.5": {
"min_upgrade_version": "1.16.0",
"relnote_url": "https://v1-17.docs.kubernetes.io/docs/setup/release/notes/",
"addons": [
"hpecp-agent",
"kubedirector",
"kube-state-metrics",
"kubernetes-dashboard",
"metrics-server",
"nvidia-plugin",
"hpecp-monitoring",
"hpecp-serviceaccounts",
"nimble",
"harbor",
"istio",
"picasso"
]
}
},
"import_addons": [
"hpecp-agent",
"kubedirector",
"kube-state-metrics",
"hpecp-monitoring",
"istio"
],
"addon_info": {
"harbor": {
"required": false,
"version": "0.3",
"system": false,
"order": 40,
"deployment": "hpecp-bootstrap-harbor",
"label": {
"name": "Harbor container image registry",
"description": "Harbor secures images with role-based access control, scans images for vulnerabilities, and signs images as trusted."
}
},
"hpecp-agent": {
"required": true,
"version": "0.6",
"system": true,
"order": 10,
"deployment": "hpecp-bootstrap-hpecp-agent",
"label": {
"name": "hpecp-bootstrap-hpecp-agent",
"description": ""
}
},
"hpecp-monitoring": {
"required": true,
"version": "6.6.4-1.0",
"system": true,
"order": 40,
"deployment": "hpecp-bootstrap-hpecp-monitoring",
"label": {
"name": "hpecp-bootstrap-hpecp-monitoring",
"description": ""
}
},
"hpecp-serviceaccounts": {
"required": true,
"version": "0.2",
"system": true,
"order": 40,
"deployment": "hpecp-bootstrap-hpecp-serviceaccounts",
"label": {
"name": "hpecp-bootstrap-hpecp-serviceaccounts",
"description": ""
}
},
"istio": {
"required": false,
"version": "1.6.1",
"system": false,
"order": 30,
"deployment": "hpecp-bootstrap-istio",
"label": {
"name": "Istio",
"description": "Istio Service Mesh addon for Kubernetes."
}
},
"kube-state-metrics": {
"required": true,
"version": "2.8.8",
"system": true,
"order": 40,
"deployment": "hpecp-bootstrap-kube-state-metrics",
"label": {
"name": "hpecp-bootstrap-kube-state-metrics",
"description": ""
}
},
"kubedirector": {
"required": true,
"version": "0.9",
"system": true,
"order": 20,
"deployment": "hpecp-bootstrap-kubedirector",
"label": {
"name": "hpecp-bootstrap-kubedirector",
"description": ""
}
},
"kubernetes-dashboard": {
"required": true,
"version": "v2.0.0-rc2",
"system": true,
"order": 40,
"deployment": "hpecp-bootstrap-kubernetes-dashboard",
"label": {
"name": "hpecp-bootstrap-kubernetes-dashboard",
"description": ""
}
},
"metrics-server": {
"required": true,
"version": "v0.3.6-1",
"system": true,
"order": 40,
"deployment": "hpecp-bootstrap-metrics-server",
"label": {
"name": "hpecp-bootstrap-metrics-server",
"description": ""
}
},
"nimble": {
"required": false,
"version": "0.2",
"system": false,
"order": 40,
"deployment": "hpecp-bootstrap-nimble-csi",
"label": {
"name": "HPE Nimble Storage",
"description": "HPE Nimble persistent storage using HPE CSI driver for Kubernetes."
}
},
"nvidia-plugin": {
"required": true,
"version": "1.0.0-beta2",
"system": true,
"order": 40,
"deployment": "hpecp-bootstrap-nvidia-plugin",
"label": {
"name": "hpecp-bootstrap-nvidia-plugin",
"description": ""
}
},
"picasso": {
"required": false,
"version": "0.1",
"system": false,
"order": 40,
"deployment": "hpecp-bootstrap-picasso",
"label": {
"name": "Enable packaged apps",
"description": "Enable custom resources to create Spark and KubeFlow applications"
}
}
}
}
snowch commented
$ hpecp k8scluster get-installed-addons --id /api/v2/k8scluster/1
["picasso"]
$ hpecp k8scluster get-available-addons --id /api/v2/k8scluster/1
['hpecp-agent', 'kubedirector', 'kube-state-metrics', 'kubernetes-dashboard', 'metrics-server', 'nvidia-plugin', 'hpecp-monitoring', 'hpecp-serviceaccounts', 'nimble', 'harbor', 'istio', 'picasso']
$ hpecp httpclient post /api/v2/k8scluster/1/change_task --json-file <(echo '{"change_spec": {"addons": ["picasso", "harbor"]}, "operation": "reconfigure", "reason": ""}')
$ hpecp k8scluster wait-for-status --id /api/v2/k8scluster/1 --status [ready] --timeout-secs 600
$ hpecp k8scluster get-installed-addons --id /api/v2/k8scluster/1
["picasso", "harbor"]
snowch commented
The addons list is the desired end state. I.e. if a cluster has picasso and you want to add harbor while keeping picasso, you will need to submit: ["picasso", "harbor"]
snowch commented
done