kubernetes: github.com/erikstmartin/kubernetes/pkg/registry/generic Index | Files | Directories

package generic

import "github.com/erikstmartin/kubernetes/pkg/registry/generic"

Package generic provides a generic object store interface and a generic label/field matching type.


Package Files

doc.go registry.go

func FilterList Uses

func FilterList(list runtime.Object, m Matcher) (filtered runtime.Object, err error)

FilterList filters any list object that conforms to the api conventions, provided that 'm' works with the concrete type of list.

type AttrFunc Uses

type AttrFunc func(obj runtime.Object) (label, field labels.Set, err error)

AttrFunc returns label and field sets for List or Watch to compare against, or an error.

type Matcher Uses

type Matcher interface {
    Matches(obj runtime.Object) (bool, error)

Matcher can return true if an object matches the Matcher's selection criteria.

func MatcherFunc Uses

func MatcherFunc(f func(obj runtime.Object) (bool, error)) Matcher

MatcherFunc makes a matcher from the provided function. For easy definition of matchers for testing.

type Registry Uses

type Registry interface {
    List(api.Context, Matcher) (runtime.Object, error)
    Create(ctx api.Context, id string, obj runtime.Object) error
    Update(ctx api.Context, id string, obj runtime.Object) error
    Get(ctx api.Context, id string) (runtime.Object, error)
    Delete(ctx api.Context, id string) error
    Watch(ctx api.Context, m Matcher, resourceVersion uint64) (watch.Interface, error)

Registry knows how to store & list any runtime.Object. Can be used for any object types which don't require special features from the storage layer.

type SelectionPredicate Uses

type SelectionPredicate struct {
    Label    labels.Selector
    Field    labels.Selector
    GetAttrs AttrFunc

SelectionPredicate implements a generic predicate that can be passed to GenericRegistry's List or Watch methods. Implements the Matcher interface.

func (*SelectionPredicate) Matches Uses

func (s *SelectionPredicate) Matches(obj runtime.Object) (bool, error)

Matches returns true if the given object's labels and fields (as returned by s.GetAttrs) match s.Label and s.Field. An error is returned if s.GetAttrs fails.


etcdPackage etcd has a generic implementation of a registry that stores things in etcd.

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