Documentation
¶
Overview ¶
Package pod provides Registry interface and it's RESTStorage implementation for storing Pod api objects.
Index ¶
- Variables
- func MatchPod(label, field labels.Selector) generic.Matcher
- func PodStatusDecorator(cache PodStatusGetter) rest.ObjectFunc
- func PodStatusReset(cache PodStatusGetter) rest.ObjectFunc
- func PodToSelectableFields(pod *api.Pod) labels.Set
- func ResourceLocation(getter ResourceGetter, ctx api.Context, id string) (string, error)
- type BasicBoundPodFactory
- type BoundPodFactory
- type PodStatusGetter
- type Registry
- type ResourceGetter
- type Storage
Constants ¶
This section is empty.
Variables ¶
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 ¶ added in v0.11.0
func MatchPod(label, field labels.Selector) generic.Matcher
MatchPod returns a generic matcher for a given label and field selector.
func PodStatusDecorator ¶ added in v0.11.0
func PodStatusDecorator(cache PodStatusGetter) rest.ObjectFunc
PodStatusDecorator returns a function that updates pod.Status based on the provided pod cache.
func PodStatusReset ¶ added in v0.11.0
func PodStatusReset(cache PodStatusGetter) rest.ObjectFunc
PodStatusReset returns a function that clears the pod cache when the object is deleted.
func PodToSelectableFields ¶ added in v0.7.0
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 ¶ added in v0.11.0
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 BasicBoundPodFactory ¶ added in v0.5.1
type BasicBoundPodFactory struct{}
func (*BasicBoundPodFactory) MakeBoundPod ¶ added in v0.5.1
func (b *BasicBoundPodFactory) MakeBoundPod(machine string, pod *api.Pod) (*api.BoundPod, error)
type BoundPodFactory ¶ added in v0.5.1
type BoundPodFactory interface {
// Make a container object for a given pod, given the machine that the pod is running on.
MakeBoundPod(machine string, pod *api.Pod) (*api.BoundPod, error)
}
type PodStatusGetter ¶ added in v0.8.0
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, field labels.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 ¶ added in v0.11.0
func NewRegistry(s Storage) Registry
NewRegistry returns a new Registry interface for the given Storage. Any mismatched types will panic.
type ResourceGetter ¶ added in v0.11.0
type ResourceGetter interface {
Get(api.Context, string) (runtime.Object, error)
}
ResourceGetter is an interface for retrieving resources by ResourceLocation.
type Storage ¶ added in v0.11.0
type Storage interface {
apiserver.RESTDeleter
apiserver.RESTLister
apiserver.RESTGetter
apiserver.ResourceWatcher
Create(ctx api.Context, obj runtime.Object) (runtime.Object, error)
Update(ctx api.Context, obj runtime.Object) (runtime.Object, bool, error)
}
Storage is an interface for a standard REST Storage backend TODO: move me somewhere common