kubernetes: github.com/sgotti/kubernetes/pkg/registry/service Index | Files | Directories

package service

import "github.com/sgotti/kubernetes/pkg/registry/service"

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

Index

Package Files

doc.go registry.go rest.go

func CollectServiceNodePorts Uses

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

type REST Uses

type REST struct {
    // contains filtered or unexported fields
}

REST adapts a service registry into apiserver's RESTStorage model.

func NewStorage Uses

func NewStorage(registry Registry, machines minion.Registry, endpoints endpoint.Registry, serviceIPs ipallocator.Interface,
    serviceNodePorts portallocator.Interface, clusterName string) *REST

NewStorage returns a new REST.

func (*REST) Create Uses

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

func (*REST) Delete Uses

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

func (*REST) Get Uses

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

func (*REST) List Uses

func (rs *REST) List(ctx api.Context, label labels.Selector, field fields.Selector) (runtime.Object, error)

func (*REST) New Uses

func (*REST) New() runtime.Object

func (*REST) NewList Uses

func (*REST) NewList() runtime.Object

func (*REST) ResourceLocation Uses

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 Uses

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

func (*REST) Watch Uses

func (rs *REST) Watch(ctx api.Context, label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

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

type RangeRegistry Uses

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 occured 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 Uses

type Registry interface {
    ListServices(ctx api.Context) (*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, labels labels.Selector, fields fields.Selector, resourceVersion string) (watch.Interface, error)
}

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

Directories

PathSynopsis
allocator
allocator/etcd
ipallocator
ipallocator/controller
ipallocator/etcd
portallocator
portallocator/controller

Package service imports 21 packages (graph). Updated 2018-04-10. Refresh now. Tools for package owners.