Resource manager: add service lister and remove unused lock. (#559)
* Remove unused lock from the resource manager. * Add service lister to the resource manager. This change adds a service lister in the resource manager. This will be used to set the service env vars. Also added a List method to the resource manager and a simple test to confirm it's a pass through.
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
package manager
|
||||
|
||||
import (
|
||||
"sync"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
corev1listers "k8s.io/client-go/listers/core/v1"
|
||||
@@ -13,19 +11,19 @@ import (
|
||||
// ResourceManager acts as a passthrough to a cache (lister) for pods assigned to the current node.
|
||||
// It is also a passthrough to a cache (lister) for Kubernetes secrets and config maps.
|
||||
type ResourceManager struct {
|
||||
sync.RWMutex
|
||||
|
||||
podLister corev1listers.PodLister
|
||||
secretLister corev1listers.SecretLister
|
||||
configMapLister corev1listers.ConfigMapLister
|
||||
serviceLister corev1listers.ServiceLister
|
||||
}
|
||||
|
||||
// NewResourceManager returns a ResourceManager with the internal maps initialized.
|
||||
func NewResourceManager(podLister corev1listers.PodLister, secretLister corev1listers.SecretLister, configMapLister corev1listers.ConfigMapLister) (*ResourceManager, error) {
|
||||
func NewResourceManager(podLister corev1listers.PodLister, secretLister corev1listers.SecretLister, configMapLister corev1listers.ConfigMapLister, serviceLister corev1listers.ServiceLister) (*ResourceManager, error) {
|
||||
rm := ResourceManager{
|
||||
podLister: podLister,
|
||||
secretLister: secretLister,
|
||||
configMapLister: configMapLister,
|
||||
serviceLister: serviceLister,
|
||||
}
|
||||
return &rm, nil
|
||||
}
|
||||
@@ -49,3 +47,8 @@ func (rm *ResourceManager) GetConfigMap(name, namespace string) (*v1.ConfigMap,
|
||||
func (rm *ResourceManager) GetSecret(name, namespace string) (*v1.Secret, error) {
|
||||
return rm.secretLister.Secrets(namespace).Get(name)
|
||||
}
|
||||
|
||||
// ListServices retrieves the list of services from Kubernetes.
|
||||
func (rm *ResourceManager) ListServices() ([]*v1.Service, error) {
|
||||
return rm.serviceLister.List(labels.Everything())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user