private Leader extractLeader(ConfigMap configMap) { if (configMap == null || configMap.getData() == null) { return null; } Map<String, String> data = configMap.getData(); String leaderKey = getLeaderKey(); String leaderId = data.get(leaderKey); if (leaderId == null) { return null; } return new Leader(candidate.getRole(), leaderId); }
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<>(); }
@Override public void eventReceived(Action action, ConfigMap configMap) { offer(WatchedUpdateResult.createFull(asObjectMap(configMap.getData()))); }
private static Map<String, String> getData(KubernetesClient client, String name, String namespace) { Map<String, String> result = new HashMap<>(); try { ConfigMap map = namespace == null || namespace.isEmpty() ? client.configMaps().withName(name).get() : client.configMaps().inNamespace(namespace).withName(name).get(); if (map != null) { for (Map.Entry<String, String> entry : map.getData().entrySet()) { String key = entry.getKey(); String value = entry.getValue(); if (key.equals(APPLICATION_YAML) || key.equals(APPLICATION_YML)) { result.putAll(YAML_TO_PROPETIES.andThen(PROPERTIES_TO_MAP).apply(value)); } else if (key.equals(APPLICATION_PROPERTIES)) { result.putAll(KEY_VALUE_TO_PROPERTIES.andThen(PROPERTIES_TO_MAP).apply(value)); } else { result.put(key, value); } } } } catch (Exception e) { LOGGER.warn("Can't read configMap with name: [" + name + "] in namespace:[" + namespace + "]. Ignoring"); } return result; }
public void start() { ConfigMap map = Strings.isNullOrEmpty(namespace) ? client.configMaps().withName(name).get() : client.configMaps().inNamespace(namespace).withName(name).get(); if (map != null) { currentData.set(asObjectMap(map.getData())); } watch = Strings.isNullOrEmpty(namespace) ? client.configMaps().withName(name).watch(watcher) : client.configMaps().inNamespace(namespace).withName(namespace).watch(watcher); started.set(true); }
public static void main(String[] args) throws InterruptedException { Config config = new ConfigBuilder().build(); KubernetesClient client = new DefaultKubernetesClient(config); String namespace = null; if (args.length > 0) { namespace = args[0]; } if (namespace == null) { namespace = client.getNamespace(); } if (namespace == null) { namespace = "default"; } String name = "cheese"; try { Resource<ConfigMap, DoneableConfigMap> configMapResource = client.configMaps().inNamespace(namespace).withName(name); ConfigMap configMap = configMapResource.createOrReplace(new ConfigMapBuilder(). withNewMetadata().withName(name).endMetadata(). addToData("foo", "" + new Date()). addToData("bar", "beer"). build()); log("Upserted ConfigMap at " + configMap.getMetadata().getSelfLink() + " data " + configMap.getData()); } finally { client.close(); } }
@Override public void eventReceived(Action action, ConfigMap configMap) { offer(WatchedUpdateResult.createFull(asObjectMap(configMap.getData()))); }
@Override public void eventReceived(Action action, ConfigMap configMap) { offer(WatchedUpdateResult.createFull(asObjectMap(configMap.getData()))); }
@Override protected Topic topicBuilder(ConfigMap cm) { try { return new Topic(getProperty(cm.getData(), TOPIC_NAME_KEY, cm.getMetadata().getName()), getProperty(cm.getData(), PARTITIONS_KEY, 0), getProperty(cm.getData(), REPLICATION_FACTOR_KEY, (short) 0), Config.propertiesFromString(getProperty(cm.getData(), PROPERTIES_KEY, "")), getProperty(cm.getData(), ACL_KEY, false)); } catch (IOException e) { log.error("Unable to parse properties from ConfigMap {}", cm.getMetadata().getName(), e); return null; } }
@Override Map<String, String> getData(KubernetesClient client, String name) { ConfigMap resource = client.configMaps().withName(name).get(); return (resource != null) ? resource.getData() : null; } }
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 void start() { ConfigMap map = StringUtils.isEmpty(namespace) ? client.configMaps().withName(name).get() : client.configMaps().inNamespace(namespace).withName(name).get(); if (map != null) { currentData.set(asObjectMap(map.getData())); } watch = StringUtils.isEmpty(namespace) ? client.configMaps().withName(name).watch(watcher) : client.configMaps().inNamespace(namespace).withName(name).watch(watcher); started.set(true); }
protected static HasMetadata mergeConfigMaps(ConfigMap cm1, ConfigMap cm2, Logger log, boolean switchOnLocalCustomisation) { ConfigMap cm1OrCopy = cm1; if (!switchOnLocalCustomisation) { // lets copy the original to avoid modifying it cm1OrCopy = new ConfigMapBuilder(cm1OrCopy).build(); } log.info("Merging 2 resources for " + KubernetesHelper.getKind(cm1OrCopy) + " " + KubernetesHelper.getName(cm1OrCopy) + " from " + getSourceUrlAnnotation(cm1OrCopy) + " and " + getSourceUrlAnnotation(cm2) + " and removing " + getSourceUrlAnnotation(cm1OrCopy)); cm1OrCopy.setData(mergeMapsAndRemoveEmptyStrings(cm2.getData(), cm1OrCopy.getData())); mergeMetadata(cm1OrCopy, cm2); return cm1OrCopy; }
public void start() { ConfigMap map = Strings.isNullOrEmpty(namespace) ? client.configMaps().withName(name).get() : client.configMaps().inNamespace(namespace).withName(name).get(); if (map != null) { currentData.set(asObjectMap(map.getData())); } watch = Strings.isNullOrEmpty(namespace) ? client.configMaps().withName(name).watch(watcher) : client.configMaps().inNamespace(namespace).withName(namespace).watch(watcher); started.set(true); }
public ConfigMapFluentImpl(ConfigMap instance){ this.withApiVersion(instance.getApiVersion()); this.withData(instance.getData()); this.withKind(instance.getKind()); this.withMetadata(instance.getMetadata()); }
public ConfigMapBuilder(ConfigMap instance,Boolean validationEnabled){ this.fluent = this; this.withApiVersion(instance.getApiVersion()); this.withData(instance.getData()); this.withKind(instance.getKind()); this.withMetadata(instance.getMetadata()); this.validationEnabled = validationEnabled; }
public ConfigMapBuilder(ConfigMapFluent<?> fluent,ConfigMap instance,Boolean validationEnabled){ this.fluent = fluent; fluent.withApiVersion(instance.getApiVersion()); fluent.withData(instance.getData()); fluent.withKind(instance.getKind()); fluent.withMetadata(instance.getMetadata()); this.validationEnabled = validationEnabled; } public ConfigMapBuilder(ConfigMap instance){
@Override protected Future<ReconcileResult<ConfigMap>> internalPatch(String namespace, String name, ConfigMap current, ConfigMap desired) { try { if (compareObjects(current.getData(), desired.getData()) && compareObjects(current.getMetadata().getName(), desired.getMetadata().getName()) && compareObjects(current.getMetadata().getNamespace(), desired.getMetadata().getNamespace()) && compareObjects(current.getMetadata().getAnnotations(), desired.getMetadata().getAnnotations()) && compareObjects(current.getMetadata().getLabels(), desired.getMetadata().getLabels())) { // Checking some metadata. We cannot check entire metadata object because it contains // timestamps which would cause restarting loop log.debug("{} {} in namespace {} has not been patched because resources are equal", resourceKind, name, namespace); return Future.succeededFuture(ReconcileResult.noop(current)); } else { return super.internalPatch(namespace, name, current, desired); } } catch (Exception e) { log.error("Caught exception while patching {} {} in namespace {}", resourceKind, name, namespace, e); return Future.failedFuture(e); } }
@Override ConfigMap applyResource(ConfigMap original, ConfigMap current) { return client .configMaps() .inNamespace(getNamespace()) .withName(current.getMetadata().getName()) .edit() .withMetadata(current.getMetadata()) .withData(current.getData()) .done(); }