1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-19 13:29:41 +02:00
portainer/app/kubernetes/horizontal-pod-auto-scaler/payload.js
Maxime Bajeux 6756b04b67
feat(k8s/application): add the ability to set the auto-scale policy of an application (#4118)
* feat(application): add horizontalpodautoscaler creation

* feat(application): Add the ability to set the auto-scale policy of an application

* feat(k8s/application): minor UI update

* fix(application): set api version and prevent to use hpa with global deployment type

* feat(settings): add a switch to enable features based on server metrics

* feat(k8s/applications): minor UI update

Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
2020-08-05 10:08:11 +12:00

86 lines
2 KiB
JavaScript

/**
* KubernetesHorizontalPodAutoScaler Create Payload Model
*/
const _KubernetesHorizontalPodAutoScalerCreatePayload = Object.freeze({
metadata: {
namespace: '',
name: '',
},
spec: {
maxReplicas: 0,
minReplicas: 0,
targetCPUUtilizationPercentage: 0,
scaleTargetRef: {
kind: '',
name: '',
},
},
});
export class KubernetesHorizontalPodAutoScalerCreatePayload {
constructor() {
Object.assign(this, JSON.parse(JSON.stringify(_KubernetesHorizontalPodAutoScalerCreatePayload)));
}
}
/**
* KubernetesHorizontalPodAutoScaler Create Payload Model for v2beta2
* Include support of memory usage
*/
// const _KubernetesHorizontalPodAutoScalerCreatePayload = Object.freeze({
// metadata: {
// namespace: '',
// name: ''
// },
// spec: {
// maxReplicas: 0,
// minReplicas: 0,
// targetCPUUtilizationPercentage: 0,
// scaleTargetRef: {
// kind: '',
// name: ''
// },
// metrics: []
// }
// });
// export class KubernetesHorizontalPodAutoScalerCreatePayload {
// constructor() {
// Object.assign(this, JSON.parse(JSON.stringify(_KubernetesHorizontalPodAutoScalerCreatePayload)));
// }
// }
// const _KubernetesHorizontalPodAutoScalerCPUMetric = Object.freeze({
// type: 'Resource',
// resource: {
// name: 'cpu',
// target: {
// type: 'Utilization',
// averageUtilization: 0
// }
// }
// });
// export class KubernetesHorizontalPodAutoScalerCPUMetric {
// constructor() {
// Object.assign(this, JSON.parse(JSON.stringify(_KubernetesHorizontalPodAutoScalerCPUMetric)));
// }
// }
// const _KubernetesHorizontalPodAutoScalerMemoryMetric = Object.freeze({
// type: 'Resource',
// resource: {
// name: 'memory',
// target: {
// type: 'AverageValue',
// averageValue: ''
// }
// }
// });
// export class KubernetesHorizontalPodAutoScalerMemoryMetric {
// constructor() {
// Object.assign(this, JSON.parse(JSON.stringify(_KubernetesHorizontalPodAutoScalerMemoryMetric)));
// }
// }