// GetServiceList returns a list of all services in the cluster. func GetServiceList(client client.Interface, nsQuery *common.NamespaceQuery, dsQuery *dataselect.DataSelectQuery) (*ServiceList, error) { log.Printf("Getting list of all services in the cluster") channels := &common.ResourceChannels{ ServiceList: common.GetServiceListChannel(client, nsQuery, 1), } return GetServiceListFromChannels(channels, dsQuery) }
// GetServicesAndDiscovery returns a list of all servicesAndDiscovery resources in the cluster. func GetServicesAndDiscovery(client *k8sClient.Clientset, nsQuery *common.NamespaceQuery) ( *ServicesAndDiscovery, error) { log.Print("Getting servicesAndDiscovery category") channels := &common.ResourceChannels{ ServiceList: common.GetServiceListChannel(client, nsQuery, 1), IngressList: common.GetIngressListChannel(client, nsQuery, 1), } return GetServicesAndDiscoveryFromChannels(channels) }
// GetDaemonSetList returns a list of all Daemon Set in the cluster. func GetDaemonSetList(client *client.Clientset, nsQuery *common.NamespaceQuery, dsQuery *dataselect.DataSelectQuery, heapsterClient *heapster.HeapsterClient) (*DaemonSetList, error) { log.Print("Getting list of all daemon sets in the cluster") channels := &common.ResourceChannels{ DaemonSetList: common.GetDaemonSetListChannel(client, nsQuery, 1), ServiceList: common.GetServiceListChannel(client, nsQuery, 1), PodList: common.GetPodListChannel(client, nsQuery, 1), EventList: common.GetEventListChannel(client, nsQuery, 1), } return GetDaemonSetListFromChannels(channels, dsQuery, heapsterClient) }
// GetWorkloads returns a list of all workloads in the cluster. func GetWorkloads(client *k8sClient.Clientset, heapsterClient client.HeapsterClient, nsQuery *common.NamespaceQuery, metricQuery *dataselect.MetricQuery) (*Workloads, error) { log.Print("Getting lists of all workloads") channels := &common.ResourceChannels{ ReplicationControllerList: common.GetReplicationControllerListChannel(client, nsQuery, 1), ReplicaSetList: common.GetReplicaSetListChannel(client, nsQuery, 1), JobList: common.GetJobListChannel(client, nsQuery, 1), DaemonSetList: common.GetDaemonSetListChannel(client, nsQuery, 1), DeploymentList: common.GetDeploymentListChannel(client, nsQuery, 1), StatefulSetList: common.GetStatefulSetListChannel(client, nsQuery, 1), ServiceList: common.GetServiceListChannel(client, nsQuery, 1), PodList: common.GetPodListChannel(client, nsQuery, 7), EventList: common.GetEventListChannel(client, nsQuery, 6), } return GetWorkloadsFromChannels(channels, heapsterClient, metricQuery) }
// GetDaemonSetServices returns list of services that are related to daemon set targeted by given // name. func GetDaemonSetServices(client client.Interface, dsQuery *dataselect.DataSelectQuery, namespace, name string) (*service.ServiceList, error) { daemonSet, err := client.Extensions().DaemonSets(namespace).Get(name) if err != nil { return nil, err } channels := &common.ResourceChannels{ ServiceList: common.GetServiceListChannel(client, common.NewSameNamespaceQuery(namespace), 1), } services := <-channels.ServiceList.List if err := <-channels.ServiceList.Error; err != nil { return nil, err } matchingServices := common.FilterNamespacedServicesBySelector(services.Items, namespace, daemonSet.Spec.Selector.MatchLabels) return service.CreateServiceList(matchingServices, dsQuery), nil }
// GetReplicationControllerServices returns list of services that are related to replication // controller targeted by given name. func GetReplicationControllerServices(client client.Interface, dsQuery *dataselect.DataSelectQuery, namespace, rcName string) (*service.ServiceList, error) { replicationController, err := client.ReplicationControllers(namespace).Get(rcName) if err != nil { return nil, err } channels := &common.ResourceChannels{ ServiceList: common.GetServiceListChannel(client, common.NewSameNamespaceQuery(namespace), 1), } services := <-channels.ServiceList.List if err := <-channels.ServiceList.Error; err != nil { return nil, err } matchingServices := common.FilterNamespacedServicesBySelector(services.Items, namespace, replicationController.Spec.Selector) return service.CreateServiceList(matchingServices, dsQuery), nil }