Documentation ¶
Overview ¶
Package etcd provides etcd backend implementation for storing PodRegistry, ControllerRegistry and ServiceRegistry api objects.
Index ¶
- Constants
- func MakeEtcdItemKey(ctx api.Context, prefix string, id string) (string, error)
- func MakeEtcdListKey(ctx api.Context, prefix string) string
- func ParseWatchResourceVersion(resourceVersion, kind string) (uint64, error)
- type Registry
- func (r *Registry) ApplyBinding(ctx api.Context, binding *api.Binding) error
- func (r *Registry) CreateController(ctx api.Context, controller *api.ReplicationController) error
- func (r *Registry) CreateMinion(ctx api.Context, minion *api.Minion) error
- func (r *Registry) CreatePod(ctx api.Context, pod *api.Pod) error
- func (r *Registry) CreateService(ctx api.Context, svc *api.Service) error
- func (r *Registry) DeleteController(ctx api.Context, controllerID string) error
- func (r *Registry) DeleteMinion(ctx api.Context, minionID string) error
- func (r *Registry) DeletePod(ctx api.Context, podID string) error
- func (r *Registry) DeleteService(ctx api.Context, name string) error
- func (r *Registry) GetController(ctx api.Context, controllerID string) (*api.ReplicationController, error)
- func (r *Registry) GetEndpoints(ctx api.Context, name string) (*api.Endpoints, error)
- func (r *Registry) GetMinion(ctx api.Context, minionID string) (*api.Minion, error)
- func (r *Registry) GetPod(ctx api.Context, id string) (*api.Pod, error)
- func (r *Registry) GetService(ctx api.Context, name string) (*api.Service, error)
- func (r *Registry) ListControllers(ctx api.Context) (*api.ReplicationControllerList, error)
- func (r *Registry) ListEndpoints(ctx api.Context) (*api.EndpointsList, error)
- func (r *Registry) ListMinions(ctx api.Context) (*api.MinionList, error)
- func (r *Registry) ListPods(ctx api.Context, selector labels.Selector) (*api.PodList, error)
- func (r *Registry) ListPodsPredicate(ctx api.Context, filter func(*api.Pod) bool) (*api.PodList, error)
- func (r *Registry) ListServices(ctx api.Context) (*api.ServiceList, error)
- func (r *Registry) UpdateController(ctx api.Context, controller *api.ReplicationController) error
- func (r *Registry) UpdateEndpoints(ctx api.Context, endpoints *api.Endpoints) error
- func (r *Registry) UpdatePod(ctx api.Context, pod *api.Pod) error
- func (r *Registry) UpdateService(ctx api.Context, svc *api.Service) error
- func (r *Registry) WatchControllers(ctx api.Context, resourceVersion string) (watch.Interface, error)
- func (r *Registry) WatchEndpoints(ctx api.Context, label, field labels.Selector, resourceVersion string) (watch.Interface, error)
- func (r *Registry) WatchPods(ctx api.Context, resourceVersion string, filter func(*api.Pod) bool) (watch.Interface, error)
- func (r *Registry) WatchServices(ctx api.Context, label, field labels.Selector, resourceVersion string) (watch.Interface, error)
Constants ¶
const ( // PodPath is the path to pod resources in etcd PodPath string = "/registry/pods" // ControllerPath is the path to controller resources in etcd ControllerPath string = "/registry/controllers" // ServicePath is the path to service resources in etcd ServicePath string = "/registry/services/specs" // ServiceEndpointPath is the path to service endpoints resources in etcd ServiceEndpointPath string = "/registry/services/endpoints" )
Variables ¶
This section is empty.
Functions ¶
func MakeEtcdItemKey ¶
MakeEtcdItemKey constructs etcd paths to a resource relative to prefix enforcing namespace rules. If no namespace is on context, it errors.
func MakeEtcdListKey ¶
MakeEtcdListKey constructs etcd paths to resource directories enforcing namespace rules
func ParseWatchResourceVersion ¶
ParseWatchResourceVersion takes a resource version argument and converts it to the etcd version we should pass to helper.Watch(). Because resourceVersion is an opaque value, the default watch behavior for non-zero watch is to watch the next value (if you pass "1", you will see updates from "2" onwards).
Types ¶
type Registry ¶
type Registry struct { tools.EtcdHelper // contains filtered or unexported fields }
Registry implements PodRegistry, ControllerRegistry, ServiceRegistry and MinionRegistry, backed by etcd.
func NewRegistry ¶
func NewRegistry(helper tools.EtcdHelper, boundPodFactory pod.BoundPodFactory) *Registry
NewRegistry creates an etcd registry.
func (*Registry) ApplyBinding ¶
ApplyBinding implements binding's registry
func (*Registry) CreateController ¶
CreateController creates a new ReplicationController.
func (*Registry) CreateMinion ¶
func (*Registry) CreateService ¶
CreateService creates a new Service.
func (*Registry) DeleteController ¶
DeleteController deletes a ReplicationController specified by its ID.
func (*Registry) DeleteMinion ¶
func (*Registry) DeleteService ¶
DeleteService deletes a Service specified by its name.
func (*Registry) GetController ¶
func (r *Registry) GetController(ctx api.Context, controllerID string) (*api.ReplicationController, error)
GetController gets a specific ReplicationController specified by its ID.
func (*Registry) GetEndpoints ¶
GetEndpoints obtains the endpoints for the service identified by 'name'.
func (*Registry) GetService ¶
GetService obtains a Service specified by its name.
func (*Registry) ListControllers ¶
ListControllers obtains a list of ReplicationControllers.
func (*Registry) ListEndpoints ¶
ListEndpoints obtains a list of Services.
func (*Registry) ListMinions ¶
func (*Registry) ListPodsPredicate ¶
func (r *Registry) ListPodsPredicate(ctx api.Context, filter func(*api.Pod) bool) (*api.PodList, error)
ListPodsPredicate obtains a list of pods that match filter.
func (*Registry) ListServices ¶
ListServices obtains a list of Services.
func (*Registry) UpdateController ¶
UpdateController replaces an existing ReplicationController.
func (*Registry) UpdateEndpoints ¶
UpdateEndpoints update Endpoints of a Service.
func (*Registry) UpdateService ¶
UpdateService replaces an existing Service.
func (*Registry) WatchControllers ¶
func (r *Registry) WatchControllers(ctx api.Context, resourceVersion string) (watch.Interface, error)
WatchControllers begins watching for new, changed, or deleted controllers.
func (*Registry) WatchEndpoints ¶
func (r *Registry) WatchEndpoints(ctx api.Context, label, field labels.Selector, resourceVersion string) (watch.Interface, error)
WatchEndpoints begins watching for new, changed, or deleted endpoint configurations.