.map(e -> new EnvVar(e.getKey(), e.getValue(), null)) .collect(Collectors.toList());
public EnvVarBuilder(EnvVar instance,Boolean validationEnabled){ this.fluent = this; this.withName(instance.getName()); this.withValue(instance.getValue()); this.withValueFrom(instance.getValueFrom()); this.validationEnabled = validationEnabled; }
@Override public Deployment transform(Deployment deployment, io.logz.apollo.models.Deployment apolloDeployment, Service apolloService, Environment apolloEnvironment, DeployableVersion apolloDeployableVersion, Group group) { // TODO: This should probably be an externally configured map of key names and desired dynamic values // TODO: Keeping this logz.io specific at the moment Map<String, String> desiredEnvironmentVariables = ImmutableMap.<String, String> builder() .put("ENV", apolloEnvironment.getAvailability()) .put("REGION", apolloEnvironment.getGeoRegion()) .build(); deployment.getSpec().getTemplate().getSpec().getContainers().forEach(container -> { List<EnvVar> envVarList = container.getEnv(); desiredEnvironmentVariables.forEach((key, value) -> { // Do not override values supplied externally if (envVarList.stream().noneMatch(envVar -> envVar.getName().equals(key))) { envVarList.add(new EnvVar(key, value, null)); } }); container.setEnv(envVarList); }); return deployment; } }
public static List<EnvVar> createEnvironmentVariables(Map<String, String> environment) { List<EnvVar> answer = new ArrayList<>(); Set<Map.Entry<String, String>> entries = environment.entrySet(); for (Map.Entry<String, String> entry : entries) { String key = entry.getKey(); String value = entry.getValue(); if (Strings.isNotBlank(key)) { EnvVar env = new EnvVar(); env.setName(key); env.setValue(value); answer.add(env); } } return answer; }
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; }
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 EnvVar getGUIDEnvVar() { ObjectFieldSelector objectFieldSelector = new ObjectFieldSelector(); objectFieldSelector.setFieldPath("metadata.uid"); EnvVarSource envVarSource = new EnvVarSource(); envVarSource.setFieldRef(objectFieldSelector); EnvVar guidEnvVar = new EnvVar(); guidEnvVar.setValueFrom(envVarSource); guidEnvVar.setName("SPRING_CLOUD_APPLICATION_GUID"); return guidEnvVar; }
private void mergeEnvVariables(Container container) { List<EnvVar> env = container.getEnv(); if (env == null) { env = new LinkedList<>(); container.setEnv(env); } ResourceConfig resource = getContext().getResources(); Map<String, String> userEnv = resource != null ? resource.getEnv() : null; if (userEnv != null) { for(Map.Entry<String, String> entry : userEnv.entrySet()) { EnvVar existingVariable = KubernetesResourceUtil.setEnvVarNoOverride(env, entry.getKey(), entry.getValue()); if (existingVariable != null) { String actualValue = existingVariable.getValue(); if (actualValue == null) { actualValue = "retrieved using the downward API"; } log.warn("Environment variable %s will not be overridden: trying to set the value %s, but its actual value will be %s", entry.getKey(), entry.getValue(), actualValue); } } } } }
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 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() ); } }
final EnvVar tillerNamespace = new EnvVar(); tillerNamespace.setName("TILLER_NAMESPACE"); tillerNamespace.setValue(normalizeNamespace(namespace)); env.add(tillerNamespace); final EnvVar tillerHistoryMax = new EnvVar(); tillerHistoryMax.setName("TILLER_HISTORY_MAX"); tillerHistoryMax.setValue(String.valueOf(maxHistory)); env.add(tillerHistoryMax); final EnvVar tlsVerify = new EnvVar(); tlsVerify.setName("TILLER_TLS_VERIFY"); tlsVerify.setValue(verifyTls ? "1" : ""); env.add(tlsVerify); final EnvVar tlsEnable = new EnvVar(); tlsEnable.setName("TILLER_TLS_ENABLE"); tlsEnable.setValue("1"); env.add(tlsEnable); final EnvVar tlsCerts = new EnvVar(); tlsCerts.setName("TILLER_TLS_CERTS"); tlsCerts.setValue(TILLER_TLS_CERTS_PATH); env.add(tlsCerts);
private boolean hasEnvWithName(List<EnvVar> envVars, String name) { return envVars.stream().anyMatch(e -> e.getName().equals(name)); }
public EnvVarFluentImpl(EnvVar instance){ this.withName(instance.getName()); this.withValue(instance.getValue()); this.withValueFrom(instance.getValueFrom()); }
public EnvVarBuilder( EnvVarFluent<?> fluent ){ this(fluent, new EnvVar()); } public EnvVarBuilder( EnvVarFluent<?> fluent , EnvVar instance ){
final EnvVar tillerNamespace = new EnvVar(); tillerNamespace.setName("TILLER_NAMESPACE"); tillerNamespace.setValue(normalizeNamespace(namespace)); env.add(tillerNamespace); final EnvVar tillerHistoryMax = new EnvVar(); tillerHistoryMax.setName("TILLER_HISTORY_MAX"); tillerHistoryMax.setValue(String.valueOf(maxHistory)); env.add(tillerHistoryMax); final EnvVar tlsVerify = new EnvVar(); tlsVerify.setName("TILLER_TLS_VERIFY"); tlsVerify.setValue(verifyTls ? "1" : ""); env.add(tlsVerify); final EnvVar tlsEnable = new EnvVar(); tlsEnable.setName("TILLER_TLS_ENABLE"); tlsEnable.setValue("1"); env.add(tlsEnable); final EnvVar tlsCerts = new EnvVar(); tlsCerts.setName("TILLER_TLS_CERTS"); tlsCerts.setValue(TILLER_TLS_CERTS_PATH); env.add(tlsCerts);
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()); }
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 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; }