discovery

package
v1.7.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: May 5, 2017 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const APIGroupPrefix = "/apis"

Variables

This section is empty.

Functions

func NewAPIGroupHandler

func NewAPIGroupHandler(serializer runtime.NegotiatedSerializer, group metav1.APIGroup) *apiGroupHandler

func NewAPIVersionHandler

func NewAPIVersionHandler(serializer runtime.NegotiatedSerializer, groupVersion schema.GroupVersion, apiResourceLister APIResourceLister) *apiVersionHandler

func NewLegacyRootAPIHandler

func NewLegacyRootAPIHandler(addresses Addresses, serializer runtime.NegotiatedSerializer, apiPrefix string, apiVersions []string) *legacyRootAPIHandler

func NewRootAPIsHandler

func NewRootAPIsHandler(addresses Addresses, serializer runtime.NegotiatedSerializer) *rootAPIsHandler

Types

type APIResourceLister

type APIResourceLister interface {
	ListAPIResources() []metav1.APIResource
}

type Addresses

type Addresses interface {
	ServerAddressByClientCIDRs(net.IP) []metav1.ServerAddressByClientCIDR
}

type CIDRRule

type CIDRRule struct {
	IPRange net.IPNet

	// Address is the address (hostname or IP and port) that should be used in
	// if this CIDR matches
	Address string
}

CIDRRule is a rule for adding an alternate path to the master based on matching CIDR

func (CIDRRule) ServerAddressByClientCIDRs

func (d CIDRRule) ServerAddressByClientCIDRs(clientIP net.IP) []metav1.ServerAddressByClientCIDR

type DefaultAddresses

type DefaultAddresses struct {
	// CIDRRules is a list of CIDRs and Addresses to use if a client is in the range
	CIDRRules []CIDRRule

	// DefaultAddress is the address (hostname or IP and port) that should be used in
	// if no CIDR matches more specifically.
	DefaultAddress string
}

DefaultAddresses is a default implementation of Addresses that will work in most cases

func (DefaultAddresses) ServerAddressByClientCIDRs

func (d DefaultAddresses) ServerAddressByClientCIDRs(clientIP net.IP) []metav1.ServerAddressByClientCIDR

type GroupManager

type GroupManager interface {
	AddGroup(apiGroup metav1.APIGroup)
	RemoveGroup(groupName string)

	WebService() *restful.WebService
}

GroupManager is an interface that allows dynamic mutation of the existing webservice to handle API groups being added or removed.

Jump to

Keyboard shortcuts

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