diff options
author | Chris Baumbauer <cab@cabnetworks.net> | 2018-12-17 10:31:38 +0300 |
---|---|---|
committer | Chris Baumbauer <cab@cabnetworks.net> | 2019-01-11 01:13:41 +0300 |
commit | 1102deb0bd04a1bdf550ed74cf381a6bd400a7e0 (patch) | |
tree | d734488f04098bdabbae3ce0621debf0eb6bf918 /app/finders | |
parent | 71026ffd7e71da726a9b740d42093926f8477c3e (diff) |
Initial Serverless Functions detailed view
Diffstat (limited to 'app/finders')
-rw-r--r-- | app/finders/projects/serverless/functions_finder.rb | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/app/finders/projects/serverless/functions_finder.rb b/app/finders/projects/serverless/functions_finder.rb index 2b5d67e79d7..2f2816a4a08 100644 --- a/app/finders/projects/serverless/functions_finder.rb +++ b/app/finders/projects/serverless/functions_finder.rb @@ -15,11 +15,40 @@ module Projects clusters_with_knative_installed.exists? end + def service(environment_scope, name) + knative_service(environment_scope, name)&.first + end + private + def knative_service(environment_scope, name) + clusters_with_knative_installed.preload_knative.map do |cluster| + next if environment_scope != cluster.environment_scope + + services = cluster.application_knative.services_for(ns: cluster.platform_kubernetes&.actual_namespace) + .select { |svc| svc["metadata"]["name"] == name } + + add_metadata(cluster, services).first unless services.nil? + end + end + def knative_services clusters_with_knative_installed.preload_knative.map do |cluster| - cluster.application_knative.services_for(ns: cluster.platform_kubernetes&.actual_namespace) + services = cluster.application_knative.services_for(ns: cluster.platform_kubernetes&.actual_namespace) + add_metadata(cluster, services) unless services.nil? + end + end + + def add_metadata(cluster, services) + services.each do |s| + s["environment_scope"] = cluster.environment_scope + s["cluster_id"] = cluster.id + + if services.length == 1 + s["podcount"] = cluster.application_knative.service_pod_details( + cluster.platform_kubernetes&.actual_namespace, + s["metadata"]["name"]).length + end end end |