io.fabric8.kubernetes.api.model.apps.DaemonSet Java Examples
The following examples show how to use
io.fabric8.kubernetes.api.model.apps.DaemonSet.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DaemonSetHandler.java From jkube with Eclipse Public License 2.0 | 5 votes |
public DaemonSet getDaemonSet(ResourceConfig config, List<ImageConfiguration> images) { return new DaemonSetBuilder() .withMetadata(createDaemonSetMetaData(config)) .withSpec(createDaemonSetSpec(config, images)) .build(); }
Example #2
Source File: DaemonSetHandlerTest.java From jkube with Eclipse Public License 2.0 | 5 votes |
@Test public void daemonTemplateHandlerTest() { ContainerHandler containerHandler = getContainerHandler(); PodTemplateHandler podTemplateHandler = new PodTemplateHandler(containerHandler); DaemonSetHandler daemonSetHandler = new DaemonSetHandler(podTemplateHandler); ResourceConfig config = ResourceConfig.builder() .imagePullPolicy("IfNotPresent") .controllerName("testing") .serviceAccount("test-account") .volumes(volumes1) .build(); DaemonSet daemonSet = daemonSetHandler.getDaemonSet(config,images); //Assertion assertNotNull(daemonSet.getSpec()); assertNotNull(daemonSet.getMetadata()); assertNotNull(daemonSet.getSpec().getTemplate()); assertEquals("testing",daemonSet.getMetadata().getName()); assertEquals("test-account",daemonSet.getSpec().getTemplate() .getSpec().getServiceAccountName()); assertFalse(daemonSet.getSpec().getTemplate().getSpec().getVolumes().isEmpty()); assertEquals("test",daemonSet.getSpec().getTemplate().getSpec(). getVolumes().get(0).getName()); assertEquals("/test/path",daemonSet.getSpec().getTemplate() .getSpec().getVolumes().get(0).getHostPath().getPath()); assertNotNull(daemonSet.getSpec().getTemplate().getSpec().getContainers()); }
Example #3
Source File: TriggersAnnotationEnricherTest.java From jkube with Eclipse Public License 2.0 | 5 votes |
@Test public void testDaemonSetEnrichment() throws IOException { KubernetesListBuilder builder = new KubernetesListBuilder() .addToItems(new DaemonSetBuilder() .withNewMetadata() .addToAnnotations("annkey", "annvalue") .endMetadata() .withNewSpec() .withNewTemplate() .withNewSpec() .withContainers(createContainers( "c1", "iss:1.1.0", "c2", "docker.io/a-docker-user/is:latest" )) .endSpec() .endTemplate() .endSpec() .build()); TriggersAnnotationEnricher enricher = new TriggersAnnotationEnricher(context); enricher.enrich(PlatformMode.kubernetes, builder); DaemonSet res = (DaemonSet) builder.build().getItems().get(0); String triggers = res.getMetadata().getAnnotations().get("image.openshift.io/triggers"); assertNotNull(triggers); List<ImageChangeTrigger> triggerList = OBJECT_MAPPER.readValue(triggers, OBJECT_MAPPER.getTypeFactory().constructCollectionType(List.class, ImageChangeTrigger.class)); assertEquals(1, triggerList.size()); ImageChangeTrigger trigger = triggerList.get(0); assertEquals("ImageStreamTag", trigger.getFrom().getKind()); assertEquals("iss:1.1.0", trigger.getFrom().getName()); assertTrue(trigger.getAdditionalProperties().containsKey("fieldPath")); assertEquals("annvalue", res.getMetadata().getAnnotations().get("annkey")); }
Example #4
Source File: ContainerSearch.java From che with Eclipse Public License 2.0 | 5 votes |
private Stream<Container> findContainers(HasMetadata o) { // hopefully, this covers all types of objects that can contain a container if (o instanceof Pod) { return ((Pod) o).getSpec().getContainers().stream(); } else if (o instanceof PodTemplate) { return ((PodTemplate) o).getTemplate().getSpec().getContainers().stream(); } else if (o instanceof DaemonSet) { return ((DaemonSet) o).getSpec().getTemplate().getSpec().getContainers().stream(); } else if (o instanceof Deployment) { return ((Deployment) o).getSpec().getTemplate().getSpec().getContainers().stream(); } else if (o instanceof Job) { return ((Job) o).getSpec().getTemplate().getSpec().getContainers().stream(); } else if (o instanceof ReplicaSet) { return ((ReplicaSet) o).getSpec().getTemplate().getSpec().getContainers().stream(); } else if (o instanceof ReplicationController) { return ((ReplicationController) o).getSpec().getTemplate().getSpec().getContainers().stream(); } else if (o instanceof StatefulSet) { return ((StatefulSet) o).getSpec().getTemplate().getSpec().getContainers().stream(); } else if (o instanceof CronJob) { return ((CronJob) o) .getSpec() .getJobTemplate() .getSpec() .getTemplate() .getSpec() .getContainers() .stream(); } else if (o instanceof DeploymentConfig) { return ((DeploymentConfig) o).getSpec().getTemplate().getSpec().getContainers().stream(); } else if (o instanceof Template) { return ((Template) o).getObjects().stream().flatMap(this::findContainers); } else { return Stream.empty(); } }
Example #5
Source File: DefaultControllerEnricher.java From jkube with Eclipse Public License 2.0 | 4 votes |
@Override public void create(PlatformMode platformMode, KubernetesListBuilder builder) { final String name = getConfig(Config.name, JKubeProjectUtil.createDefaultResourceName(getContext().getGav().getSanitizedArtifactId())); ResourceConfig xmlResourceConfig = Optional.ofNullable(getConfiguration().getResource()) .orElse(ResourceConfig.builder().build()); ResourceConfig config = ResourceConfig.toBuilder(xmlResourceConfig) .controllerName(name) .imagePullPolicy(getImagePullPolicy(xmlResourceConfig, getConfig(Config.pullPolicy))) .replicas(getReplicaCount(builder, xmlResourceConfig, Configs.asInt(getConfig(Config.replicaCount)))) .build(); final List<ImageConfiguration> images = getImages(); // Check if at least a replica set is added. If not add a default one if (!KubernetesResourceUtil.checkForKind(builder, POD_CONTROLLER_KINDS)) { // At least one image must be present, otherwise the resulting config will be invalid if (!images.isEmpty()) { String type = getConfig(Config.type); if ("deployment".equalsIgnoreCase(type) || "deploymentConfig".equalsIgnoreCase(type)) { if (platformMode == PlatformMode.kubernetes || (platformMode == PlatformMode.openshift && useDeploymentForOpenShift())) { log.info("Adding a default Deployment"); Deployment deployment = deployHandler.getDeployment(config, images); builder.addToItems(deployment); setProcessingInstruction(FABRIC8_GENERATED_CONTAINERS, getContainersFromPodSpec(deployment.getSpec().getTemplate())); } else { log.info("Adding a default DeploymentConfig"); DeploymentConfig deploymentConfig = deployConfigHandler.getDeploymentConfig(config, images, getOpenshiftDeployTimeoutInSeconds(3600L), getValueFromConfig(IMAGE_CHANGE_TRIGGERS, true), getValueFromConfig(OPENSHIFT_ENABLE_AUTOMATIC_TRIGGER, true), isOpenShiftMode(), getProcessingInstructionViaKey(FABRIC8_GENERATED_CONTAINERS)); builder.addToItems(deploymentConfig); setProcessingInstruction(FABRIC8_GENERATED_CONTAINERS, getContainersFromPodSpec(deploymentConfig.getSpec().getTemplate())); } } else if ("statefulSet".equalsIgnoreCase(type)) { log.info("Adding a default StatefulSet"); StatefulSet statefulSet = statefulSetHandler.getStatefulSet(config, images); builder.addToItems(statefulSet); setProcessingInstruction(FABRIC8_GENERATED_CONTAINERS, getContainersFromPodSpec(statefulSet.getSpec().getTemplate())); } else if ("daemonSet".equalsIgnoreCase(type)) { log.info("Adding a default DaemonSet"); DaemonSet daemonSet = daemonSetHandler.getDaemonSet(config, images); builder.addToItems(daemonSet); setProcessingInstruction(FABRIC8_GENERATED_CONTAINERS, getContainersFromPodSpec(daemonSet.getSpec().getTemplate())); } else if ("replicaSet".equalsIgnoreCase(type)) { log.info("Adding a default ReplicaSet"); ReplicaSet replicaSet = rsHandler.getReplicaSet(config, images); builder.addToItems(replicaSet); setProcessingInstruction(FABRIC8_GENERATED_CONTAINERS, getContainersFromPodSpec(replicaSet.getSpec().getTemplate())); } else if ("replicationController".equalsIgnoreCase(type)) { log.info("Adding a default ReplicationController"); ReplicationController replicationController = rcHandler.getReplicationController(config, images); builder.addToReplicationControllerItems(replicationController); setProcessingInstruction(FABRIC8_GENERATED_CONTAINERS, getContainersFromPodSpec(replicationController.getSpec().getTemplate())); } else if ("job".equalsIgnoreCase(type)) { log.info("Adding a default Job"); Job job = jobHandler.getJob(config, images); builder.addToItems(job); setProcessingInstruction(FABRIC8_GENERATED_CONTAINERS, getContainersFromPodSpec(job.getSpec().getTemplate())); } } } }
Example #6
Source File: ApplyService.java From jkube with Eclipse Public License 2.0 | 4 votes |
/** * Applies the given DTOs onto the Kubernetes master */ private void applyEntity(Object dto, String sourceName) throws Exception { if (dto instanceof Pod) { applyPod((Pod) dto, sourceName); } else if (dto instanceof ReplicationController) { applyReplicationController((ReplicationController) dto, sourceName); } else if (dto instanceof Service) { applyService((Service) dto, sourceName); } else if (dto instanceof Route) { applyRoute((Route) dto, sourceName); } else if (dto instanceof BuildConfig) { applyBuildConfig((BuildConfig) dto, sourceName); } else if (dto instanceof DeploymentConfig) { DeploymentConfig resource = (DeploymentConfig) dto; OpenShiftClient openShiftClient = getOpenShiftClient(); if (openShiftClient != null) { applyResource(resource, sourceName, openShiftClient.deploymentConfigs()); } else { log.warn("Not connected to OpenShift cluster so cannot apply entity " + dto); } } else if (dto instanceof RoleBinding) { applyRoleBinding((RoleBinding) dto, sourceName); } else if (dto instanceof Role) { applyResource((Role)dto, sourceName, kubernetesClient.rbac().roles()); } else if (dto instanceof ImageStream) { applyImageStream((ImageStream) dto, sourceName); } else if (dto instanceof OAuthClient) { applyOAuthClient((OAuthClient) dto, sourceName); } else if (dto instanceof Template) { applyTemplate((Template) dto, sourceName); } else if (dto instanceof ServiceAccount) { applyServiceAccount((ServiceAccount) dto, sourceName); } else if (dto instanceof Secret) { applySecret((Secret) dto, sourceName); } else if (dto instanceof ConfigMap) { applyResource((ConfigMap) dto, sourceName, kubernetesClient.configMaps()); } else if (dto instanceof DaemonSet) { applyResource((DaemonSet) dto, sourceName, kubernetesClient.apps().daemonSets()); } else if (dto instanceof Deployment) { applyResource((Deployment) dto, sourceName, kubernetesClient.apps().deployments()); } else if (dto instanceof ReplicaSet) { applyResource((ReplicaSet) dto, sourceName, kubernetesClient.apps().replicaSets()); } else if (dto instanceof StatefulSet) { applyResource((StatefulSet) dto, sourceName, kubernetesClient.apps().statefulSets()); } else if (dto instanceof Ingress) { applyResource((Ingress) dto, sourceName, kubernetesClient.extensions().ingresses()); } else if (dto instanceof PersistentVolumeClaim) { applyPersistentVolumeClaim((PersistentVolumeClaim) dto, sourceName); }else if (dto instanceof CustomResourceDefinition) { applyCustomResourceDefinition((CustomResourceDefinition) dto, sourceName); } else if (dto instanceof Job) { applyJob((Job) dto, sourceName); } else if (dto instanceof HasMetadata) { HasMetadata entity = (HasMetadata) dto; try { log.info("Applying " + getKind(entity) + " " + getName(entity) + " from " + sourceName); kubernetesClient.resource(entity).inNamespace(getNamespace()).createOrReplace(); } catch (Exception e) { onApplyError("Failed to create " + getKind(entity) + " from " + sourceName + ". " + e, e); } } else { throw new IllegalArgumentException("Unknown entity type " + dto); } }
Example #7
Source File: AppsAPIGroupClient.java From kubernetes-client with Apache License 2.0 | 4 votes |
@Override public MixedOperation<DaemonSet, DaemonSetList, DoneableDaemonSet, Resource<DaemonSet, DoneableDaemonSet>> daemonSets() { return new DaemonSetOperationsImpl(httpClient, getConfiguration()); }
Example #8
Source File: UtilsTest.java From kubernetes-client with Apache License 2.0 | 4 votes |
@Test void testGetPluralFromKind() { // Given Map<String, Class> pluralToKubernetesResourceMap = new HashMap<>(); pluralToKubernetesResourceMap.put("bindings", Binding.class); pluralToKubernetesResourceMap.put("componentstatuses", ComponentStatus.class); pluralToKubernetesResourceMap.put("configmaps", ConfigMap.class); pluralToKubernetesResourceMap.put("endpoints", Endpoints.class); pluralToKubernetesResourceMap.put("events", Event.class); pluralToKubernetesResourceMap.put("limitranges", LimitRange.class); pluralToKubernetesResourceMap.put("namespaces", Namespace.class); pluralToKubernetesResourceMap.put("nodes", Node.class); pluralToKubernetesResourceMap.put("persistentvolumeclaims", PersistentVolumeClaim.class); pluralToKubernetesResourceMap.put("persistentvolumes", PersistentVolume.class); pluralToKubernetesResourceMap.put("pods", Pod.class); pluralToKubernetesResourceMap.put("podtemplates", PodTemplate.class); pluralToKubernetesResourceMap.put("replicationcontrollers", ReplicationController.class); pluralToKubernetesResourceMap.put("resourcequotas", ResourceQuota.class); pluralToKubernetesResourceMap.put("secrets", Secret.class); pluralToKubernetesResourceMap.put("serviceaccounts", ServiceAccount.class); pluralToKubernetesResourceMap.put("services", Service.class); pluralToKubernetesResourceMap.put("mutatingwebhookconfigurations", MutatingWebhookConfiguration.class); pluralToKubernetesResourceMap.put("validatingwebhookconfigurations", ValidatingWebhookConfiguration.class); pluralToKubernetesResourceMap.put("customresourcedefinitions", CustomResourceDefinition.class); pluralToKubernetesResourceMap.put("controllerrevisions", ControllerRevision.class); pluralToKubernetesResourceMap.put("daemonsets", DaemonSet.class); pluralToKubernetesResourceMap.put("deployments", Deployment.class); pluralToKubernetesResourceMap.put("replicasets", ReplicaSet.class); pluralToKubernetesResourceMap.put("statefulsets", StatefulSet.class); pluralToKubernetesResourceMap.put("tokenreviews", TokenReview.class); pluralToKubernetesResourceMap.put("localsubjectaccessreviews", LocalSubjectAccessReview.class); pluralToKubernetesResourceMap.put("selfsubjectaccessreviews", SelfSubjectAccessReview.class); pluralToKubernetesResourceMap.put("selfsubjectrulesreviews", SelfSubjectRulesReview.class); pluralToKubernetesResourceMap.put("subjectaccessreviews", SubjectAccessReview.class); pluralToKubernetesResourceMap.put("horizontalpodautoscalers", HorizontalPodAutoscaler.class); pluralToKubernetesResourceMap.put("cronjobs", CronJob.class); pluralToKubernetesResourceMap.put("jobs", Job.class); pluralToKubernetesResourceMap.put("certificatesigningrequests", CertificateSigningRequest.class); pluralToKubernetesResourceMap.put("leases", Lease.class); pluralToKubernetesResourceMap.put("endpointslices", EndpointSlice.class); pluralToKubernetesResourceMap.put("ingresses", Ingress.class); pluralToKubernetesResourceMap.put("networkpolicies", NetworkPolicy.class); pluralToKubernetesResourceMap.put("poddisruptionbudgets", PodDisruptionBudget.class); pluralToKubernetesResourceMap.put("podsecuritypolicies", PodSecurityPolicy.class); pluralToKubernetesResourceMap.put("clusterrolebindings", ClusterRoleBinding.class); pluralToKubernetesResourceMap.put("clusterroles", ClusterRole.class); pluralToKubernetesResourceMap.put("rolebindings", RoleBinding.class); pluralToKubernetesResourceMap.put("roles", Role.class); pluralToKubernetesResourceMap.put("priorityclasses", PriorityClass.class); pluralToKubernetesResourceMap.put("csidrivers", CSIDriver.class); pluralToKubernetesResourceMap.put("csinodes", CSINode.class); pluralToKubernetesResourceMap.put("storageclasses", StorageClass.class); pluralToKubernetesResourceMap.put("volumeattachments", VolumeAttachment.class); // When & Then pluralToKubernetesResourceMap.forEach((plural, kubernetesResource) -> assertEquals(plural, Utils.getPluralFromKind(kubernetesResource.getSimpleName()))); }
Example #9
Source File: UtilsTest.java From kubernetes-client with Apache License 2.0 | 4 votes |
@Test @DisplayName("Should test whether resource is namespaced or not") void testWhetherNamespacedOrNot() { assertTrue(Utils.isResourceNamespaced(Binding.class)); assertFalse(Utils.isResourceNamespaced(ComponentStatus.class)); assertTrue(Utils.isResourceNamespaced(ConfigMap.class)); assertTrue(Utils.isResourceNamespaced(Endpoints.class)); assertTrue(Utils.isResourceNamespaced(Event.class)); assertTrue(Utils.isResourceNamespaced(LimitRange.class)); assertFalse(Utils.isResourceNamespaced(Namespace.class)); assertFalse(Utils.isResourceNamespaced(Node.class)); assertTrue(Utils.isResourceNamespaced(PersistentVolumeClaim.class)); assertFalse(Utils.isResourceNamespaced(PersistentVolume.class)); assertTrue(Utils.isResourceNamespaced(Pod.class)); assertTrue(Utils.isResourceNamespaced(PodTemplate.class)); assertTrue(Utils.isResourceNamespaced(ReplicationController.class)); assertTrue(Utils.isResourceNamespaced(ResourceQuota.class)); assertTrue(Utils.isResourceNamespaced(Secret.class)); assertTrue(Utils.isResourceNamespaced(ServiceAccount.class)); assertTrue(Utils.isResourceNamespaced(Service.class)); assertFalse(Utils.isResourceNamespaced(MutatingWebhookConfiguration.class)); assertFalse(Utils.isResourceNamespaced(ValidatingWebhookConfiguration.class)); assertFalse(Utils.isResourceNamespaced(CustomResourceDefinition.class)); assertTrue(Utils.isResourceNamespaced(ControllerRevision.class)); assertTrue(Utils.isResourceNamespaced(DaemonSet.class)); assertTrue(Utils.isResourceNamespaced(Deployment.class)); assertTrue(Utils.isResourceNamespaced(ReplicaSet.class)); assertTrue(Utils.isResourceNamespaced(StatefulSet.class)); assertTrue(Utils.isResourceNamespaced(TokenReview.class)); assertTrue(Utils.isResourceNamespaced(LocalSubjectAccessReview.class)); assertTrue(Utils.isResourceNamespaced(SelfSubjectAccessReview.class)); assertTrue(Utils.isResourceNamespaced(SelfSubjectRulesReview.class)); assertTrue(Utils.isResourceNamespaced(SubjectAccessReview.class)); assertTrue(Utils.isResourceNamespaced(HorizontalPodAutoscaler.class)); assertTrue(Utils.isResourceNamespaced(CronJob.class)); assertTrue(Utils.isResourceNamespaced(Job.class)); assertTrue(Utils.isResourceNamespaced(CertificateSigningRequest.class)); assertTrue(Utils.isResourceNamespaced(Lease.class)); assertTrue(Utils.isResourceNamespaced(EndpointSlice.class)); assertTrue(Utils.isResourceNamespaced(Ingress.class)); assertTrue(Utils.isResourceNamespaced(NetworkPolicy.class)); assertTrue(Utils.isResourceNamespaced(PodDisruptionBudget.class)); assertFalse(Utils.isResourceNamespaced(PodSecurityPolicy.class)); assertFalse(Utils.isResourceNamespaced(ClusterRoleBinding.class)); assertFalse(Utils.isResourceNamespaced(ClusterRole.class)); assertTrue(Utils.isResourceNamespaced(RoleBinding.class)); assertTrue(Utils.isResourceNamespaced(Role.class)); assertFalse(Utils.isResourceNamespaced(PriorityClass.class)); assertTrue(Utils.isResourceNamespaced(CSIDriver.class)); assertTrue(Utils.isResourceNamespaced(CSINode.class)); assertFalse(Utils.isResourceNamespaced(StorageClass.class)); assertTrue(Utils.isResourceNamespaced(VolumeAttachment.class)); }
Example #10
Source File: AppsAPIGroupDSL.java From kubernetes-client with Apache License 2.0 | votes |
MixedOperation<DaemonSet, DaemonSetList, DoneableDaemonSet, Resource<DaemonSet, DoneableDaemonSet>> daemonSets();