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 Watch watchInAnyNamespace(Watcher<T> watcher) { return operation().inAnyNamespace().watch(watcher); }
protected void doList(Exchange exchange, String operation) throws Exception { SecretList secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace() .list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(secretsList.getItems()); }
protected void doListPodsByLabel(Exchange exchange, String operation) { Map<String, String> labels = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class); if (ObjectHelper.isEmpty(labels)) { LOG.error("Get pods by labels require specify a labels set"); throw new IllegalArgumentException( "Get pods by labels require specify a labels set"); } FilterWatchListMultiDeletable<Pod, PodList, Boolean, Watch, Watcher<Pod>> pods = getEndpoint().getKubernetesClient().pods().inAnyNamespace(); for (Map.Entry<String, String> entry : labels.entrySet()) { pods.withLabel(entry.getKey(), entry.getValue()); } PodList podList = pods.list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(podList.getItems()); }
protected void doList(Exchange exchange, String operation) throws Exception { ResourceQuotaList resList = getEndpoint().getKubernetesClient() .resourceQuotas().inAnyNamespace().list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(resList.getItems()); }
protected void doList(Exchange exchange, String operation) throws Exception { PodList podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(podList.getItems()); }
protected void doList(Exchange exchange, String operation) throws Exception { ConfigMapList configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(configMapsList.getItems()); }
protected void doList(Exchange exchange, String operation) throws Exception { ServiceAccountList saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace() .list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(saList.getItems()); }
protected void doList(Exchange exchange, String operation) throws Exception { BuildConfigList buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class) .buildConfigs().inAnyNamespace().list(); exchange.getOut().setBody(buildConfigsList.getItems()); }
protected void doListBuildByLabels(Exchange exchange, String operation) throws Exception { BuildList buildList = null; Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILDS_LABELS, Map.class); String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (!ObjectHelper.isEmpty(namespaceName)) { NonNamespaceOperation<Build, BuildList, DoneableBuild, BuildResource<Build, DoneableBuild, String, LogWatch>> builds = getEndpoint().getKubernetesClient() .adapt(OpenShiftClient.class).builds().inNamespace(namespaceName); for (Map.Entry<String, String> entry : labels.entrySet()) { builds.withLabel(entry.getKey(), entry.getValue()); } buildList = builds.list(); } else { FilterWatchListMultiDeletable<Build, BuildList, Boolean, Watch, Watcher<Build>> builds = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds() .inAnyNamespace(); for (Map.Entry<String, String> entry : labels.entrySet()) { builds.withLabel(entry.getKey(), entry.getValue()); } buildList = builds.list(); } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(buildList.getItems()); }
protected void doList(Exchange exchange, String operation) throws Exception { BuildList buildList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds().inAnyNamespace().list(); exchange.getOut().setBody(buildList.getItems()); }
protected void doListServiceByLabels(Exchange exchange, String operation) throws Exception { ServiceList servicesList = null; Map<String, String> labels = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class); String namespaceName = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (!ObjectHelper.isEmpty(namespaceName)) { NonNamespaceOperation<Service, ServiceList, DoneableService, ServiceResource<Service, DoneableService>> services; services = getEndpoint().getKubernetesClient().services() .inNamespace(namespaceName); for (Map.Entry<String, String> entry : labels.entrySet()) { services.withLabel(entry.getKey(), entry.getValue()); } servicesList = services.list(); } else { FilterWatchListMultiDeletable<Service, ServiceList, Boolean, Watch, Watcher<Service>> services; services = getEndpoint().getKubernetesClient().services().inAnyNamespace(); for (Map.Entry<String, String> entry : labels.entrySet()) { services.withLabel(entry.getKey(), entry.getValue()); } servicesList = services.list(); } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(servicesList.getItems()); }
protected void doListServiceAccountsByLabels(Exchange exchange, String operation) throws Exception { ServiceAccountList saList = null; Map<String, String> labels = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class); String namespaceName = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (!ObjectHelper.isEmpty(namespaceName)) { NonNamespaceOperation<ServiceAccount, ServiceAccountList, DoneableServiceAccount, Resource<ServiceAccount, DoneableServiceAccount>> serviceAccounts; serviceAccounts = getEndpoint().getKubernetesClient().serviceAccounts() .inNamespace(namespaceName); for (Map.Entry<String, String> entry : labels.entrySet()) { serviceAccounts.withLabel(entry.getKey(), entry.getValue()); } saList = serviceAccounts.list(); } else { FilterWatchListMultiDeletable<ServiceAccount, ServiceAccountList, Boolean, Watch, Watcher<ServiceAccount>> serviceAccounts; serviceAccounts = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace(); for (Map.Entry<String, String> entry : labels.entrySet()) { serviceAccounts.withLabel(entry.getKey(), entry.getValue()); } saList = serviceAccounts.list(); } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(saList.getItems()); }
protected void doListSecretsByLabels(Exchange exchange, String operation) throws Exception { SecretList secretsList = null; Map<String, String> labels = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_SECRETS_LABELS, Map.class); String namespaceName = exchange.getIn().getHeader( KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); if (!ObjectHelper.isEmpty(namespaceName)) { NonNamespaceOperation<Secret, SecretList, DoneableSecret, Resource<Secret, DoneableSecret>> secrets; secrets = getEndpoint().getKubernetesClient().secrets() .inNamespace(namespaceName); for (Map.Entry<String, String> entry : labels.entrySet()) { secrets.withLabel(entry.getKey(), entry.getValue()); } secretsList = secrets.list(); } else { FilterWatchListMultiDeletable<Secret, SecretList, Boolean, Watch, Watcher<Secret>> secrets; secrets = getEndpoint().getKubernetesClient().secrets().inAnyNamespace(); for (Map.Entry<String, String> entry : labels.entrySet()) { secrets.withLabel(entry.getKey(), entry.getValue()); } secretsList = secrets.list(); } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(secretsList.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()); }
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 Watch watchInAnyNamespace(Labels selector, Watcher<T> watcher) { return operation().inAnyNamespace().withLabels(selector.toMap()).watch(watcher); }
protected List<T> listInAnyNamespace(Labels selector) { FilterWatchListMultiDeletable<T, L, Boolean, Watch, Watcher<T>> operation = operation().inAnyNamespace(); if (selector != null) { Map<String, String> labels = selector.toMap(); return operation.withLabels(labels) .list() .getItems(); } else { return operation .list() .getItems(); } }
client.replicationControllers().inAnyNamespace().withLabel("server", "nginx").delete(); log("Deleted RC by label");
public void scanPods() { ScannerContext sc = new ScannerContext(); long ts = getCurrentTimestamp(); sc.withName("KubernetesPod").exec(ctx -> { getKubernetesClient().pods().inAnyNamespace().list().getItems().forEach(it -> { try { scanPod(it); ctx.incrementEntityCount(); } catch (Exception e) { maybeThrow(e); } }); }); getNeoRxClient().execCypher( "match (c:KubeNamespace {clusterId:{clusterId}}), (p:KubePod {clusterId:{clusterId}}) where p.namespace=c.name merge (c)-[x:CONTAINS]->(p) set x.updateTs=timestamp()", "clusterId", getClusterId()); if (!sc.hasExceptions()) { getNeoRxClient().execCypher( "match (p:KubePod {clusterId:{clusterId}}) where p.updateTs<{ts} detach delete p", "clusterId", getClusterId(), "ts", ts); } }