Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Scheme = runtime.NewScheme()
Scheme is used globally to ensure the runtime helpers produce and consume RNodes with type metadata (kind and apiVersion) and Go typing. In general, there isn't a convenient way to parameterize the Read/Write calls (i.e. no Context), thus the global variable. By default, the scheme is loaded with the known Kubernetes API types and the types from this project (e.g Experiments).
Functions ¶
func DecodeYAMLToJSON ¶ added in v1.11.1
DecodeYAMLToJSON is an alternative to `node.YNode().Decode(v)` that explicit round trips through JSON.
Types ¶
type FilterOptions ¶
type FilterOptions struct { DefaultReader io.Reader KubectlExecutor func(cmd *exec.Cmd) ([]byte, error) KustomizeExecutor func(cmd *exec.Cmd) ([]byte, error) }
FilterOptions allow the behavior of the Konjure filter to be customized.
type GenericSelector ¶
type GenericSelector filters.ResourceMetaFilter
GenericSelector can be used to implement the "Select" part of the Selector interface. The "*Selector" fields are treated as Kubernetes selectors, all other fields are regular expressions for matching metadata.
type ObjectList ¶
ObjectList allows a generic list type to be used as a KYAML writer to provide interoperability between the YAML streaming and runtime objects.
type ObjectSlice ¶
ObjectSlices allows a slice of object instances to be read as resource nodes.
type Scanner ¶
type Scanner struct { // The list of selectors that produce intermediate representations. Selectors []Selector // The mapper that produces resource nodes from the intermediate representations. Transformer Transformer }
Scanner is used to map resource nodes to an intermediate type and back to (a likely different collection of) resource nodes. For example, a scanner could be used to "select" all the "name" labels from a slice of resource nodes, the "transform" those names back into a ConfigMap resource node that contains all of the discovered values.
type Selector ¶
type Selector interface { Select([]*yaml.RNode) ([]*yaml.RNode, error) Map(node *yaml.RNode, meta yaml.ResourceMeta) ([]interface{}, error) }
Selector is used to filter (reduce) a list of resource nodes and then map them into something that can be consumed by a transformer.
type Transformer ¶
type Transformer interface {
Transform(nodes []*yaml.RNode, selected []interface{}) ([]*yaml.RNode, error)
}
Transformer consumes the aggregated outputs from the selectors and turns them back into resource nodes. The original resource nodes used to generate the inputs are also made available.