v0.13.0 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2019 License: Apache-2.0 Imports: 11 Imported by: 0



Package watches provides the structures and functions for mapping a GroupVersionKind to an Ansible playbook or role.



This section is empty.


This section is empty.


This section is empty.


type Finalizer

type Finalizer struct {
	Name     string                 `yaml:"name"`
	Playbook string                 `yaml:"playbook"`
	Role     string                 `yaml:"role"`
	Vars     map[string]interface{} `yaml:"vars"`

Finalizer - Expose finalizer to be used by a user.

type Watch

type Watch struct {
	GroupVersionKind            schema.GroupVersionKind `yaml:",inline"`
	Playbook                    string                  `yaml:"playbook"`
	Role                        string                  `yaml:"role"`
	Vars                        map[string]interface{}  `yaml:"vars"`
	MaxRunnerArtifacts          int                     `yaml:"maxRunnerArtifacts"`
	ReconcilePeriod             time.Duration           `yaml:"reconcilePeriod"`
	ManageStatus                bool                    `yaml:"manageStatus"`
	WatchDependentResources     bool                    `yaml:"watchDependentResources"`
	WatchClusterScopedResources bool                    `yaml:"watchClusterScopedResources"`
	Finalizer                   *Finalizer              `yaml:"finalizer"`

	// Not configurable via watches.yaml
	MaxWorkers       int `yaml:"maxWorkers"`
	AnsibleVerbosity int `yaml:"ansibleVerbosity"`

Watch - holds data used to create a mapping of GVK to ansible playbook or role. The mapping is used to compose an ansible operator.

func Load

func Load(path string, maxWorkers, ansibleVerbosity int) ([]Watch, error)

Load - loads a slice of Watches from the watches file from the CLI

func New added in v0.12.0

func New(gvk schema.GroupVersionKind, role, playbook string, vars map[string]interface{}, finalizer *Finalizer) *Watch

New - returns a Watch with sensible defaults.

func (*Watch) UnmarshalYAML

func (w *Watch) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML - implements the yaml.Unmarshaler interface for Watch. This makes it possible to verify, when loading, that the GroupVersionKind specified for a given watch is valid as well as provide sensible defaults for values that were omitted.

func (*Watch) Validate added in v0.12.0

func (w *Watch) Validate() error

Validate - ensures that a Watch is valid A Watch is considered valid if it: - Specifies a valid path to a Role||Playbook - If a Finalizer is non-nil, it must have a name + valid path to a Role||Playbook or Vars

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL