kubernetes

package
v0.7.0-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2021 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package kubernetes is a generated GoMock package.

Index

Constants

View Source
const (
	// DefaultKubeEventResyncInterval is the default resync interval for k8s events
	DefaultKubeEventResyncInterval = 5 * time.Minute

	// ProviderName is used for provider logging
	ProviderName = "Kubernetes"
)

Variables

This section is empty.

Functions

func GetAppProtocolFromPortName added in v0.7.0

func GetAppProtocolFromPortName(portName string) string

GetAppProtocolFromPortName returns the port's application protocol from its name, 'defaultAppProtocol' if not specified.

func GetHostnamesForService added in v0.3.0

func GetHostnamesForService(service *corev1.Service, sameNamespace bool) []string

GetHostnamesForService returns a list of hostnames over which the service can be accessed within the local cluster. If 'sameNamespace' is set to true, then the shorthand hostnames service and service:port are also returned.

func GetKubernetesEventHandlers

func GetKubernetesEventHandlers(informerName, providerName string, shouldObserve observeFilter, eventTypes EventTypes) cache.ResourceEventHandlerFuncs

GetKubernetesEventHandlers creates Kubernetes events handlers.

func GetServiceFromHostname added in v0.3.0

func GetServiceFromHostname(host string) string

GetServiceFromHostname returns the service name from its hostname

Types

type Client added in v0.4.0

type Client struct {
	// contains filtered or unexported fields
}

Client is a struct for all components necessary to connect to and maintain state of a Kubernetes cluster.

func (Client) GetEndpoints added in v0.7.0

func (c Client) GetEndpoints(svc service.MeshService) (*corev1.Endpoints, error)

GetEndpoints returns the endpoint for a given service, otherwise returns nil if not found or error if the API errored out.

func (Client) GetNamespace added in v0.4.1

func (c Client) GetNamespace(ns string) *corev1.Namespace

GetNamespace returns a Namespace resource if found, nil otherwise.

func (Client) GetService added in v0.4.0

func (c Client) GetService(svc service.MeshService) *corev1.Service

GetService retrieves the Kubernetes Services resource for the given MeshService

func (Client) IsMonitoredNamespace added in v0.4.0

func (c Client) IsMonitoredNamespace(namespace string) bool

IsMonitoredNamespace returns a boolean indicating if the namespace is among the list of monitored namespaces

func (Client) ListMonitoredNamespaces added in v0.4.0

func (c Client) ListMonitoredNamespaces() ([]string, error)

ListMonitoredNamespaces returns all namespaces that the mesh is monitoring.

func (Client) ListPods added in v0.4.1

func (c Client) ListPods() []*corev1.Pod

ListPods returns a list of pods part of the mesh Kubecontroller does not currently segment pod notifications, hence it receives notifications for all k8s Pods.

func (Client) ListServiceAccountsForService added in v0.6.0

func (c Client) ListServiceAccountsForService(svc service.MeshService) ([]service.K8sServiceAccount, error)

ListServiceAccountsForService lists ServiceAccounts associated with the given service

func (Client) ListServices added in v0.4.0

func (c Client) ListServices() []*corev1.Service

ListServices returns a list of services that are part of monitored namespaces

type Controller added in v0.4.0

type Controller interface {
	// ListServices returns a list of all (monitored-namespace filtered) services in the mesh
	ListServices() []*corev1.Service

	// Returns a corev1 Service representation if the MeshService exists in cache, otherwise nil
	GetService(svc service.MeshService) *corev1.Service

	// IsMonitoredNamespace returns whether a namespace with the given name is being monitored
	// by the mesh
	IsMonitoredNamespace(string) bool

	// ListMonitoredNamespaces returns the namespaces monitored by the mesh
	ListMonitoredNamespaces() ([]string, error)

	// GetNamespace returns k8s namespace present in cache
	GetNamespace(ns string) *corev1.Namespace

	// ListPods returns a list of pods part of the mesh
	ListPods() []*corev1.Pod

	// ListServiceAccountsForService lists ServiceAccounts associated with the given service
	ListServiceAccountsForService(svc service.MeshService) ([]service.K8sServiceAccount, error)

	// GetEndpoints returns the endpoints for a given service, if found
	GetEndpoints(svc service.MeshService) (*corev1.Endpoints, error)
}

Controller is the controller interface for K8s services

func NewKubernetesController added in v0.4.0

func NewKubernetesController(kubeClient kubernetes.Interface, meshName string, stop chan struct{}) (Controller, error)

NewKubernetesController returns a new kubernetes.Controller which means to provide access to locally-cached k8s resources

type EventType

type EventType string

EventType is the type of event we have received from Kubernetes

const (
	// AddEvent is a type of a Kubernetes API event.
	AddEvent EventType = "ADD"

	// UpdateEvent is a type of a Kubernetes API event.
	UpdateEvent EventType = "UPDATE"

	// DeleteEvent is a type of a Kubernetes API event.
	DeleteEvent EventType = "DELETE"
)

func (EventType) String added in v0.6.0

func (et EventType) String() string

type EventTypes added in v0.6.0

type EventTypes struct {
	Add    a.AnnouncementType
	Update a.AnnouncementType
	Delete a.AnnouncementType
}

