Documentation
¶
Index ¶
Constants ¶
View Source
const ( // DefaultSyncInterval is the default interval for syncing enrollments DefaultSyncInterval = 5 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func ResolveDependencies ¶
ResolveDependencies returns a list of dependencies by parsing the opaque Properties blob.
Types ¶
type ListSourceUnion ¶
ListSourceUnion is a union type of possible values: a list of []intsance.Description a group plugin name
func (*ListSourceUnion) GroupPlugin ¶
func (u *ListSourceUnion) GroupPlugin() (plugin.Name, error)
GroupPlugin tries to 'cast' the union value as a group plugin name
func (*ListSourceUnion) InstanceDescriptions ¶
func (u *ListSourceUnion) InstanceDescriptions() ([]instance.Description, error)
InstanceDescriptions tries to 'cast' the union as list of descriptions
func (*ListSourceUnion) MarshalJSON ¶
func (u *ListSourceUnion) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler
func (*ListSourceUnion) UnmarshalJSON ¶
func (u *ListSourceUnion) UnmarshalJSON(buff []byte) error
UnmarshalJSON implements json.Unmarshaler
type Options ¶
type Options struct {
// SourceKeySelector is a string template for selecting the join key from
// a source instance.Description. This selector template should use escapes
// so that the template {{ and }} are preserved. For example,
// SourceKeySelector: \{\{ .ID \}\} # selects the ID field.
SourceKeySelector string
// SourceKeySelector is a string template for selecting the join key from
// a enrollment plugin's instance.Description.
EnrollmentKeySelector string
// SyncInterval is the time interval between reconciliation. Syntax
// is go's time.Duration string representation (e.g. 1m, 30s)
SyncInterval types.Duration
// DestroyOnTerminiate tells the controller to call instace.Destroy
// for each member it is maintaining. This is a matter of ownership
// depending on use cases the controller may not *own* the data in the
// downstream instance. The controller merely reconciles it.
DestroyOnTerminate bool
}
Options is the controller options
type PluginSpec ¶
type PluginSpec struct {
// Plugin is the name of the instance plugin
Plugin plugin.Name
// Labels are the labels to use when querying for instances. This is the namespace.
Labels map[string]string
// Properties is the properties to configure the instance with.
Properties *types.Any `json:",omitempty" yaml:",omitempty"`
}
PluginSpec has information about the plugin
type Properties ¶
type Properties struct {
// List is a list of instance descriptions to sync
List *ListSourceUnion `json:",omitempty" yaml:",omitempty"`
// Instance is the name of the instance plugin which will receive the
// synchronization messages of provision / destroy based on the
// changes in the List
Instance PluginSpec
}
Properties is the schema of the configuration in the types.Spec.Properties
Click to show internal directories.
Click to hide internal directories.