11package eu.openanalytics.shinyproxyoperator.controller
22
33import io.fabric8.kubernetes.api.model.ConfigMap
4+ import io.fabric8.kubernetes.api.model.Pod
45import io.fabric8.kubernetes.api.model.Service
56import io.fabric8.kubernetes.api.model.apps.ReplicaSet
67import io.fabric8.kubernetes.client.informers.cache.Lister
78import mu.KotlinLogging
8- import java.util.AbstractMap
99
1010class ResourceRetriever (private val replicaSetLister : Lister <ReplicaSet >,
1111 private val configMapLister : Lister <ConfigMap >,
12- private val serviceLister : Lister <Service >) {
12+ private val serviceLister : Lister <Service >,
13+ private val podLister : Lister <Pod >) {
1314
1415 private val logger = KotlinLogging .logger {}
1516
16- fun getConfigMapByLabel (label : String , shinyProxyName : String ): List <ConfigMap > {
17- val configMaps = arrayListOf<ConfigMap >()
18- for (configmap in configMapLister.list()) {
19- if (configmap?.metadata?.labels?.entries?.contains(AbstractMap .SimpleEntry (label, shinyProxyName)) == true ) {
20- configMaps.add(configmap)
21- logger.debug { " Found ConfigMap ${configmap.metadata.name} " }
22- }
23- }
24- logger.info { " ConfigMapCount: ${configMaps.size} , ${configMaps.map { it.metadata.name }} " }
25- return configMaps
26- }
27-
2817 fun getConfigMapByLabels (labels : Map <String , String >): List <ConfigMap > {
2918 val configMaps = arrayListOf<ConfigMap >()
19+ logger.debug { " Looking for configmap with labels: $labels " }
3020 for (configmap in configMapLister.list()) {
21+ logger.debug { " Found ConfigMap ${configmap.metadata.name} " }
3122 if (configmap?.metadata?.labels?.entries?.containsAll(labels.entries) == true ) {
3223 configMaps.add(configmap)
33- logger.debug { " Found ConfigMap ${configmap.metadata.name} " }
24+ } else {
25+ logger.debug { " Not what we are looking for..." }
3426 }
3527 }
3628 logger.info { " ConfigMapCount: ${configMaps.size} , ${configMaps.map { it.metadata.name }} " }
3729 return configMaps
3830 }
3931
40- fun getReplicaSetByLabel (label : String , shinyProxyName : String ): ArrayList <ReplicaSet > {
41- val replicaSets = arrayListOf<ReplicaSet >()
42- for (replicaSet in replicaSetLister.list()) {
43- if (replicaSet?.metadata?.labels?.entries?.contains(AbstractMap .SimpleEntry (label, shinyProxyName)) == true ) {
44- replicaSets.add(replicaSet)
45- logger.debug { " Found ReplicaSet ${replicaSet.metadata.name} phase => ${replicaSet.status} " }
46- }
47- }
48- logger.info { " ReplicaSetCount: ${replicaSets.size} , ${replicaSets.map { it.metadata.name }} " }
49- return replicaSets
50- }
51-
5232 fun getReplicaSetByLabels (labels : Map <String , String >): ArrayList <ReplicaSet > {
5333 val replicaSets = arrayListOf<ReplicaSet >()
34+ logger.debug { " Looking for Repliacas with labels: $labels " }
5435 for (replicaSet in replicaSetLister.list()) {
5536 if (replicaSet?.metadata?.labels?.entries?.containsAll(labels.entries) == true ) {
5637 replicaSets.add(replicaSet)
57- logger.debug { " Found ReplicaSet ${replicaSet.metadata.name} phase => ${replicaSet.status} " }
38+ } else {
39+ logger.debug { " Not what we are looking for..." }
5840 }
5941 }
6042 logger.info { " ReplicaSetCount: ${replicaSets.size} , ${replicaSets.map { it.metadata.name }} " }
6143 return replicaSets
6244 }
6345
64- fun getServiceByLabel ( label : String , shinyProxyName : String ): List <Service > {
46+ fun getServiceByLabels ( labels : Map < String , String > ): List <Service > {
6547 val services = arrayListOf<Service >()
48+ logger.debug { " Looking for Services with labels: $labels " }
6649 for (service in serviceLister.list()) {
67- if (service?.metadata?.labels?.entries?.contains( AbstractMap . SimpleEntry (label, shinyProxyName) ) == true ) {
50+ if (service?.metadata?.labels?.entries?.containsAll(labels.entries ) == true ) {
6851 services.add(service)
69- logger.debug { " Found ReplicaSet ${service.metadata.name} phase => ${service.status} " }
52+ } else {
53+ logger.debug { " Not what we are looking for..." }
7054 }
7155 }
7256 logger.info { " ServiceCount: ${services.size} , ${services.map { it.metadata.name }} " }
7357 return services
7458 }
7559
76- fun getServiceByLabels (labels : Map <String , String >): List <Service > {
77- val services = arrayListOf<Service >()
78- for (service in serviceLister.list()) {
60+ fun getPodByLabels (labels : Map <String , String >): List <Pod > {
61+ val pods = arrayListOf<Pod >()
62+ logger.debug { " Looking for Pods with labels: $labels " }
63+ for (service in podLister.list()) {
7964 if (service?.metadata?.labels?.entries?.containsAll(labels.entries) == true ) {
80- services.add(service)
81- logger.debug { " Found ReplicaSet ${service.metadata.name} phase => ${service.status} " }
65+ pods.add(service)
66+ } else {
67+ logger.debug { " Not what we are looking for..." }
8268 }
8369 }
84- logger.info { " ServiceCount : ${services .size} , ${services .map { it.metadata.name }} " }
85- return services
70+ logger.info { " PodCount : ${pods .size} , ${pods .map { it.metadata.name }} " }
71+ return pods
8672 }
8773
8874}
0 commit comments