Optional<EnvVar> noVncPort = podEnvironmentVariables.stream().filter(env -> "NOVNC_PORT".equals(env.getName())).findFirst();
public static boolean removeEnvVar(List<EnvVar> envVarList, String name) { boolean removed = false; for (Iterator<EnvVar> it = envVarList.iterator(); it.hasNext(); ) { EnvVar envVar = it.next(); String envVarName = envVar.getName(); if (name.equals(envVarName)) { it.remove(); removed = true; } } return removed; }
private boolean hasEnvWithName(List<EnvVar> envVars, String name) { return envVars.stream().anyMatch(e -> e.getName().equals(name)); }
private String getEnvValue(List<EnvVar> envVars, String name) { for (EnvVar var : envVars) { if (var.getName().equals(name)) { return var.getValue(); } } return "(not found)"; }
public static String getEnvVar(List<EnvVar> envVarList, String name, String defaultValue) { String answer = defaultValue; if (envVarList != null) { for (EnvVar envVar : envVarList) { String envVarName = envVar.getName(); if (Objects.equals(name, envVarName)) { String value = envVar.getValue(); if (StringUtils.isNotBlank(value)) { return value; } } } } return answer; }
private static List<EnvVar> combineEnvVars(Container parent, Container template) { List<EnvVar> combinedEnvVars = new ArrayList<>(); combinedEnvVars.addAll(parent.getEnv()); combinedEnvVars.addAll(template.getEnv()); return combinedEnvVars.stream().filter(envVar -> !Strings.isNullOrEmpty(envVar.getName())).collect(toList()); }
private static void ensureHasEnv(Container container, EnvVar envVar) { List<EnvVar> envVars = container.getEnv(); if (envVars == null) { envVars = new ArrayList<>(); container.setEnv(envVars); } for (EnvVar var : envVars) { if (Objects.equals(var.getName(), envVar.getName())) { // lets replace the object so that we can update the value or valueFrom envVars.remove(var); envVars.add(envVar); return; } } envVars.add(envVar); }
/** * Converts a possibly null list of Env objects into a Map of environment variables */ public static Map<String, String> createEnvironmentVariableMap(List<EnvVar> envList) { Map<String, String> answer = new HashMap<>(); if (envList != null) { for (EnvVar env : envList) { String name = env.getName(); String value = env.getValue(); if (Strings.isNotBlank(name)) { answer.put(name, value); } } } return answer; }
private boolean podHasEnvVarValue(Pod pod, String envVarName, String envVarValue) { PodSpec spec = pod.getSpec(); if (spec != null) { List<Container> containers = spec.getContainers(); if (containers != null && !containers.isEmpty()) { Container container = containers.get(0); List<EnvVar> env = container.getEnv(); if (env != null) { for (EnvVar envVar : env) { if (Objects.equal(envVar.getName(), envVarName) && Objects.equal(envVar.getValue(), envVarValue)) { return true; } } } } } return false; }
public static boolean setEnvVar(List<EnvVar> envVarList, String name, String value) { for (EnvVar envVar : envVarList) { String envVarName = envVar.getName(); if (Objects.equals(name, envVarName)) { String oldValue = envVar.getValue(); if (Objects.equals(value, oldValue)) { return false; } else { envVar.setValue(value); return true; } } } EnvVar env = new EnvVarBuilder().withName(name).withValue(value).build(); envVarList.add(env); return true; }
private List<EnvVar> getEnvVars(ResourceConfig config) { List<EnvVar> envVars = KubernetesResourceUtil.convertToEnvVarList(config.getEnv().orElse(Collections.emptyMap())); // TODO: This should go into an extra enricher so that this behaviour can be switched on / off envVars.removeIf(obj -> obj.getName().equals("KUBERNETES_NAMESPACE")); envVars.add(0, new EnvVarBuilder() .withName("KUBERNETES_NAMESPACE") .withNewValueFrom() .withNewFieldRef() .withFieldPath("metadata.namespace") .endFieldRef() .endValueFrom() .build()); return envVars; }
public EnvVarBuilder(EnvVar instance,Boolean validationEnabled){ this.fluent = this; this.withName(instance.getName()); this.withValue(instance.getValue()); this.withValueFrom(instance.getValueFrom()); this.validationEnabled = validationEnabled; }
public EnvVarBuilder(EnvVarFluent<?> fluent,EnvVar instance,Boolean validationEnabled){ this.fluent = fluent; fluent.withName(instance.getName()); fluent.withValue(instance.getValue()); fluent.withValueFrom(instance.getValueFrom()); this.validationEnabled = validationEnabled; } public EnvVarBuilder(EnvVar instance){
public EnvVarFluentImpl(EnvVar instance){ this.withName(instance.getName()); this.withValue(instance.getValue()); this.withValueFrom(instance.getValueFrom()); }
public static Map<String, String> getKafkaContainerEnv(StatefulSet ss) { for (Container container : ss.getSpec().getTemplate().getSpec().getContainers()) { if ("kafka".equals(container.getName())) { LinkedHashMap<String, String> map = new LinkedHashMap<>(container.getEnv() == null ? 2 : container.getEnv().size()); if (container.getEnv() != null) { for (EnvVar envVar : container.getEnv()) { map.put(envVar.getName(), envVar.getValue()); } } return map; } } throw new KafkaUpgradeException("Could not find 'kafka' container in StatefulSet " + ss.getMetadata().getName()); }
public EnvVarBuilder( EnvVar instance ){ this.fluent = this; this.withName(instance.getName()); this.withValue(instance.getValue()); this.withValueFrom(instance.getValueFrom()); }
public EnvVarBuilder( EnvVarFluent<?> fluent , EnvVar instance ){ this.fluent = fluent; fluent.withName(instance.getName()); fluent.withValue(instance.getValue()); fluent.withValueFrom(instance.getValueFrom()); } public EnvVarBuilder( EnvVar instance ){
public EnvVarBuilder( EnvVarFluent<?> fluent , EnvVar instance ){ this.fluent = fluent; fluent.withName(instance.getName()); fluent.withValue(instance.getValue()); fluent.withValueFrom(instance.getValueFrom()); } public EnvVarBuilder( EnvVar instance ){
public EnvVarBuilder( EnvVar instance ){ this.fluent = this; this.withName(instance.getName()); this.withValue(instance.getValue()); this.withValueFrom(instance.getValueFrom()); }
public void addEnvironmentVariables(Pod podToDeploy, PodDeploymentContext deploymentContext) { final KubernetesSlave kubernetesSlave = deploymentContext.getKubernetesSlave(); for (Container container: podToDeploy.getSpec().getContainers()) { List<EnvVar> currentEnv = container.getEnv(); boolean found = false; for (EnvVar var: currentEnv) { if (var.getName().equals(JENKINS_URL) ) { found = true; break; } } if ( !found) { String url = JenkinsLocationConfiguration.get().getUrl(); currentEnv.add(new EnvVar(JENKINS_URL, url, null)); } container.setWorkingDir(KubernetesSlave.DEFAULT_REMOTE_FS); container.getArgs().add(kubernetesSlave.getComputer().getJnlpMac()); container.getArgs().add(kubernetesSlave.getComputer().getName()); LOGGER.log(Level.INFO, "Added environment variables to container: " + container.getName() ); } }