You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
portainer/app/kubernetes/converters/configuration.js

45 lines
1.5 KiB

import _ from 'lodash-es';
import { KubernetesConfiguration, KubernetesConfigurationKinds } from 'Kubernetes/models/configuration/models';
class KubernetesConfigurationConverter {
static secretToConfiguration(secret) {
const res = new KubernetesConfiguration();
res.Kind = KubernetesConfigurationKinds.SECRET;
res.Id = secret.Id;
res.Name = secret.Name;
res.Type = secret.Type;
res.Namespace = secret.Namespace;
res.CreationDate = secret.CreationDate;
res.Yaml = secret.Yaml;
_.forEach(secret.Data, (entry) => {
res.Data[entry.Key] = entry.Value;
});
res.data = res.Data;
res.ConfigurationOwner = secret.ConfigurationOwner;
res.IsRegistrySecret = secret.IsRegistrySecret;
res.SecretType = secret.SecretType;
if (secret.Annotations) {
res.ServiceAccountName = secret.Annotations['kubernetes.io/service-account.name'];
}
return res;
}
static configMapToConfiguration(configMap) {
const res = new KubernetesConfiguration();
res.Kind = KubernetesConfigurationKinds.CONFIGMAP;
res.Id = configMap.Id;
res.Name = configMap.Name;
res.Namespace = configMap.Namespace;
res.CreationDate = configMap.CreationDate;
res.Yaml = configMap.Yaml;
_.forEach(configMap.Data, (entry) => {
res.Data[entry.Key] = entry.Value;
});
res.data = res.Data;
res.ConfigurationOwner = configMap.ConfigurationOwner;
return res;
}
}
export default KubernetesConfigurationConverter;