Documentation ¶
Index ¶
Constants ¶
const (
APIVersion = "kudo.dev/v1beta1"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Files ¶ added in v0.9.0
type Files struct { Templates Templates Operator *OperatorFile Params *ParamsFile }
Files represents the raw operator package format the way it is found in the tgz packages
type OperatorFile ¶ added in v0.9.0
type OperatorFile struct { APIVersion string `json:"apiVersion,omitempty"` Name string `json:"name"` Description string `json:"description,omitempty"` OperatorVersion string `json:"operatorVersion"` AppVersion string `json:"appVersion,omitempty"` KUDOVersion string `json:"kudoVersion,omitempty"` KubernetesVersion string `json:"kubernetesVersion,omitempty"` Maintainers []*kudoapi.Maintainer `json:"maintainers,omitempty"` URL string `json:"url,omitempty"` Tasks []kudoapi.Task `json:"tasks"` Plans map[string]kudoapi.Plan `json:"plans"` NamespaceManifest string `json:"namespaceManifest,omitempty"` }
OperatorFile is a representation of the package operator.yaml
type PackageScope ¶ added in v0.18.0
PackageScope type provides operator resources together with a "scope-aware" dependency resolver. For example, a dependency like `./child-operator` in an local directory needs the host system to be resolved, but when found in a tarball, it needs the contents of the tarball because the dependency is not allowed to "escape" into the host system.
type Parameter ¶ added in v0.9.0
type Parameter struct { DisplayName string `json:"displayName,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Required *bool `json:"required,omitempty"` Default interface{} `json:"default,omitempty"` Trigger string `json:"trigger,omitempty"` Type kudoapi.ParameterType `json:"type,omitempty"` Immutable *bool `json:"immutable,omitempty"` Enum *[]interface{} `json:"enum,omitempty"` // The following fields are descriptive only and are not used in the OperatorVersion. They are only used on the // package level and are not converted to the CRDs, as they are only used during installation of an operator and // are not necessary server-side. Group string `json:"group,omitempty"` Advanced *bool `json:"advanced,omitempty"` Hint string `json:"hint,omitempty"` }
Modified kudoapi.Parameter that allows for defaults provided as YAML.
func (*Parameter) EnumValues ¶ added in v0.17.0
func (p *Parameter) EnumValues() []interface{}
func (*Parameter) HasDefault ¶ added in v0.16.0
func (Parameter) IsAdvanced ¶ added in v0.17.0
func (Parameter) IsImmutable ¶ added in v0.16.0
func (Parameter) IsRequired ¶ added in v0.16.0
func (*Parameter) ValidateDefault ¶ added in v0.17.0
type Parameters ¶ added in v0.11.0
type Parameters []Parameter
func (Parameters) Len ¶ added in v0.11.0
func (p Parameters) Len() int
Len returns the number of params. This is needed to allow sorting of params.
func (Parameters) Less ¶ added in v0.11.0
func (p Parameters) Less(x, y int) bool
Less returns true if the name of a param a is less than the name of param b. This is needed to allow sorting of params.
func (Parameters) Swap ¶ added in v0.11.0
func (p Parameters) Swap(i, j int)
Swap swaps the position of two items in the params slice. This is needed to allow sorting of params.
type ParamsFile ¶ added in v0.9.0
type ParamsFile struct { APIVersion string `json:"apiVersion,omitempty"` Groups Groups `json:"groups,omitempty"` Parameters Parameters `json:"parameters"` }
ParamsFile is a representation of the package params.yaml
type Resolver ¶ added in v0.18.0
type Resolver interface {
Resolve(name string, appVersion string, operatorVersion string) (*PackageScope, error)
}
Resolver will try to resolve a given package name to either local tarball, folder, remote url or an operator in the remote repository.
type Resources ¶ added in v0.8.0
type Resources struct { Operator *kudoapi.Operator OperatorVersion *kudoapi.OperatorVersion Instance *kudoapi.Instance }
Resources is collection of CRDs that are used when installing operator during installation, package format is converted to this structure