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() ); } }
ObjectNode cspec = mapper.createObjectNode(); ArrayNode args = mapper.createArrayNode(); it.getArgs().forEach(arg -> { args.add(arg); });
: template.getWorkingDir(); List<String> command = template.getCommand() == null ? parent.getCommand() : template.getCommand(); List<String> args = template.getArgs() == null ? parent.getArgs() : template.getArgs(); Boolean tty = template.getTty() != null ? template.getTty() : parent.getTty(); Map<String, Quantity> requests = combineResources(parent, template, ResourceRequirements::getRequests);
private void validateJnlpContainer(Container jnlp, KubernetesSlave slave) { assertEquals("Wrong number of volume mounts: " + jnlp.getVolumeMounts(), 1, jnlp.getVolumeMounts().size()); assertThat(jnlp.getCommand(), empty()); List<EnvVar> envVars = Lists.newArrayList( // new EnvVar("HOME", "/home/jenkins", null) // ); if (slave != null) { assertThat(jnlp.getArgs(), empty()); envVars.add(new EnvVar("JENKINS_URL", JENKINS_URL, null)); envVars.add(new EnvVar("JENKINS_SECRET", AGENT_SECRET, null)); envVars.add(new EnvVar("JENKINS_NAME", AGENT_NAME, null)); } else { assertThat(jnlp.getArgs(), empty()); } assertThat(jnlp.getEnv(), containsInAnyOrder(envVars.toArray(new EnvVar[envVars.size()]))); if (jnlp.getResources() != null) { if (jnlp.getResources().getRequests() != null) { assertFalse(jnlp.getResources().getRequests().containsValue(new Quantity(""))); } if (jnlp.getResources().getLimits() != null) { assertFalse(jnlp.getResources().getLimits().containsValue(new Quantity(""))); } } }
public ContainerBuilder( ContainerFluent<?> fluent , Container instance ){ this.fluent = fluent; fluent.withArgs(instance.getArgs()); fluent.withCommand(instance.getCommand()); fluent.withEnv(instance.getEnv()); fluent.withImage(instance.getImage()); fluent.withImagePullPolicy(instance.getImagePullPolicy()); fluent.withLifecycle(instance.getLifecycle()); fluent.withLivenessProbe(instance.getLivenessProbe()); fluent.withName(instance.getName()); fluent.withPorts(instance.getPorts()); fluent.withReadinessProbe(instance.getReadinessProbe()); fluent.withResources(instance.getResources()); fluent.withSecurityContext(instance.getSecurityContext()); fluent.withTerminationMessagePath(instance.getTerminationMessagePath()); fluent.withVolumeMounts(instance.getVolumeMounts()); fluent.withWorkingDir(instance.getWorkingDir()); } public ContainerBuilder( Container instance ){
public ContainerBuilder( Container instance ){ this.fluent = this; this.withArgs(instance.getArgs()); this.withCommand(instance.getCommand()); this.withEnv(instance.getEnv()); this.withImage(instance.getImage()); this.withImagePullPolicy(instance.getImagePullPolicy()); this.withLifecycle(instance.getLifecycle()); this.withLivenessProbe(instance.getLivenessProbe()); this.withName(instance.getName()); this.withPorts(instance.getPorts()); this.withReadinessProbe(instance.getReadinessProbe()); this.withResources(instance.getResources()); this.withSecurityContext(instance.getSecurityContext()); this.withTerminationMessagePath(instance.getTerminationMessagePath()); this.withVolumeMounts(instance.getVolumeMounts()); this.withWorkingDir(instance.getWorkingDir()); }
public ContainerBuilder( ContainerFluent<?> fluent , Container instance ){ this.fluent = fluent; fluent.withArgs(instance.getArgs()); fluent.withCapabilities(instance.getCapabilities()); fluent.withCommand(instance.getCommand()); fluent.withEnv(instance.getEnv()); fluent.withImage(instance.getImage()); fluent.withImagePullPolicy(instance.getImagePullPolicy()); fluent.withLifecycle(instance.getLifecycle()); fluent.withLivenessProbe(instance.getLivenessProbe()); fluent.withName(instance.getName()); fluent.withPorts(instance.getPorts()); fluent.withPrivileged(instance.getPrivileged()); fluent.withReadinessProbe(instance.getReadinessProbe()); fluent.withResources(instance.getResources()); fluent.withSecurityContext(instance.getSecurityContext()); fluent.withTerminationMessagePath(instance.getTerminationMessagePath()); fluent.withVolumeMounts(instance.getVolumeMounts()); fluent.withWorkingDir(instance.getWorkingDir()); } public ContainerBuilder( Container instance ){
public ContainerBuilder( Container instance ){ this.fluent = this; this.withArgs(instance.getArgs()); this.withCapabilities(instance.getCapabilities()); this.withCommand(instance.getCommand()); this.withEnv(instance.getEnv()); this.withImage(instance.getImage()); this.withImagePullPolicy(instance.getImagePullPolicy()); this.withLifecycle(instance.getLifecycle()); this.withLivenessProbe(instance.getLivenessProbe()); this.withName(instance.getName()); this.withPorts(instance.getPorts()); this.withPrivileged(instance.getPrivileged()); this.withReadinessProbe(instance.getReadinessProbe()); this.withResources(instance.getResources()); this.withSecurityContext(instance.getSecurityContext()); this.withTerminationMessagePath(instance.getTerminationMessagePath()); this.withVolumeMounts(instance.getVolumeMounts()); this.withWorkingDir(instance.getWorkingDir()); }
public ContainerFluentImpl(Container instance){ this.withArgs(instance.getArgs()); this.withCommand(instance.getCommand()); this.withEnv(instance.getEnv()); this.withImage(instance.getImage()); this.withImagePullPolicy(instance.getImagePullPolicy()); this.withLifecycle(instance.getLifecycle()); this.withLivenessProbe(instance.getLivenessProbe()); this.withName(instance.getName()); this.withPorts(instance.getPorts()); this.withReadinessProbe(instance.getReadinessProbe()); this.withResources(instance.getResources()); this.withSecurityContext(instance.getSecurityContext()); this.withStdin(instance.getStdin()); this.withStdinOnce(instance.getStdinOnce()); this.withTerminationMessagePath(instance.getTerminationMessagePath()); this.withTty(instance.getTty()); this.withVolumeMounts(instance.getVolumeMounts()); this.withWorkingDir(instance.getWorkingDir()); }
public ContainerBuilder(ContainerFluent<?> fluent,Container instance,Boolean validationEnabled){ this.fluent = fluent; fluent.withArgs(instance.getArgs()); fluent.withCommand(instance.getCommand()); fluent.withEnv(instance.getEnv()); fluent.withImage(instance.getImage()); fluent.withImagePullPolicy(instance.getImagePullPolicy()); fluent.withLifecycle(instance.getLifecycle()); fluent.withLivenessProbe(instance.getLivenessProbe()); fluent.withName(instance.getName()); fluent.withPorts(instance.getPorts()); fluent.withReadinessProbe(instance.getReadinessProbe()); fluent.withResources(instance.getResources()); fluent.withSecurityContext(instance.getSecurityContext()); fluent.withStdin(instance.getStdin()); fluent.withStdinOnce(instance.getStdinOnce()); fluent.withTerminationMessagePath(instance.getTerminationMessagePath()); fluent.withTty(instance.getTty()); fluent.withVolumeMounts(instance.getVolumeMounts()); fluent.withWorkingDir(instance.getWorkingDir()); this.validationEnabled = validationEnabled; } public ContainerBuilder(Container instance){
public ContainerBuilder(Container instance,Boolean validationEnabled){ this.fluent = this; this.withArgs(instance.getArgs()); this.withCommand(instance.getCommand()); this.withEnv(instance.getEnv()); this.withImage(instance.getImage()); this.withImagePullPolicy(instance.getImagePullPolicy()); this.withLifecycle(instance.getLifecycle()); this.withLivenessProbe(instance.getLivenessProbe()); this.withName(instance.getName()); this.withPorts(instance.getPorts()); this.withReadinessProbe(instance.getReadinessProbe()); this.withResources(instance.getResources()); this.withSecurityContext(instance.getSecurityContext()); this.withStdin(instance.getStdin()); this.withStdinOnce(instance.getStdinOnce()); this.withTerminationMessagePath(instance.getTerminationMessagePath()); this.withTty(instance.getTty()); this.withVolumeMounts(instance.getVolumeMounts()); this.withWorkingDir(instance.getWorkingDir()); this.validationEnabled = validationEnabled; }