2017-11-20 09:57:08 +00:00
|
|
|
import axios from '../../lib/utils/axios_utils';
|
2017-10-24 04:56:39 +00:00
|
|
|
|
|
|
|
export default class ClusterService {
|
|
|
|
constructor(options = {}) {
|
|
|
|
this.options = options;
|
|
|
|
this.appInstallEndpointMap = {
|
|
|
|
helm: this.options.installHelmEndpoint,
|
2017-11-06 16:07:19 +00:00
|
|
|
ingress: this.options.installIngressEndpoint,
|
2018-11-03 03:38:21 +00:00
|
|
|
cert_manager: this.options.installCertManagerEndpoint,
|
2019-11-18 03:06:28 +00:00
|
|
|
crossplane: this.options.installCrossplaneEndpoint,
|
2017-11-06 16:07:19 +00:00
|
|
|
runner: this.options.installRunnerEndpoint,
|
2017-12-22 17:23:43 +00:00
|
|
|
prometheus: this.options.installPrometheusEndpoint,
|
2018-05-16 09:01:13 +00:00
|
|
|
jupyter: this.options.installJupyterEndpoint,
|
2018-10-25 05:38:44 +00:00
|
|
|
knative: this.options.installKnativeEndpoint,
|
2019-10-22 15:06:06 +00:00
|
|
|
elastic_stack: this.options.installElasticStackEndpoint,
|
2020-04-21 15:21:10 +00:00
|
|
|
fluentd: this.options.installFluentdEndpoint,
|
2017-10-24 04:56:39 +00:00
|
|
|
};
|
2019-02-19 09:24:37 +00:00
|
|
|
this.appUpdateEndpointMap = {
|
|
|
|
knative: this.options.updateKnativeEndpoint,
|
|
|
|
};
|
2017-10-24 04:56:39 +00:00
|
|
|
}
|
|
|
|
|
2019-09-18 14:02:45 +00:00
|
|
|
fetchClusterStatus() {
|
2017-10-24 04:56:39 +00:00
|
|
|
return axios.get(this.options.endpoint);
|
|
|
|
}
|
|
|
|
|
2018-05-24 20:00:21 +00:00
|
|
|
installApplication(appId, params) {
|
|
|
|
return axios.post(this.appInstallEndpointMap[appId], params);
|
2017-10-24 04:56:39 +00:00
|
|
|
}
|
2017-11-24 13:43:00 +00:00
|
|
|
|
2019-02-19 09:24:37 +00:00
|
|
|
updateApplication(appId, params) {
|
|
|
|
return axios.patch(this.appUpdateEndpointMap[appId], params);
|
|
|
|
}
|
|
|
|
|
2019-05-02 14:17:03 +00:00
|
|
|
uninstallApplication(appId, params) {
|
|
|
|
return axios.delete(this.appInstallEndpointMap[appId], params);
|
|
|
|
}
|
|
|
|
|
2019-09-13 13:26:31 +00:00
|
|
|
fetchClusterEnvironments() {
|
|
|
|
return axios.get(this.options.clusterEnvironmentsEndpoint);
|
|
|
|
}
|
|
|
|
|
2017-11-24 13:43:00 +00:00
|
|
|
static updateCluster(endpoint, data) {
|
|
|
|
return axios.put(endpoint, data);
|
|
|
|
}
|
2017-10-24 04:56:39 +00:00
|
|
|
}
|