Search in sources :

Example 56 with EnvVar

use of io.fabric8.kubernetes.api.model.EnvVar in project kubernetes by ballerinax.

the class KubernetesUtils method populateEnvVar.

/**
 * Get a list of environment variables.
 *
 * @param envMap Map of Environment variables
 * @return List of env vars
 */
public static List<EnvVar> populateEnvVar(Map<String, EnvVarValueModel> envMap) {
    List<EnvVar> envVars = new ArrayList<>();
    if (envMap == null) {
        return envVars;
    }
    envMap.forEach((k, v) -> {
        EnvVar envVar = null;
        if (v.getValue() != null) {
            envVar = new EnvVarBuilder().withName(k).withValue(v.getValue()).build();
        } else if (v.getValueFrom() instanceof EnvVarValueModel.FieldRef) {
            EnvVarValueModel.FieldRef fieldRefModel = (EnvVarValueModel.FieldRef) v.getValueFrom();
            ObjectFieldSelector fieldRef = new ObjectFieldSelectorBuilder().withFieldPath(fieldRefModel.getFieldPath()).build();
            EnvVarSource envVarSource = new EnvVarSourceBuilder().withFieldRef(fieldRef).build();
            envVar = new EnvVarBuilder().withName(k).withValueFrom(envVarSource).build();
        } else if (v.getValueFrom() instanceof EnvVarValueModel.SecretKeyRef) {
            EnvVarValueModel.SecretKeyRef secretKeyRefModel = (EnvVarValueModel.SecretKeyRef) v.getValueFrom();
            SecretKeySelector secretRef = new SecretKeySelectorBuilder().withName(secretKeyRefModel.getName()).withKey(secretKeyRefModel.getKey()).build();
            EnvVarSource envVarSource = new EnvVarSourceBuilder().withSecretKeyRef(secretRef).build();
            envVar = new EnvVarBuilder().withName(k).withValueFrom(envVarSource).build();
        } else if (v.getValueFrom() instanceof EnvVarValueModel.ResourceFieldRef) {
            EnvVarValueModel.ResourceFieldRef resourceFieldRefModel = (EnvVarValueModel.ResourceFieldRef) v.getValueFrom();
            ResourceFieldSelector resourceFieldRef = new ResourceFieldSelectorBuilder().withContainerName(resourceFieldRefModel.getContainerName()).withResource(resourceFieldRefModel.getResource()).build();
            EnvVarSource envVarSource = new EnvVarSourceBuilder().withResourceFieldRef(resourceFieldRef).build();
            envVar = new EnvVarBuilder().withName(k).withValueFrom(envVarSource).build();
        } else if (v.getValueFrom() instanceof EnvVarValueModel.ConfigMapKeyValue) {
            EnvVarValueModel.ConfigMapKeyValue configMapKeyValue = (EnvVarValueModel.ConfigMapKeyValue) v.getValueFrom();
            ConfigMapKeySelector configMapKey = new ConfigMapKeySelectorBuilder().withKey(configMapKeyValue.getKey()).withName(configMapKeyValue.getName()).build();
            EnvVarSource envVarSource = new EnvVarSourceBuilder().withConfigMapKeyRef(configMapKey).build();
            envVar = new EnvVarBuilder().withName(k).withValueFrom(envVarSource).build();
        }
        if (envVar != null) {
            envVars.add(envVar);
        }
    });
    return envVars;
}
Also used : ConfigMapKeySelectorBuilder(io.fabric8.kubernetes.api.model.ConfigMapKeySelectorBuilder) ArrayList(java.util.ArrayList) EnvVarValueModel(org.ballerinax.kubernetes.models.EnvVarValueModel) ObjectFieldSelectorBuilder(io.fabric8.kubernetes.api.model.ObjectFieldSelectorBuilder) ResourceFieldSelectorBuilder(io.fabric8.kubernetes.api.model.ResourceFieldSelectorBuilder) EnvVarBuilder(io.fabric8.kubernetes.api.model.EnvVarBuilder) SecretKeySelector(io.fabric8.kubernetes.api.model.SecretKeySelector) ObjectFieldSelector(io.fabric8.kubernetes.api.model.ObjectFieldSelector) EnvVarSourceBuilder(io.fabric8.kubernetes.api.model.EnvVarSourceBuilder) EnvVar(io.fabric8.kubernetes.api.model.EnvVar) ResourceFieldSelector(io.fabric8.kubernetes.api.model.ResourceFieldSelector) SecretKeySelectorBuilder(io.fabric8.kubernetes.api.model.SecretKeySelectorBuilder) EnvVarSource(io.fabric8.kubernetes.api.model.EnvVarSource) ConfigMapKeySelector(io.fabric8.kubernetes.api.model.ConfigMapKeySelector)

Aggregations

EnvVar (io.fabric8.kubernetes.api.model.EnvVar)51 ArrayList (java.util.ArrayList)15 Test (org.junit.Test)15 ContainerPortBuilder (io.fabric8.kubernetes.api.model.ContainerPortBuilder)11 EnvVarBuilder (io.fabric8.kubernetes.api.model.EnvVarBuilder)10 Deployment (io.fabric8.kubernetes.api.model.apps.Deployment)10 HashMap (java.util.HashMap)10 Container (io.fabric8.kubernetes.api.model.Container)9 ContainerPort (io.fabric8.kubernetes.api.model.ContainerPort)9 ServicePortBuilder (io.fabric8.kubernetes.api.model.ServicePortBuilder)9 File (java.io.File)8 List (java.util.List)8 IntOrString (io.fabric8.kubernetes.api.model.IntOrString)7 Pod (io.fabric8.kubernetes.api.model.Pod)7 ServiceSpecBuilder (io.fabric8.kubernetes.api.model.ServiceSpecBuilder)7 Map (java.util.Map)7 Test (org.testng.annotations.Test)7 LinkedList (java.util.LinkedList)6 ContainerBuilder (io.fabric8.kubernetes.api.model.ContainerBuilder)5 VolumeMount (io.fabric8.kubernetes.api.model.VolumeMount)5