watches

package
v0.19.3 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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"`
	Blacklist                   []schema.GroupVersionKind `yaml:"blacklist"`
	Playbook                    string                    `yaml:"playbook"`
	Role                        string                    `yaml:"role"`
	Vars                        map[string]interface{}    `yaml:"vars"`
	MaxRunnerArtifacts          int                       `yaml:"maxRunnerArtifacts"`
	ReconcilePeriod             time.Duration             `yaml:"reconcilePeriod"`
	Finalizer                   *Finalizer                `yaml:"finalizer"`
	ManageStatus                bool                      `yaml:"manageStatus"`
	WatchDependentResources     bool                      `yaml:"watchDependentResources"`
	WatchClusterScopedResources bool                      `yaml:"watchClusterScopedResources"`
	Selector                    metav1.LabelSelector      `yaml:"selector"`

	// Not configurable via watches.yaml
	MaxWorkers       int `yaml:"-"`
	AnsibleVerbosity int `yaml:"-"`
}

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