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); }
@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; } }
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); } } } } }
private void mergeEnvVariables(Container container) { getConfiguration().getResource().flatMap(ResourceConfig::getEnv).ifPresent(resourceEnv -> { List<EnvVar> containerEnvVars = container.getEnv(); if (containerEnvVars == null) { containerEnvVars = new LinkedList<>(); container.setEnv(containerEnvVars); } for (Map.Entry<String, String> resourceEnvEntry : resourceEnv.entrySet()) { EnvVar newEnvVar = new EnvVarBuilder() .withName(resourceEnvEntry.getKey()) .withValue(resourceEnvEntry.getValue()) .build(); if (!hasEnvWithName(containerEnvVars, newEnvVar.getName())) { containerEnvVars.add(newEnvVar); } else { log.warn( "Environment variable %s will not be overridden: trying to set the value %s, but its actual value is %s", newEnvVar.getName(), newEnvVar.getValue(), getEnvValue(containerEnvVars, newEnvVar.getName())); } } }); }
container.setEnv(env); enabled = true; container.setEnv(env); enabled = true; container.setEnv(env); if (container.getReadinessProbe() != null) { log.info("Readiness probe will be disabled on " + KubernetesHelper.getKind(entity) + " " + getName(entity) + " to allow attaching a remote debugger during suspension"); } else { if (KubernetesResourceUtil.removeEnvVar(env, DebugConstants.ENV_VAR_JAVA_DEBUG_SESSION)) { container.setEnv(env); enabled = true;
boolean enabled = false; if (KubernetesResourceUtil.setEnvVar(env, ENV_VAR_JAVA_DEBUG, "true")) { container.setEnv(env); enabled = true;
boolean enabled = false; if (KubernetesResourceUtil.setEnvVar(env, ENV_VAR_JAVA_DEBUG, "true")) { container.setEnv(env); enabled = true;
boolean enabled = false; if (KubernetesResourceUtil.setEnvVar(env, ENV_VAR_JAVA_DEBUG, "true")) { container.setEnv(env); enabled = true;
template.getEnvVars()); envVars.putAll(jnlp.getEnv().stream().collect(Collectors.toMap(EnvVar::getName, Function.identity()))); jnlp.setEnv(new ArrayList<>(envVars.values()));
public static Container addOrUpdateDesiredContainer(Pod pod, String containerName, Container container) { List<Container> containers = getOrCreatePodDesiredContainers(pod); Container oldContainer = findContainer(containers, containerName); if (oldContainer != null) { // lets update it just in case something changed... containers.remove(oldContainer); } Container newContainer = new Container(); // TODO we should use bean utils or something to copy properties in case we miss one! newContainer.setCommand(container.getCommand()); newContainer.setEnv(container.getEnv()); newContainer.setImage(container.getImage()); newContainer.setPorts(container.getPorts()); newContainer.setVolumeMounts(container.getVolumeMounts()); newContainer.setWorkingDir(container.getWorkingDir()); newContainer.getAdditionalProperties().putAll(container.getAdditionalProperties()); newContainer.setName(containerName); LOG.info("Added new container: {}", containerName); containers.add(newContainer); return newContainer; }
container.setEnv(env);
ProcessController controller = installation.getController(); Map<String, String> environment = controller.getConfig().getEnvironment(); container.setEnv(createEnvironmentVariables(environment)); createInstallationPorts(environment, installation, container); model.updatePod(getName(pod), pod);
container.setEnv(env);