Search in sources :

Example 51 with Filter

use of io.fabric8.common.util.Filter in project fabric8 by fabric8io.

the class KubernetesConfigAdminBridge method activate.

// ***********************
// Lifecycle
// ***********************
@Activate
void activate() {
    enabled = getSystemPropertyOrEnvVar(FABRIC8_CM_BRIDGE_ENABLED, enabled);
    pidLabel = getSystemPropertyOrEnvVar(FABRIC8_PID_LABEL, pidLabel);
    configMerge = getSystemPropertyOrEnvVar(FABRIC8_CONFIG_MERGE, configMerge);
    configMeta = getSystemPropertyOrEnvVar(FABRIC8_CONFIG_META, configMeta);
    configWatch = getSystemPropertyOrEnvVar(FABRIC8_CONFIG_WATCH, configWatch);
    filters = new HashMap<>();
    String filterList = getSystemPropertyOrEnvVar(FABRIC8_PID_FILTERS);
    if (!Utils.isNullOrEmpty(filterList)) {
        for (String filter : filterList.split(",")) {
            String[] kv = filter.split("=");
            if (kv.length == 2) {
                Set<String> orConditions = new HashSet<>();
                for (String orCondition : kv[1].split(";")) {
                    orConditions.add(orCondition.trim());
                }
                filters.put(kv[0].trim(), orConditions);
            }
        }
    }
    if (enabled) {
        synchronized (lock) {
            watchConfigMapList();
            ConfigMapList list = getConfigMapList();
            if (list != null) {
                for (ConfigMap map : list.getItems()) {
                    updateConfig(map);
                }
            }
        }
    }
}
Also used : ConfigMapList(io.fabric8.kubernetes.api.model.ConfigMapList) ConfigMap(io.fabric8.kubernetes.api.model.ConfigMap) HashSet(java.util.HashSet) Activate(org.apache.felix.scr.annotations.Activate)

Aggregations

List (java.util.List)18 Map (java.util.Map)18 Collectors (java.util.stream.Collectors)18 IOException (java.io.IOException)16 Pod (io.fabric8.kubernetes.api.model.Pod)12 ArrayList (java.util.ArrayList)12 File (java.io.File)11 HashMap (java.util.HashMap)11 Optional (java.util.Optional)11 TimeUnit (java.util.concurrent.TimeUnit)10 Logger (org.slf4j.Logger)10 LoggerFactory (org.slf4j.LoggerFactory)10 InputStream (java.io.InputStream)8 DeploymentConfig (io.fabric8.openshift.api.model.DeploymentConfig)7 Test (org.junit.Test)7 Volume (io.fabric8.kubernetes.api.model.Volume)6 Arrays (java.util.Arrays)6 PodList (io.fabric8.kubernetes.api.model.PodList)5 VolumeMount (io.fabric8.kubernetes.api.model.VolumeMount)5 KubernetesClient (io.fabric8.kubernetes.client.KubernetesClient)5