EventTypes is a struct helping pass the correct types to GetKubernetesEventHandlers

type InformerCollection added in v0.4.0

type InformerCollection map[InformerKey]cache.SharedIndexInformer

InformerCollection is the type holding the collection of informers we keep

type InformerKey added in v0.4.0

type InformerKey string

InformerKey stores the different Informers we keep for K8s resources

const (
	// Namespaces lookup identifier
	Namespaces InformerKey = "Namespaces"
	// Services lookup identifier
	Services InformerKey = "Services"
	// Pods lookup identifier
	Pods InformerKey = "Pods"
	// Endpoints lookup identifier
	Endpoints InformerKey = "Endpoints"
)

type MockController added in v0.4.0

type MockController struct {
	// contains filtered or unexported fields
}

MockController is a mock of Controller interface

func NewMockController added in v0.4.0

func NewMockController(ctrl *gomock.Controller) *MockController

NewMockController creates a new mock instance

func (*MockController) EXPECT added in v0.4.0

EXPECT returns an object that allows the caller to indicate expected use

func (*MockController) GetEndpoints added in v0.7.0

func (m *MockController) GetEndpoints(arg0 service.MeshService) (*v1.Endpoints, error)

GetEndpoints mocks base method

func (*MockController) GetNamespace added in v0.4.1

func (m *MockController) GetNamespace(arg0 string) *v1.Namespace

GetNamespace mocks base method

func (*MockController) GetService added in v0.4.0

func (m *MockController) GetService(arg0 service.MeshService) *v1.Service

GetService mocks base method

func (*MockController) IsMonitoredNamespace added in v0.4.0

func (m *MockController) IsMonitoredNamespace(arg0 string) bool

IsMonitoredNamespace mocks base method

func (*MockController) ListMonitoredNamespaces added in v0.4.0

func (m *MockController) ListMonitoredNamespaces() ([]string, error)

ListMonitoredNamespaces mocks base method

func (*MockController) ListPods added in v0.4.1

func (m *MockController) ListPods() []*v1.Pod

ListPods mocks base method

func (*MockController) ListServiceAccountsForService added in v0.6.0

func (m *MockController) ListServiceAccountsForService(arg0 service.MeshService) ([]service.K8sServiceAccount, error)

ListServiceAccountsForService mocks base method

func (*MockController) ListServices added in v0.4.0

func (m *MockController) ListServices() []*v1.Service

ListServices mocks base method

type MockControllerMockRecorder added in v0.4.0

type MockControllerMockRecorder struct {
	// contains filtered or unexported fields
}

MockControllerMockRecorder is the mock recorder for MockController

func (*MockControllerMockRecorder) GetEndpoints added in v0.7.0

func (mr *MockControllerMockRecorder) GetEndpoints(arg0 interface{}) *gomock.Call

GetEndpoints indicates an expected call of GetEndpoints

func (*MockControllerMockRecorder) GetNamespace added in v0.4.1

func (mr *MockControllerMockRecorder) GetNamespace(arg0 interface{}) *gomock.Call

GetNamespace indicates an expected call of GetNamespace

func (*MockControllerMockRecorder) GetService added in v0.4.0

func (mr *MockControllerMockRecorder) GetService(arg0 interface{}) *gomock.Call

GetService indicates an expected call of GetService

func (*MockControllerMockRecorder) IsMonitoredNamespace added in v0.4.0

func (mr *MockControllerMockRecorder) IsMonitoredNamespace(arg0 interface{}) *gomock.Call

IsMonitoredNamespace indicates an expected call of IsMonitoredNamespace

func (*MockControllerMockRecorder) ListMonitoredNamespaces added in v0.4.0

func (mr *MockControllerMockRecorder) ListMonitoredNamespaces() *gomock.Call

ListMonitoredNamespaces indicates an expected call of ListMonitoredNamespaces

func (*MockControllerMockRecorder) ListPods added in v0.4.1

func (mr *MockControllerMockRecorder) ListPods() *gomock.Call

ListPods indicates an expected call of ListPods

func (*MockControllerMockRecorder) ListServiceAccountsForService added in v0.6.0

func (mr *MockControllerMockRecorder) ListServiceAccountsForService(arg0 interface{}) *gomock.Call

ListServiceAccountsForService indicates an expected call of ListServiceAccountsForService

func (*MockControllerMockRecorder) ListServices added in v0.4.0

func (mr *MockControllerMockRecorder) ListServices() *gomock.Call

ListServices indicates an expected call of ListServices

type PortForwarder added in v0.6.0

type PortForwarder struct {
	// contains filtered or unexported fields
}

PortForwarder is a type that implements port forwarding to a pod

func NewPortForwarder added in v0.6.0

func NewPortForwarder(conf *rest.Config, clientSet kubernetes.Interface, podName string, namespace string, localPort uint16, remotePort uint16) (*PortForwarder, error)

NewPortForwarder creates a new port forwarder to a pod

func (*PortForwarder) Start added in v0.6.0

func (pf *PortForwarder) Start(readyFunc func(pf *PortForwarder) error) error

Start starts the port forwarding and calls the readyFunc callback function when port forwarding is ready

func (*PortForwarder) Stop added in v0.6.0

func (pf *PortForwarder) Stop()

Stop stops the port forwarding if not stopped already

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL