external

package
v4.3.1 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Flag

type Flag struct {
	// Name is the name that should be used when creating the flag.
	// i.e a name of "domain" would become the CLI flag "--domain"
	Name string

	// Type is the type of flag that should be created. The types that
	// Kubebuilder supports are: string, bool, int, and float.
	// any value other than the supported will be defaulted to be a string
	Type string

	// Default is the default value that should be used for a flag.
	// Kubebuilder will attempt to convert this value to the defined
	// type for this flag.
	Default string

	// Usage is a description of the flag and when/why/what it is used for.
	Usage string
}

Flag is meant to represent a CLI flag that is used by Kubebuilder to define flags that are parsed for use with an external plugin

type PluginRequest

type PluginRequest struct {
	// APIVersion defines the versioned schema of PluginRequest that is being sent from Kubebuilder.
	// Initially, this will be marked as alpha (v1alpha1).
	APIVersion string `json:"apiVersion"`

	// Args holds the plugin specific arguments that are received from the CLI
	// which are to be passed down to the external plugin.
	Args []string `json:"args"`

	// Command contains the command to be executed by the plugin such as init, create api, etc.
	Command string `json:"command"`

	// Universe represents the modified file contents that gets updated over a series of plugin runs
	// across the plugin chain. Initially, it starts out as empty.
	Universe map[string]string `json:"universe"`
}

PluginRequest contains all information kubebuilder received from the CLI and plugins executed before it.

type PluginResponse

type PluginResponse struct {
	// APIVersion defines the versioned schema of the PluginResponse that is back sent back to Kubebuilder.
	// Initially, this will be marked as alpha (v1alpha1)
	APIVersion string `json:"apiVersion"`

	// Command holds the command that gets executed by the plugin such as init, create api, etc.
	Command string `json:"command"`

	// Metadata contains the plugin specific help text that the plugin returns to Kubebuilder when it receives
	// `--help` flag from Kubebuilder.
	Metadata plugin.SubcommandMetadata `json:"metadata"`

	// Universe in the PluginResponse represents the updated file contents that was written by the plugin.
	Universe map[string]string `json:"universe"`

	// Error is a boolean type that indicates whether there were any errors due to plugin failures.
	Error bool `json:"error,omitempty"`

	// ErrorMsgs contains the specific error messages of the plugin failures.
	ErrorMsgs []string `json:"errorMsgs,omitempty"`

	// Flags contains the plugin specific flags that the plugin returns to Kubebuilder when it receives
	// a request for a list of supported flags from Kubebuilder
	Flags []Flag `json:"flags,omitempty"`
}

PluginResponse is returned to kubebuilder by the plugin and contains all files written by the plugin following a certain command.

Jump to

Keyboard shortcuts

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