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
- type ProxyREST
- type REST
- func (rs *REST) Categories() []string
- func (rs *REST) Create(ctx genericapirequest.Context, obj runtime.Object, ...) (runtime.Object, error)
- func (rs *REST) Delete(ctx genericapirequest.Context, id string) (runtime.Object, error)
- func (rs *REST) Export(ctx genericapirequest.Context, name string, opts metav1.ExportOptions) (runtime.Object, error)
- func (rs *REST) Get(ctx genericapirequest.Context, id string, options *metav1.GetOptions) (runtime.Object, error)
- func (rs *REST) List(ctx genericapirequest.Context, options *metainternalversion.ListOptions) (runtime.Object, error)
- func (*REST) New() runtime.Object
- func (*REST) NewList() runtime.Object
- func (rs *REST) ResourceLocation(ctx genericapirequest.Context, id string) (*url.URL, http.RoundTripper, error)
- func (rs *REST) ShortNames() []string
- func (rs *REST) Update(ctx genericapirequest.Context, name string, objInfo rest.UpdatedObjectInfo, ...) (runtime.Object, bool, error)
- func (rs *REST) Watch(ctx genericapirequest.Context, options *metainternalversion.ListOptions) (watch.Interface, error)
- type Registry
- type ServiceNodePort
- type ServiceRest
Constants ¶
This section is empty.
Variables ¶
var StatusStrategy = serviceStatusStrategy{Strategy}
StatusStrategy is the default logic invoked when updating service status.
var Strategy = svcStrategy{legacyscheme.Scheme, names.SimpleNameGenerator}
Services is the default logic that applies when creating and updating Service objects.
Functions ¶
func CollectServiceNodePorts ¶
func CollectServiceNodePorts(service *api.Service) []int
Types ¶
type ProxyREST ¶
type ProxyREST struct {
ServiceRest *REST
ProxyTransport http.RoundTripper
}
ProxyREST implements the proxy subresource for a Service
func (*ProxyREST) Connect ¶
func (r *ProxyREST) Connect(ctx genericapirequest.Context, id string, opts runtime.Object, responder rest.Responder) (http.Handler, error)
Connect returns a handler for the service proxy
func (*ProxyREST) ConnectMethods ¶
func (r *ProxyREST) ConnectMethods() []string
ConnectMethods returns the list of HTTP methods that can be proxied
func (*ProxyREST) New ¶
func (r *ProxyREST) New() runtime.Object
New returns an empty service resource
func (*ProxyREST) NewConnectOptions ¶
func (r *ProxyREST) NewConnectOptions() (runtime.Object, bool, string)
NewConnectOptions returns versioned resource that represents proxy parameters
type REST ¶
type REST struct {
// contains filtered or unexported fields
}
REST adapts a service registry into apiserver's RESTStorage model.
func (*REST) Categories ¶ added in v1.8.0
func (rs *REST) Categories() []string
Categories implements the CategoriesProvider interface. Returns a list of categories a resource is part of.
func (*REST) Create ¶
func (rs *REST) Create(ctx genericapirequest.Context, obj runtime.Object, createValidation rest.ValidateObjectFunc, includeUninitialized bool) (runtime.Object, error)
TODO: implement includeUninitialized by refactoring this to move to store
func (*REST) Delete ¶
func (rs *REST) Delete(ctx genericapirequest.Context, id string) (runtime.Object, error)
func (*REST) Export ¶
func (rs *REST) Export(ctx genericapirequest.Context, name string, opts metav1.ExportOptions) (runtime.Object, error)
Export returns Service stripped of cluster-specific information. It implements rest.Exporter.
func (*REST) Get ¶
func (rs *REST) Get(ctx genericapirequest.Context, id string, options *metav1.GetOptions) (runtime.Object, error)
func (*REST) List ¶
func (rs *REST) List(ctx genericapirequest.Context, options *metainternalversion.ListOptions) (runtime.Object, error)
func (*REST) ResourceLocation ¶
func (rs *REST) ResourceLocation(ctx genericapirequest.Context, id string) (*url.URL, http.RoundTripper, error)
ResourceLocation returns a URL to which one can send traffic for the specified service.
func (*REST) ShortNames ¶ added in v1.8.0
func (rs *REST) ShortNames() []string
ShortNames implements the ShortNamesProvider interface. Returns a list of short names for a resource.
type Registry ¶
type Registry interface {
ListServices(ctx genericapirequest.Context, options *metainternalversion.ListOptions) (*api.ServiceList, error)
CreateService(ctx genericapirequest.Context, svc *api.Service, createValidation rest.ValidateObjectFunc) (*api.Service, error)
GetService(ctx genericapirequest.Context, name string, options *metav1.GetOptions) (*api.Service, error)
DeleteService(ctx genericapirequest.Context, name string) error
UpdateService(ctx genericapirequest.Context, svc *api.Service, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (*api.Service, error)
WatchServices(ctx genericapirequest.Context, options *metainternalversion.ListOptions) (watch.Interface, error)
ExportService(ctx genericapirequest.Context, name string, options metav1.ExportOptions) (*api.Service, 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.
type ServiceNodePort ¶ added in v1.8.4
type ServiceNodePort struct {
// The IP protocol for this port. Supports "TCP" and "UDP".
Protocol api.Protocol
// The port on each node on which this service is exposed.
// Default is to auto-allocate a port if the ServiceType of this Service requires one.
NodePort int32
}
ServiceNodePort includes protocol and port number of a service NodePort.
type ServiceRest ¶
type ServiceRest struct {
Service *REST
Proxy *ProxyREST
}
ServiceRest includes storage for services and all sub resources
func NewStorage ¶
func NewStorage(registry Registry, endpoints endpoint.Registry, serviceIPs ipallocator.Interface,
serviceNodePorts portallocator.Interface, proxyTransport http.RoundTripper) *ServiceRest
NewStorage returns a new REST.