Documentation
¶
Overview ¶
Package service provides Registry interface and it's RESTStorage implementation for storing Service api objects.
Index ¶
- func GetIndexedIP(subnet *net.IPNet, index int) (net.IP, error)
- 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, label, field labels.Selector) (runtime.Object, error)
- func (*REST) New() runtime.Object
- func (*REST) NewList() runtime.Object
- func (rs *REST) ResourceLocation(ctx api.Context, id string) (string, error)
- func (rs *REST) Update(ctx api.Context, obj runtime.Object) (runtime.Object, bool, error)
- func (rs *REST) Watch(ctx api.Context, label, field labels.Selector, resourceVersion string) (watch.Interface, error)
- type Registry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetIndexedIP ¶ added in v0.10.0
func GetIndexedIP(subnet *net.IPNet, index int) (net.IP, error)
Returns the index-th IP from the specified subnet range. For example, subnet "10.0.0.0/24" with index "2" will return the IP "10.0.0.2". TODO(saad-ali): Move this (and any other functions that are independent of ipAllocator) to some place more generic.
Types ¶
type REST ¶
type REST struct {
// contains filtered or unexported fields
}
REST adapts a service registry into apiserver's RESTStorage model.
func NewREST ¶
func NewREST(registry Registry, cloud cloudprovider.Interface, machines minion.Registry, portalNet *net.IPNet) *REST
NewREST returns a new REST.
func (*REST) Create ¶
func (rs *REST) Create(ctx api.Context, obj runtime.Object) (runtime.Object, error)
func (*REST) List ¶
func (rs *REST) List(ctx api.Context, label, field labels.Selector) (runtime.Object, error)
TODO: implement field selector?
func (*REST) ResourceLocation ¶
func (rs *REST) ResourceLocation(ctx api.Context, id string) (string, error)
ResourceLocation returns a URL to which one can send traffic for the specified service.
type Registry ¶
type Registry interface {
ListServices(ctx api.Context) (*api.ServiceList, error)
CreateService(ctx api.Context, svc *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) error
WatchServices(ctx api.Context, labels, fields labels.Selector, resourceVersion string) (watch.Interface, error)
// TODO: endpoints and their implementation should be separated, setting endpoints should be
// supported via the API, and the endpoints-controller should use the API to update endpoints.
endpoint.Registry
}
Registry is an interface for things that know how to store services.