mirror of https://github.com/portainer/portainer
41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
import { KubernetesConfigurationTypes } from 'Kubernetes/models/configuration/models';
|
|
import _ from 'lodash-es';
|
|
|
|
class KubernetesConfigurationHelper {
|
|
static getUsingApplications(config, applications) {
|
|
return _.filter(applications, (app) => {
|
|
let envFind;
|
|
let volumeFind;
|
|
if (config.Type === KubernetesConfigurationTypes.CONFIGMAP) {
|
|
envFind = _.find(app.Env, { valueFrom: { configMapKeyRef: { name: config.Name } } });
|
|
volumeFind = _.find(app.Volumes, { configMap: { name: config.Name } });
|
|
} else {
|
|
envFind = _.find(app.Env, { valueFrom: { secretKeyRef: { name: config.Name } } });
|
|
volumeFind = _.find(app.Volumes, { secret: { secretName: config.Name } });
|
|
}
|
|
return envFind || volumeFind;
|
|
});
|
|
}
|
|
|
|
static isSystemToken(config) {
|
|
return _.startsWith(config.Name, 'default-token-');
|
|
}
|
|
|
|
static setConfigurationUsed(config) {
|
|
config.Used = config.Applications && config.Applications.length !== 0;
|
|
}
|
|
|
|
static setConfigurationsUsed(configurations, applications) {
|
|
_.forEach(configurations, (config) => {
|
|
config.Applications = KubernetesConfigurationHelper.getUsingApplications(config, applications);
|
|
KubernetesConfigurationHelper.setConfigurationUsed(config);
|
|
});
|
|
}
|
|
|
|
static isExternalConfiguration(configuration) {
|
|
return !configuration.ConfigurationOwner;
|
|
}
|
|
}
|
|
|
|
export default KubernetesConfigurationHelper;
|