public static void main(String[] args) throws IOException { try (OpenShiftClient client = new DefaultOpenShiftClient()) { try { client.namespaces().createNew().withNewMetadata().withName("thisisatest").endMetadata().done(); Template t = client.templates().load(TemplateExample.class.getResourceAsStream("/test-template.yml")).get(); for (Parameter p : t.getParameters()) { System.out.println(p.getName()); } t = client.templates().load(TemplateExample.class.getResourceAsStream("/test-template.yml")).get(); t = client.templates().inNamespace("thisisatest").load(TemplateExample.class.getResourceAsStream("/test-template.yml")).create(); t = client.templates().inNamespace("thisisatest").withName("eap6-basic-sti").get(); System.out.println(t.getMetadata().getName()); KubernetesList l = client.templates().inNamespace("thisisatest").withName("eap6-basic-sti").process(); System.out.println(l.getItems().size()); l = client.lists().load(TemplateExample.class.getResourceAsStream("/test-list.yml")).get(); System.out.println(l.getItems().size()); l = client.lists().inNamespace("thisisatest").load(TemplateExample.class.getResourceAsStream("/test-list.yml")).create(); } finally { // And finally clean up the namespace client.namespaces().withName("thisisatest").delete(); logger.info("Deleted namespace"); } } } }
log("Create namespace:", client.namespaces().create(new NamespaceBuilder().withNewMetadata().withName("thisisatest").endMetadata().build())); Pod createdPod = client.pods().inNamespace("thisisatest").createNew() .withNewMetadata() .withName("testpod")
@Override public Secret createSecret(Cert cert, Secret caSecret, Map<String, String> labels) { try { Map<String, String> data = new LinkedHashMap<>(); Base64.Encoder encoder = Base64.getEncoder(); data.put("tls.key", encoder.encodeToString(FileUtils.readFileToByteArray(cert.getKeyFile()))); data.put("tls.crt", encoder.encodeToString(FileUtils.readFileToByteArray(cert.getCertFile()))); data.put("ca.crt", caSecret.getData().get("tls.crt")); return client.secrets().inNamespace(namespace).createNew() .editOrNewMetadata() .withName(cert.getComponent().getSecretName()) .withLabels(labels) .endMetadata() .withType("kubernetes.io/tls") .addToData(data) .done(); } catch (IOException e) { throw new UncheckedIOException(e); } }
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") .done()); log("Created build config", client.buildConfigs().inNamespace("thisisatest").createNew() .withNewMetadata() .withName("custom-build-config")
client.replicationControllers().inNamespace("thisisatest").createNew() .withNewMetadata().withName("nginx2-controller").addToLabels("server", "nginx").endMetadata() .withNewSpec().withReplicas(0) client.replicationControllers().inNamespace("thisisatest").createNew().withNewMetadata().withName("nginx-controller").addToLabels("server", "nginx").endMetadata() .withNewSpec().withReplicas(3) .withNewTemplate() client.services().inNamespace("thisisatest").createNew() .withNewMetadata().withName("testservice").endMetadata() .withNewSpec()
secret = client.secrets().inNamespace(session.getNamespace()).createNew() .withNewMetadata() .withName(name)
@Override public void provideCert(AddressSpace addressSpace, EndpointInfo endpointInfo) { Secret secret = client.secrets().inNamespace(namespace).withName(endpointInfo.getCertSpec().getSecretName()).get(); if (secret == null) { Secret wildcardSecret = null; if (wildcardSecretName != null) { wildcardSecret = client .secrets().withName(wildcardSecretName).get(); } if (wildcardSecret == null) { String message = String.format("Requested 'wildcard' certificate provider but no secret '%s' found", wildcardSecretName); throw new IllegalStateException(message); } log.info("Copying wildcard certificate for {}", endpointInfo.getServiceName()); Map<String, String> data = new LinkedHashMap<>(); data.put("tls.key", wildcardSecret.getData().get("tls.key")); data.put("tls.crt", wildcardSecret.getData().get("tls.crt")); client.secrets().inNamespace(namespace).createNew() .editOrNewMetadata() .withName(endpointInfo.getCertSpec().getSecretName()) .endMetadata() .withType("kubernetes.io/tls") .addToData(data) .done(); } } }