pipes

package
v0.4.9 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CommandWriterFormatFlag = "output"

CommandWriterFormatFlag is a global that can be overwritten to change the name of the flag used to get the output format from the command.

Functions

func CommandReaders

func CommandReaders(cmd *cobra.Command, args []string) []kio.Reader

CommandReaders returns KYAML readers for the supplied file name arguments.

func CommandWriters

func CommandWriters(cmd *cobra.Command, overwriteFiles bool) []kio.Writer

CommandWriters returns KYAML writers for the supplied command.

func Decode added in v0.3.13

func Decode(values ...any) kio.Writer

Decode returns a writer over the YAML decoding (one per resource document).

func DecodeJSON added in v0.4.4

func DecodeJSON(values ...any) kio.Writer

DecodeJSON returns a writer over the JSON decoding of the YAML (one per resource document).

func Encode added in v0.3.12

func Encode(values ...any) kio.Reader

Encode returns a reader over the YAML encoding of the specified values.

func EncodeJSON added in v0.4.8

func EncodeJSON(values ...any) kio.Reader

EncodeJSON returns a reader over the JSON encoding of the specified values.

Types

type ErrorReader added in v0.3.11

type ErrorReader struct{ Err error }

ErrorReader is an adapter to allow the use of an error as a kio.Reader.

func (ErrorReader) Read added in v0.3.11

func (r ErrorReader) Read() ([]*yaml.RNode, error)

Reader returns the wrapped failure.

type ExecReader

type ExecReader struct {
	// The YAML producing command.
	*exec.Cmd
}

ExecReader is a KYAML reader that consumes YAML from another process via stdout.

func (*ExecReader) Read

func (c *ExecReader) Read() ([]*yaml.RNode, error)

Read executes the supplied command and parses the output as a YAML document stream.

type ExecWriter

type ExecWriter struct {
	// The YAML consuming command.
	*exec.Cmd
}

ExecWriter is a KYAML writer that sends YAML to another process via stdin.

func (*ExecWriter) Write

func (c *ExecWriter) Write(nodes []*yaml.RNode) error

Write executes the supplied command, piping the generated YAML to stdin.

type FileReadWriterOption added in v0.4.8

type FileReadWriterOption func(opts *fileReadWriterOptions) error

FileReadWriterOption represents a configuration option for the FileReader or FileWriter.

func FileWriterMkdirAll added in v0.4.8

func FileWriterMkdirAll(perm os.FileMode) FileReadWriterOption

FileWriterMkdirAll is an option that allows you to create all the parent directories on write.

type FileReader added in v0.4.5

type FileReader struct {
	// The file name to read.
	Name string
	// The file system to use for resolving file contents (defaults to the OS reader).
	FS fs.FS
	// Configuration options.
	Options []FileReadWriterOption
}

FileReader is a KIO reader that lazily loads a file.

func (*FileReader) Read added in v0.4.5

func (r *FileReader) Read() ([]*yaml.RNode, error)

Read opens the configured file and reads the contents.

type FileWriter added in v0.4.5

type FileWriter struct {
	// The file name to write.
	Name string
	// Configuration options.
	Options []FileReadWriterOption
}

FileWriter is a KIO writer that writes nodes to a file.

func (*FileWriter) Write added in v0.4.5

func (w *FileWriter) Write(nodes []*yaml.RNode) error

Write overwrites the file with encoded nodes.

type HelmValues added in v0.3.12

type HelmValues struct {
	// User specified values files (via -f/--values).
	ValueFiles []string
	// User specified values (via --set).
	Values []string
	// User specified string values (via --set-string).
	StringValues []string
	// User specified file values (via --set-file).
	FileValues []string

	// The file system to use for resolving file contents (defaults to the OS reader).
	FS fs.FS
}

HelmValues is a reader that emits resource nodes representing Helm values.

func (*HelmValues) AsMap added in v0.4.5

func (r *HelmValues) AsMap() (map[string]any, error)

AsMap converts the configured user specified values into a map of values.

