private void validateContainer(Container container) { if (container.getImage() == null) { throw new IllegalArgumentException("Container " + container.getName() + " has no Docker image configured. " + "Please check your Docker image configuration (including the generators which are supposed to run)"); } } }
public static Container findContainer(List<Container> containers, String name) { for (Container container : containers) { if (Objects.equal(container.getName(), name)) { return container; } } return null; }
private static Map<String, Map<String, Integer>> getPortMap(List<Container> containers) { Map<String, Map<String, Integer>> portMap = new LinkedHashMap<>(); for (Container container : containers) { Map<String, Integer> ports = new LinkedHashMap<>(); for (ContainerPort port : container.getPorts()) { ports.put(port.getName(), port.getContainerPort()); } portMap.put(container.getName(), ports); } return portMap; }
private String getLogContainerName(List<Container> containers) { if (StringUtils.isNotBlank(context.getLogContainerName())) { for (Container container : containers) { if (Objects.equals(context.getLogContainerName(), container.getName())) { return context.getLogContainerName(); } } log.error("log container name %s does not exist in pod!! Did you set the correct value for property 'fabric8.log.container'", context.getLogContainerName()); } return containers.get(0).getName(); }
public static Collection<String> validateYamlContainerNames(String yaml) { if (StringUtils.isBlank(yaml)) { return Collections.emptyList(); } Collection<String> errors = new ArrayList<>(); Pod pod = parseFromYaml(yaml); List<Container> containers = pod.getSpec().getContainers(); if (containers != null) { for (Container container : containers) { if (!PodTemplateUtils.validateContainerName(container.getName())) { errors.add(container.getName()); } } } return errors; }
public Container getInitContainer(PodTemplateSpecBuilder builder, String name) { if (builder.hasSpec()) { List<Container> initContainerList = builder.buildSpec().getInitContainers(); for(Container initContainer : initContainerList) { if(initContainer.getName().equals(name)) { return initContainer; } } } return null; }
public Container getInitContainer(PodTemplateSpecBuilder builder, String name) { if (builder.hasSpec()) { List<Container> initContainerList = builder.buildSpec().getInitContainers(); for(Container initContainer : initContainerList) { if(initContainer.getName().equals(name)) { return initContainer; } } } return null; }
private void mergeContainerName(ImageConfiguration imageConfiguration, Container container) { if (StringUtils.isBlank(container.getName())) { String containerName = extractContainerName(getContext().getGav(), imageConfiguration); log.verbose("Setting container name %s",containerName); container.setName(containerName); } }
private void mergeContainerName(ImageConfiguration imageConfiguration, Container container) { if (Strings.isNullOrBlank(container.getName())) { String containerName = extractContainerName(getProject(), imageConfiguration); log.verbose("Setting container name %s",containerName); container.setName(containerName); } }
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()); }
@Override public void updatePod(String id, Pod pod) { String namespace = defaultNamespace(KubernetesHelper.getNamespace(pod)); id = getOrCreateId(id, NodeHelper.KIND_POD); // lets make sure that for each container we have a current container created List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { String name = getOrCreateId(container.getName(), NodeHelper.KIND_POD); ContainerState containerState = NodeHelper.getOrCreateContainerState(pod, name); } getInternalPodMap(namespace).put(id, pod); }
public void appendInitContainer(PodTemplateSpecBuilder builder, Container initContainer) { String name = initContainer.getName(); Container existing = getInitContainer(builder, name); if (existing != null) { if (existing.equals(initContainer)) { log.warn("Trying to add init-container %s a second time. Ignoring ....", name); return; } else { throw new IllegalArgumentException( String.format("PodSpec %s already contains a different init container with name %s but can not add a second one with the same name. " + "Please choose a different name for the init container", builder.build().getMetadata().getName(), name)); } } ensureSpec(builder); builder.editSpec().addToInitContainers(initContainer).endSpec(); }
public void appendInitContainer(PodTemplateSpecBuilder builder, Container initContainer) { String name = initContainer.getName(); Container existing = getInitContainer(builder, name); if (existing != null) { if (existing.equals(initContainer)) { log.warn("Trying to add init-container %s a second time. Ignoring ....", name); return; } else { throw new IllegalArgumentException( String.format("PodSpec %s already contains a different init container with name %s but can not add a second one with the same name. " + "Please choose a different name for the init container", builder.build().getMetadata().getName(), name)); } } ensureSpec(builder); builder.editSpec().addToInitContainers(initContainer).endSpec(); }
@Override public void visit(ContainerBuilder cb) { Container container = cb.build(); String containerName = container.getName(); String containerImage = container.getImage(); ImageName image = new ImageName(containerImage); if (isContainerAllowed(containerName) && image.getRegistry() == null && image.getUser() == null) { // Imagestreams used as trigger are in the same namespace String tag = image.getTag() != null ? image.getTag() : "latest"; ImageChangeTrigger trigger = new ImageChangeTriggerBuilder() .withNewFrom() .withKind("ImageStreamTag") .withName(image.getSimpleName() + ":" + tag) .endFrom() .build(); trigger.setAdditionalProperty("fieldPath", "spec.template.spec.containers[?(@.name==\"" + containerName + "\")].image"); triggerList.add(trigger); } } });
@Override public void visit(ContainerBuilder cb) { Container container = cb.build(); String containerName = container.getName(); String containerImage = container.getImage(); ImageName image = new ImageName(containerImage); if (isContainerAllowed(containerName) && image.getRegistry() == null && image.getUser() == null) { // Imagestreams used as trigger are in the same namespace String tag = image.getTag() != null ? image.getTag() : "latest"; ImageChangeTrigger trigger = new ImageChangeTriggerBuilder() .withNewFrom() .withKind("ImageStreamTag") .withName(image.getSimpleName() + ":" + tag) .endFrom() .build(); trigger.setAdditionalProperty("fieldPath", "spec.template.spec.containers[?(@.name==\"" + containerName + "\")].image"); triggerList.add(trigger); } } });
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()); }