private static Map<String, String> getData(KubernetesClient client, String name, String namespace, String[] profiles) { try { ConfigMap map = StringUtils.isEmpty(namespace) ? client.configMaps().withName(name).get() : client.configMaps().inNamespace(namespace).withName(name).get(); if (map != null) { return processAllEntries(map.getData(), profiles); } } catch (Exception e) { LOG.warn("Can't read configMap with name: [" + name + "] in namespace:[" + namespace + "]. Ignoring"); } return new HashMap<>(); }
public static void main(String[] args) { String master = "https://localhost:8443/"; if (args.length == 1) { master = args[0]; } Config config = new ConfigBuilder().withMasterUrl(master).build(); KubernetesClient client = new DefaultKubernetesClient(config); try { log("Create namespace:", client.namespaces().create(new NamespaceBuilder().withNewMetadata().withName("thisisatest").endMetadata().build())); log("Deleted namespace:", client.namespaces().withName("test").delete()); log("Deleted testPod:", client.pods().inNamespace("thisisatest").withName("testpod").delete()); log("Deleted pod by label:", client.pods().withLabel("this", "works").delete()); } catch (KubernetesClientException e) { logger.error(e.getMessage(), e); } finally { client.namespaces().withName("thisisatest").delete(); client.close(); } }
@Override public String getURL(Service service, String portName, String namespace, KubernetesClient client) { String serviceName = service.getMetadata().getName(); ServicePort port = URLFromServiceUtil.getServicePortByName(service, portName); if(port != null && port.getName() != null && isOpenShift(client)) { try { String serviceProtocol = port.getProtocol(); OpenShiftClient openShiftClient = client.adapt(OpenShiftClient.class); Route route = openShiftClient.routes().inNamespace(namespace).withName(service.getMetadata().getName()).get(); if (route != null) { return (serviceProtocol + "://" + route.getSpec().getHost()).toLowerCase(); } } catch (KubernetesClientException e) { if(e.getCode() == HttpURLConnection.HTTP_FORBIDDEN) { logger.warn("Could not lookup route:" + serviceName + " in namespace:"+ namespace +", due to: " + e.getMessage()); } } } return null; }
try (Watch watch = client.replicationControllers().inNamespace("thisisatest").withResourceVersion("0").watch(new Watcher<ReplicationController>() { @Override public void eventReceived(Action action, ReplicationController resource) { log("Created namespace", client.namespaces().create(ns)); log("Get namespace by name", client.namespaces().withName("thisisatest").get()); log("Get namespace by label", client.namespaces().withLabel("this", "rocks").list()); log("Create resource quota", client.resourceQuotas().inNamespace("thisisatest").create(quota)); log("Get jobs in namespace", client.batch().jobs().inNamespace("thisisatest").list()); } catch (APIGroupNotAvailableException e) { log("Skipping jobs example - extensions API group not available"); client.namespaces().withName("thisisatest").delete(); log("Deleted namespace");
secret = client.secrets().withName(name).get(); secret = client.secrets().inNamespace(namespace).withName(name).get(); client.secrets().withLabels(config.getLabels()).list().getItems() .forEach(s -> putAll(s, result)); client.secrets().inNamespace(namespace) .withLabels(config.getLabels()).list().getItems() .forEach(s -> putAll(s, result));
@Override public Secret getCertSecret(String name) { return client.secrets().inNamespace(namespace).withName(name).get(); }
private OpenShiftRuntimeState getRuntimeState(OpenShiftRuntimeId runtimeId) { String prjName = runtimeId.project(); String svcName = runtimeId.service(); String state; String startedAt; Service service = delegate.services().inNamespace(prjName).withName(svcName).get(); if (service != null) { Integer replicas = getReplicas(service); if (replicas != null && replicas.intValue() > 0) { state = OpenShiftRuntimeState.RUNNING; } else { state = OpenShiftRuntimeState.READY; } startedAt = service.getMetadata().getCreationTimestamp(); } else { state = OpenShiftRuntimeState.UNKNOWN; startedAt = new Date().toString(); } return new OpenShiftRuntimeState(state, startedAt); }
PodDisruptionBudget resource = resource(); Resource mockResource = mock(resourceType()); when(mockResource.get()).thenReturn(resource); when(mockResource.cascading(cascade)).thenReturn(mockResource); when(mockNameable.withName(matches(resource.getMetadata().getName()))).thenReturn(mockResource); when(mockCms.inNamespace(matches(resource.getMetadata().getNamespace()))).thenReturn(mockNameable); verify(mockResource).get(); verify(mockResource).delete(); verify(mockResource).create(any()); verify(mockResource, never()).patch(any()); verify(mockResource, never()).createNew(); verify(mockResource, never()).createOrReplace(any()); async.complete(); });
OpenShiftClient openShiftClient = new Controller(client).getOpenShiftClientOrNull(); if (openShiftClient != null) { try { openShiftClient.deploymentConfigs().inNamespace(sessionNamespace).delete(); } catch (KubernetesClientException e) { errors.add(e); openShiftClient.routes().inNamespace(sessionNamespace).delete(); } catch (KubernetesClientException e) { errors.add(e); client.extensions().deployments().inNamespace(sessionNamespace).delete(); } catch (KubernetesClientException e) { errors.add(e); client.extensions().replicaSets().inNamespace(sessionNamespace).delete(); } catch (KubernetesClientException e) { errors.add(e); client.replicationControllers().inNamespace(sessionNamespace).delete(); } catch (KubernetesClientException e) { errors.add(e); client.securityContextConstraints().withName(sessionNamespace).delete(); } catch (KubernetesClientException e) { errors.add(e);
serviceName = normalizeServiceName(serviceName); final Resource<Deployment, DoneableDeployment> resource = this.kubernetesClient.extensions() .deployments() .inNamespace(namespace) .withName(normalizeDeploymentName(deploymentName)); assert resource != null; final String serverTillerImage = resource.get().getSpec().getTemplate().getSpec().getContainers().get(0).getImage(); assert serverTillerImage != null; resource.edit() .editSpec() .editTemplate() final Service service = this.kubernetesClient.services() .inNamespace(namespace) .withName(serviceName) .get(); if (service == null) { this.createService(namespace, serviceName, normalizeLabels(labels));
public static void main(String[] args) throws InterruptedException { String namespace = "myproject"; String master = "CLUSTER_URL"; Config config = new ConfigBuilder().withMasterUrl(master).build(); OpenShiftClient client = new DefaultOpenShiftClient(config); try { ImageStreamTag istag = new ImageStreamTagBuilder().withNewMetadata().withName("bar1:1.0.12").endMetadata() .withNewTag().withNewFrom().withKind("DockerImage").withName("openshift/wildfly-81-centos7:latest").endFrom().endTag() .build(); log("Created istag", client.imageStreamTags().inNamespace(namespace).create(istag)); Thread.sleep(30000); }finally { log("ImageStreamTags are :"); log(client.imageStreamTags().inNamespace(namespace).withName("bar1:1.0.12").get().toString()); log("ImageStreamTags using list are :"); log(client.imageStreamTags().list().getItems().get(0).toString()); log("Deleted istag",client.imageStreamTags().withName("bar1:1.0.12").delete()); client.close(); } }
private String loadKubernetesExposeControllerCommandLine(KubernetesClient kubernetes, String commands) throws Exception { String namespace = System.getenv("KUBERNETES_NAMESPACE"); if (Strings.isNullOrBlank(namespace)) { namespace = KubernetesHelper.getNamespace(kubernetes); } ConfigMap configMap = kubernetes.configMaps().inNamespace(namespace).withName("exposecontroller").get(); if (configMap == null) { listener.getLogger().println("WARNING: no ConfigMap in namespace " + namespace + " called: exposecontroller so cannot run exposecontroller to expose Service URLs"); return null; } String configYaml = null; Map<String, String> data = configMap.getData(); if (data != null) { configYaml = data.get("config.yml"); } if (Strings.isNullOrBlank(configYaml)) { throw new Exception("ConfigMap " + namespace + "/exposecontroller does not have a `config.yml` data entry"); } Map map; try { map = KubernetesHelper.loadYaml(configYaml, Map.class); } catch (IOException e) { throw new Exception("Could not parse YAML in ConfigMap " + namespace + "/exposecontroller entry `config.yml`: " + e, e); } StringBuilder builder = new StringBuilder(commands); appendCliArgument(builder, "--http", map.get("http")); appendCliArgument(builder, "--exposer", map.get("exposer")); appendCliArgument(builder, "--domain", map.get("domain")); return builder.toString(); }
log("Created namespace", client.namespaces().createOrReplace(ns)); client.serviceAccounts().inNamespace("thisisatest").createOrReplace(fabric8); for (int i = 0; i < 2; i++) { System.err.println("Iteration:" + (i+1)); deployment = client.apps().deployments().inNamespace("thisisatest").create(deployment); log("Created deployment", deployment); client.apps().deployments().inNamespace("thisisatest").withName("nginx").scale(2, true); log("Created replica sets:", client.apps().replicaSets().inNamespace("thisisatest").list().getItems()); System.err.println("Deleting:" + deployment.getMetadata().getName()); client.namespaces().withName("thisisatest").delete(); client.close();
private void addServiceAccountRole(String prjName, String name, String role) { Resource<PolicyBinding, DoneablePolicyBinding> bindingResource = delegate.policyBindings().inNamespace(prjName).withName(":default"); DoneablePolicyBinding binding; if (bindingResource.get() == null) { binding = bindingResource.createNew(); } else { binding = bindingResource.edit();
try { KubernetesClient kubernetes = getKubernetes(); String ns = kubernetes.getNamespace(); if (Strings.isNullOrBlank(ns)) { ns = getNamespace(); Service service = kubernetes.services().inNamespace(ns).withName(serviceName).get(); return service != null ? KubernetesHelper.getServiceURL(kubernetes, serviceName, ns, protocol, true) : null; } catch (Throwable e) {
public static void main(String[] args) throws InterruptedException { Config config = new ConfigBuilder().build(); KubernetesClient kubernetesClient = new DefaultKubernetesClient(config); OpenShiftClient client = kubernetesClient.adapt(OpenShiftClient.class); log("Created namespace", client.namespaces().create(ns)); client.serviceAccounts().inNamespace("thisisatest").create(fabric8); log("Created image stream", client.imageStreams().inNamespace("thisisatest").createNew() .withNewMetadata() .withName("example-camel-cdi") .done()); log("Created image stream", client.imageStreams().inNamespace("thisisatest").createNew() .withNewMetadata() .withName("java-sti") client.namespaces().withName("thisisatest").delete(); client.close();
try (KubernetesClient client = new DefaultKubernetesClient(config)) { try { log("Create namespace:", client.namespaces().create(new NamespaceBuilder().withNewMetadata().withName("thisisatest").endMetadata().build())); Pod createdPod = client.pods().inNamespace("thisisatest").createNew() .withNewMetadata() .withName("testpod") log("Created testPod:", createdPod); Pod updatedPod = client.pods().inNamespace("thisisatest").withName("testpod").edit() .editMetadata() .addToLabels("server2", "nginx2") logger.error(e.getMessage(), e); } finally { client.namespaces().withName("thisisatest").delete();
.build(); log("Created ImageStream", client.imageStreams().inNamespace(namespace).create(imageStream)); log("First Tag is " + client.imageStreams().inNamespace(namespace).withName("slave-jenkins").get().getSpec().getTags().get(0).getName()); log("Second Tag is " + client.imageStreams().inNamespace(namespace).withName("slave-jenkins").get().getSpec().getTags().get(1).getName()); client.imageStreams().inNamespace(namespace).withName("slave-jenkins").delete(); client.close();
boolean isOpenshift = client.isAdaptable(OpenShiftClient.class); String namespace = session.getNamespace(); String routeDomain = null; generateServiceAccount(client, session, secrets, serviceAccountName); if (route != null) { log.status("Applying route for:" + serviceName); controller.applyRoute(route, "route for " + serviceName); extraEntities.add(route); log.status("Applying replication controller:" + getName(replicationController)); Set<Secret> secrets = generateSecrets(client, session, replicationController.getSpec().getTemplate().getMetadata()); String serviceAccountName = replicationController.getSpec().getTemplate().getSpec().getServiceAccountName(); String name = metadata.getName(); if (isOpenshift) { OpenShiftClient openShiftClient = client.adapt(OpenShiftClient.class); OAuthClient current = openShiftClient.oAuthClients().withName(name).get(); boolean create = false; if (current == null) { openShiftClient.oAuthClients().create(current); } else { if (updated) { openShiftClient.oAuthClients().withName(name).delete();