pod

package
v0.13.1-0...-ef75888 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2015 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package pod provides Registry interface and it's RESTStorage implementation for storing Pod api objects.

Index

Constants

This section is empty.

Variables

View Source
var StatusStrategy = podStatusStrategy{Strategy}
View Source
var Strategy = podStrategy{api.Scheme, api.SimpleNameGenerator}

Strategy is the default logic that applies when creating and updating Pod objects via the REST API. TODO: Create other strategies for updating status, bindings, etc

Functions

func MatchPod

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

MatchPod returns a generic matcher for a given label and field selector.

func PodStatusDecorator

func PodStatusDecorator(cache PodStatusGetter) rest.ObjectFunc

PodStatusDecorator returns a function that updates pod.Status based on the provided pod cache.

func PodStatusReset

func PodStatusReset(cache PodStatusGetter) rest.ObjectFunc

PodStatusReset returns a function that clears the pod cache when the object is deleted.

func PodToSelectableFields

func PodToSelectableFields(pod *api.Pod) labels.Set

PodToSelectableFields returns a label set that represents the object TODO: fields are not labels, and the validation rules for them do not apply.

func ResourceLocation

func ResourceLocation(getter ResourceGetter, ctx api.Context, id string) (string, error)

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

Types

type PodStatusGetter

type PodStatusGetter interface {
	GetPodStatus(namespace, name string) (*api.PodStatus, error)
	ClearPodStatus(namespace, name string)
}

PodStatusGetter is an interface used by Pods to fetch and retrieve status info.

type Registry

type Registry interface {
	// ListPods obtains a list of pods having labels which match selector.
	ListPods(ctx api.Context, selector labels.Selector) (*api.PodList, error)
	// Watch for new/changed/deleted pods
	WatchPods(ctx api.Context, label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)
	// Get a specific pod
	GetPod(ctx api.Context, podID string) (*api.Pod, error)
	// Create a pod based on a specification.
	CreatePod(ctx api.Context, pod *api.Pod) error
	// Update an existing pod
	UpdatePod(ctx api.Context, pod *api.Pod) error
	// Delete an existing pod
	DeletePod(ctx api.Context, podID string) error
}

Registry is an interface implemented by things that know how to store Pod objects.

func NewRegistry

func NewRegistry(s Storage) Registry

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

type ResourceGetter

type ResourceGetter interface {
	Get(api.Context, string) (runtime.Object, error)
}

ResourceGetter is an interface for retrieving resources by ResourceLocation.

type Storage

Storage is an interface for a standard REST Storage backend TODO: move me somewhere common

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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