Help us shape the future of Go! Take the 2026 Go Developer Survey

service

package
v1.3.5 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2016 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package service provides the Registry interface and its RESTStorage implementation for storing Service api objects.

Index

Constants

This section is empty.

Variables

View Source
var StatusStrategy = serviceStatusStrategy{Strategy}

StatusStrategy is the default logic invoked when updating service status.

View Source
var Strategy = svcStrategy{api.Scheme, api.SimpleNameGenerator}

Services is the default logic that applies when creating and updating Service objects.

Functions

func CollectServiceNodePorts added in v0.18.0

func CollectServiceNodePorts(service *api.Service) []int

func MatchServices added in v1.2.0

func MatchServices(label labels.Selector, field fields.Selector) generic.Matcher

func ServiceToSelectableFields added in v1.2.0

func ServiceToSelectableFields(service *api.Service) fields.Set

Types

type ProxyREST added in v1.2.0

type ProxyREST struct {
	ServiceRest    *REST
	ProxyTransport http.RoundTripper
}

ProxyREST implements the proxy subresource for a Service

func (*ProxyREST) Connect added in v1.2.0

func (r *ProxyREST) Connect(ctx api.Context, id string, opts runtime.Object, responder rest.Responder) (http.Handler, error)

Connect returns a handler for the service proxy

func (*ProxyREST) ConnectMethods added in v1.2.0

func (r *ProxyREST) ConnectMethods() []string

ConnectMethods returns the list of HTTP methods that can be proxied

func (*ProxyREST) New added in v1.2.0

func (r *ProxyREST) New() runtime.Object

New returns an empty service resource

func (*ProxyREST) NewConnectOptions added in v1.2.0

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) Create

func (rs *REST) Create(ctx api.Context, obj runtime.Object) (runtime.Object, error)

func (*REST) Delete

func (rs *REST) Delete(ctx api.Context, id string) (runtime.Object, error)

func (*REST) Export added in v1.2.0

func (rs *REST) Export(ctx api.Context, name string, opts unversioned.ExportOptions) (runtime.Object, error)

Export returns Service stripped of cluster-specific information. It implements rest.Exporter.

func (*REST) Get

func (rs *REST) Get(ctx api.Context, id string) (runtime.Object, error)

func (*REST) List

func (rs *REST) List(ctx api.Context, options *api.ListOptions) (runtime.Object, error)

func (*REST) New

func (*REST) New() runtime.Object

func (*REST) NewList added in v0.9.0

func (*REST) NewList() runtime.Object

func (*REST) ResourceLocation

func (rs *REST) ResourceLocation(ctx api.Context, id string) (*url.URL, http.RoundTripper, error)

ResourceLocation returns a URL to which one can send traffic for the specified service.

func (*REST) Update

func (rs *REST) Update(ctx api.Context, name string, objInfo rest.UpdatedObjectInfo) (runtime.Object, bool, error)

func (*REST) Watch

func (rs *REST) Watch(ctx api.Context, options *api.ListOptions) (watch.Interface, error)

Watch returns Services events via a watch.Interface. It implements rest.Watcher.

type RangeRegistry added in v0.18.0

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)
	ExportService(ctx api.Context, name string, options unversioned.ExportOptions) (*api.Service, error)
}

Registry is an interface for things that know how to store services.

func NewRegistry added in v1.1.0

func NewRegistry(s rest.StandardStorage) Registry

NewRegistry returns a new Registry interface for the given Storage. Any mismatched types will panic.

type ServiceRest added in v1.2.0

type ServiceRest struct {
	Service *REST
	Proxy   *ProxyREST
}

ServiceRest includes storage for services and all sub resources

func NewStorage added in v0.14.0

func NewStorage(registry Registry, endpoints endpoint.Registry, serviceIPs ipallocator.Interface,
	serviceNodePorts portallocator.Interface, proxyTransport http.RoundTripper) *ServiceRest

NewStorage returns a new REST.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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