func()

in pkg/nodestream/config.go [37:71]


func (c *Config) selector() func(options *metav1.ListOptions) {
	var (
		fieldSelector string
		labelSelector string
	)

	// TODO: use k8s.io/apimachinery/pkg/labels for dynamic validated
	// construction of selectors.

	if c.NodeName != "" {
		// limit the streamed updates to the specified node.
		fieldSelector = "metadata.name=" + c.NodeName
	}

	labelSelector = marker.NodeSelectorLabel

	if c.LabelSelectorExtra != "" {
		if labelSelector != "" {
			labelSelector += ","
		}
		labelSelector += c.LabelSelectorExtra
	}

	if c.FieldSelectorExtra != "" {
		if fieldSelector != "" {
			fieldSelector += ","
		}
		fieldSelector += c.FieldSelectorExtra
	}

	return func(options *metav1.ListOptions) {
		options.LabelSelector = labelSelector
		options.FieldSelector = fieldSelector
	}
}