Documentation ¶
Overview ¶
Package service provides the Registry interface and its RESTStorage implementation for storing Service api objects.
Index ¶
- Variables
- func CollectServiceNodePorts(service *api.Service) []int
- func MatchServices(label labels.Selector, field fields.Selector) generic.Matcher
- func ServiceToSelectableFields(service *api.Service) fields.Set
- type REST
- func (rs *REST) Create(ctx api.Context, obj runtime.Object) (runtime.Object, error)
- func (rs *REST) Delete(ctx api.Context, id string) (runtime.Object, error)
- func (rs *REST) Get(ctx api.Context, id string) (runtime.Object, error)
- func (rs *REST) List(ctx api.Context, options *api.ListOptions) (runtime.Object, error)
- func (*REST) New() runtime.Object
- func (*REST) NewList() runtime.Object
- func (rs *REST) ResourceLocation(ctx api.Context, id string) (*url.URL, http.RoundTripper, error)
- func (rs *REST) Update(ctx api.Context, obj runtime.Object) (runtime.Object, bool, error)
- func (rs *REST) Watch(ctx api.Context, options *api.ListOptions) (watch.Interface, error)
- type RangeRegistry
- type Registry
Constants ¶
This section is empty.
Variables ¶
var Strategy = svcStrategy{api.Scheme, api.SimpleNameGenerator}
Services is the default logic that applies when creating and updating Service objects.
Functions ¶
func CollectServiceNodePorts ¶
func MatchServices ¶
Types ¶
type REST ¶
type REST struct {
// contains filtered or unexported fields
}
REST adapts a service registry into apiserver's RESTStorage model.
func NewStorage ¶
func NewStorage(registry Registry, endpoints endpoint.Registry, serviceIPs ipallocator.Interface, serviceNodePorts portallocator.Interface, proxyTransport http.RoundTripper) *REST
NewStorage returns a new REST.
func (*REST) ResourceLocation ¶
ResourceLocation returns a URL to which one can send traffic for the specified service.
type RangeRegistry ¶
type RangeRegistry interface { // Get returns the latest allocation, an empty object if no allocation has been made, // or an error if the allocation could not be retrieved. Get() (*api.RangeAllocation, error) // CreateOrUpdate should create or update the provide allocation, unless a conflict // has occurred since the item was last created. CreateOrUpdate(*api.RangeAllocation) error }
TODO: Move to a general location (as other components may need allocation in future; it's not service specific) RangeRegistry is a registry that can retrieve or persist a RangeAllocation object.
type Registry ¶
type Registry interface { ListServices(ctx api.Context, options *api.ListOptions) (*api.ServiceList, error) CreateService(ctx api.Context, svc *api.Service) (*api.Service, error) GetService(ctx api.Context, name string) (*api.Service, error) DeleteService(ctx api.Context, name string) error UpdateService(ctx api.Context, svc *api.Service) (*api.Service, error) WatchServices(ctx api.Context, options *api.ListOptions) (watch.Interface, error) }
Registry is an interface for things that know how to store services.
func NewRegistry ¶
func NewRegistry(s rest.StandardStorage) Registry
NewRegistry returns a new Registry interface for the given Storage. Any mismatched types will panic.