private ConfigMap getConfigMap() { return kubernetesClient.configMaps() .inNamespace(leaderProperties.getNamespace(kubernetesClient.getNamespace())) .withName(leaderProperties.getConfigMapName()) .get(); }
"[Assertion failed] - the object argument must be null"); Endpoints endpoints = client.endpoints().withName(serviceId).get(); List<EndpointSubset> subsets = null != endpoints ? endpoints.getSubsets() : new ArrayList<>(); List<ServiceInstance> instances = new ArrayList<>(); if (!subsets.isEmpty()) { final Service service = client.services().withName(serviceId).get();
public void start() { if (watch == null) { synchronized (lock) { if (watch == null) { LOGGER.debug("Starting leader record watcher"); watch = kubernetesClient .configMaps() .inNamespace(leaderProperties.getNamespace(kubernetesClient.getNamespace())) .withName(leaderProperties.getConfigMapName()) .watch(this); } } } }
private void updateConfigMap(ConfigMap oldConfigMap, ConfigMap newConfigMap) { kubernetesClient.configMaps() .inNamespace(leaderProperties.getNamespace(kubernetesClient.getNamespace())) .withName(leaderProperties.getConfigMapName()) .lockResourceVersion(oldConfigMap.getMetadata().getResourceVersion()) .replace(newConfigMap); } }
protected void doListConfigMapsByLabels(Exchange exchange, String operation) throws Exception { ConfigMapList configMapsList = null; Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class); FilterWatchListMultiDeletable<ConfigMap, ConfigMapList, Boolean, Watch, Watcher<ConfigMap>> configMaps = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace(); for (Map.Entry<String, String> entry : labels.entrySet()) { configMaps.withLabel(entry.getKey(), entry.getValue()); } configMapsList = configMaps.list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(configMapsList.getItems()); }
protected void doGetConfigMap(Exchange exchange, String operation) throws Exception { ConfigMap configMap = null; String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class); String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (ObjectHelper.isEmpty(cfMapName)) { LOG.error("Get a specific ConfigMap require specify a ConfigMap name"); throw new IllegalArgumentException("Get a specific ConfigMap require specify a ConfigMap name"); } if (namespaceName != null) { configMap = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName).withName(cfMapName).get(); } else { configMap = getEndpoint().getKubernetesClient().configMaps().withName(cfMapName).get(); } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(configMap); }
protected void doDeleteConfigMap(Exchange exchange, String operation) throws Exception { String configMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class); String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (ObjectHelper.isEmpty(configMapName)) { LOG.error("Delete a specific config map require specify a config map name"); throw new IllegalArgumentException("Delete a specific config map require specify a config map name"); } if (ObjectHelper.isEmpty(namespaceName)) { LOG.error("Delete a specific config map require specify a namespace name"); throw new IllegalArgumentException("Delete a specific config map require specify a namespace name"); } boolean cfMapDeleted = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName).withName(configMapName).delete(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(cfMapDeleted); } }
protected void doList(Exchange exchange, String operation) throws Exception { ServiceList servicesList = null; String namespaceName = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (!ObjectHelper.isEmpty(namespaceName)) { servicesList = getEndpoint().getKubernetesClient().services() .inNamespace(namespaceName).list(); } else { servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace() .list(); } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(servicesList.getItems()); }
protected void doList(Exchange exchange, String operation) throws Exception { ReplicationControllerList rcList = null; String namespaceName = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (!ObjectHelper.isEmpty(namespaceName)) { rcList = getEndpoint().getKubernetesClient() .replicationControllers().inNamespace(namespaceName).list(); } else { rcList = getEndpoint().getKubernetesClient() .replicationControllers().inAnyNamespace().list(); } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(rcList.getItems()); }
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"); log("Created RC", client.replicationControllers().inNamespace("thisisatest").create(rc)); client.replicationControllers().inNamespace("thisisatest").createNew() .withNewMetadata().withName("nginx2-controller").addToLabels("server", "nginx").endMetadata() .withNewSpec().withReplicas(0) ReplicationController gotRc = client.replicationControllers().inNamespace("thisisatest").withName("nginx-controller").get(); log("Get RC by name in namespace", gotRc); log("Get RC by label", client.replicationControllers().withLabel("server", "nginx").list()); log("Get RC without label", client.replicationControllers().withoutLabel("server", "apache").list());
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));
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<>(); }
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(); }
public String getKeycloakCA() throws UnsupportedEncodingException { Secret secret = client.secrets().inNamespace(globalNamespace).withName("standard-authservice-cert").get(); if (secret == null) { throw new IllegalStateException("Unable to find CA cert for keycloak"); } return new String(Base64.getDecoder().decode(secret.getData().get("tls.crt")), StandardCharsets.UTF_8); }
Config config = new ConfigBuilder().build(); try (final KubernetesClient client = new DefaultKubernetesClient(config)) { try (Watch watch = client.replicationControllers().inNamespace("default").withName("test").watch(new Watcher<ReplicationController>() { @Override public void eventReceived(Action action, ReplicationController resource) {
protected Service requireService(String serviceName, String namespace) { Service answer = kubernetes.services().inNamespace(namespace).withName(serviceName).get(); Objects.requireNonNull(answer, "No Service found for namespace: " + namespace + " name: " + serviceName); return answer; }