Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Arbiter ¶
type Arbiter struct { *supervisor.Control // contains filtered or unexported fields }
func NewArbiter ¶
type ArbiterConfig ¶
type ArbiterConfig struct { Required manifest.Constraint ConstraintOnly []*regexp.Regexp }
type BoundedEvaluator ¶
type BoundedEvaluator struct {
// contains filtered or unexported fields
}
func NewBoundedEvaluator ¶
func NewBoundedEvaluator(binder ConstraintBinder, evaluator Evaluator) (e BoundedEvaluator)
type ConstraintBinder ¶
type ConstraintBinder interface { Bind(id string, constraint manifest.Constraint, callback func(reason error, message bus.Message)) Unbind(id string, callback func()) }
ConstraintBinder can bind and unbind specific function to specific callback
type Evaluator ¶
type Evaluator interface { // Get constraint GetConstraint(pod *manifest.Pod) manifest.Constraint // Function to invoke then pod constraint is passed. // Allocate should be thread-safe and non-blocking Allocate(pod *manifest.Pod, env map[string]string) // Function to invoke then pod constraint is failed. // Deallocate should be thread-safe and non-blocking Deallocate(name string) }
type RegistryConsumer ¶
type Sink ¶
type Sink struct { *supervisor.Control // contains filtered or unexported fields }
func NewSink ¶
func NewSink(ctx context.Context, log *logx.Log, state allocation.PodSlice, boundedEvaluators ...BoundedEvaluator) (s *Sink)
func (*Sink) ConsumeRegistry ¶
Click to show internal directories.
Click to hide internal directories.