func (*HelmValues) Flatten added in v0.4.8

func (r *HelmValues) Flatten() kio.Filter

Flatten returns a filter that merges all the supplied nodes into a single node.

func (*HelmValues) Mask added in v0.4.5

func (r *HelmValues) Mask(keep bool) kio.Filter

Mask returns a filter that either keeps or strips data impacted by these values.

func (*HelmValues) MergeMaps added in v0.3.18

func (r *HelmValues) MergeMaps(a, b map[string]any) map[string]any

MergeMaps is used to combine results from multiple values.

func (*HelmValues) Read added in v0.3.12

func (r *HelmValues) Read() ([]*yaml.RNode, error)

Read converts the configured user specified values into resource nodes.

type Kubectl

type Kubectl struct {
	// The path the kubectl binary, defaults to `kubectl`.
	Bin string
	// The path to the kubeconfig.
	KubeConfig string
	// The context name.
	Context string
	// The namespace name.
	Namespace string
	// The length of time to wait before giving up on a single request.
	RequestTimeout time.Duration
}

Kubectl is used for executing `kubectl` as part of a KYAML pipeline.

func (*Kubectl) Apply

func (k *Kubectl) Apply(ctx context.Context, opts ...karg.ApplyOption) *ExecWriter

Apply returns a sink for applying resources via kubectl.

func (*Kubectl) Command

func (k *Kubectl) Command(ctx context.Context, args ...string) *exec.Cmd

Command creates a new executable command with the configured global flags and the supplied arguments.

func (*Kubectl) Create

func (k *Kubectl) Create(ctx context.Context, opts ...karg.CreateOption) *ExecWriter

Create returns a sink for creating resources via kubectl.

func (*Kubectl) Delete added in v0.3.12

func (k *Kubectl) Delete(ctx context.Context, opts ...karg.DeleteOption) *ExecWriter

Delete returns a sink for deleting resources via kubectl.

func (*Kubectl) Get

func (k *Kubectl) Get(ctx context.Context, opts ...karg.GetOption) *ExecReader

Get returns a source for getting resources via kubectl.

func (*Kubectl) Patch added in v0.3.17

func (k *Kubectl) Patch(ctx context.Context, opts ...karg.PatchOption) *ExecWriter

Patch returns a sink for patching resources via kubectl.

func (*Kubectl) Reader added in v0.3.13

func (k *Kubectl) Reader(ctx context.Context, args ...string) *ExecReader

Reader returns a kio.Reader for the specified kubectl arguments.

func (*Kubectl) Wait added in v0.4.0

func (k *Kubectl) Wait(ctx context.Context, opts ...karg.WaitOption) *exec.Cmd

Wait returns a command to wait for conditions via kubectl.

func (*Kubectl) Writer added in v0.3.13

func (k *Kubectl) Writer(ctx context.Context, args ...string) *ExecWriter

Writer returns a kio.Writer for the specified kubectl arguments.

type ReadOneFunc added in v0.3.12

type ReadOneFunc func() (*yaml.RNode, error)

ReadOneFunc is an adapter to allow the use of single node returning functions as a kio.Reader.

func (ReadOneFunc) Read added in v0.3.12

func (r ReadOneFunc) Read() ([]*yaml.RNode, error)

Read evaluates the typed function and wraps the resulting non-nil node.

type ReaderFunc added in v0.3.11

type ReaderFunc func() ([]*yaml.RNode, error)

ReaderFunc is an adapter to allow the use of ordinary functions as a kio.Reader.

func (ReaderFunc) Read added in v0.3.11

func (r ReaderFunc) Read() ([]*yaml.RNode, error)

Read evaluates the typed function.

type TemplateReader

type TemplateReader struct {
	// The template to execute.
	Template *template.Template
	// The data for the template.
	Data any
}

TemplateReader is a KYAML reader that consumes YAML from a Go template.

func (*TemplateReader) Read

func (c *TemplateReader) Read() ([]*yaml.RNode, error)

Read executes the supplied template and parses the output as a YAML document stream.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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