Documentation
¶
Index ¶
- Constants
- Variables
- func GetGVK(gvr runtime.RawExtension) (*schema.GroupVersionKind, error)
- func GetIdxName(idxName string) (string, int)
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type Block
- type ConditionExpression
- type ControllerConfig
- func (in *ControllerConfig) DeepCopy() *ControllerConfig
- func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig)
- func (in *ControllerConfig) DeepCopyObject() runtime.Object
- func (r *ControllerConfig) GetForGvk() ([]*schema.GroupVersionKind, error)
- func (r *ControllerConfig) GetOwnGvks() ([]*schema.GroupVersionKind, error)
- func (r *ControllerConfig) GetPipeline(s string) *Pipeline
- func (r *ControllerConfig) GetRootVertexName() string
- func (r *ControllerConfig) GetWatchGvks() ([]*schema.GroupVersionKind, error)
- type ControllerConfigList
- type Executor
- type Function
- type FunctionElement
- type FunctionType
- type GvkObject
- type Input
- type Output
- type Pipeline
- type Properties
- type RangeValue
- type Spec
- type Status
Constants ¶
const ( // Group in the kubernetes api Group = "lcnc.yndd.io" // Version in the kubernetes api Version = "v1" )
const ( ControllerConfigKind = "ControllerConfig" ControllerConfigListKind = "ControllerConfigList" ControllerConfigSingular = "controllerconfig" ControllerConfigPlural = "controllerconfigs" ControllerConfigShortName = "ccfg" )
Variables ¶
var ( GroupVersion = schema.GroupVersion{Group: Group, Version: Version} ResourceContextGroupKind = schema.GroupKind{Group: Group, Kind: ControllerConfigKind}.String() ResourceContextKindAPIVersion = ControllerConfigKind + "." + GroupVersion.String() ResourceContextGroupVersionKind = GroupVersion.WithKind(ControllerConfigKind) ControllerPkgRevLabelKey = strings.ToLower(ControllerConfigKind) + "/" + "PackageRevision" )
var AddToScheme = schemeBuilder.AddToScheme
Registers this API group and version to a scheme Note: Generator *requires* it to be called "AddToScheme"
var SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}
Functions ¶
func GetGVK ¶ added in v0.0.4
func GetGVK(gvr runtime.RawExtension) (*schema.GroupVersionKind, error)
func GetIdxName ¶ added in v0.0.4
func Kind ¶ added in v0.0.4
Takes an unqualified kind and returns a group-qualified GroupKind Note: Generator *requires* it to be called "Kind"
func Resource ¶ added in v0.0.4
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group-qualified GroupResource.
Types ¶
type Block ¶ added in v0.0.4
type Block struct {
Range *RangeValue `json:"range,omitempty" yaml:"range,omitempty"`
Condition *ConditionExpression `json:"condition,omitempty" yaml:"condition,omitempty"`
}
func (*Block) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Block.
func (*Block) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionExpression ¶ added in v0.0.4
type ConditionExpression struct {
Expression string `json:"expression" yaml:"expression"`
Block `json:",inline" yaml:",inline"`
}
func (*ConditionExpression) DeepCopy ¶ added in v0.0.4
func (in *ConditionExpression) DeepCopy() *ConditionExpression
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionExpression.
func (*ConditionExpression) DeepCopyInto ¶ added in v0.0.4
func (in *ConditionExpression) DeepCopyInto(out *ConditionExpression)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerConfig ¶
type ControllerConfig struct {
metav1.TypeMeta `json:",inline" yaml:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
Spec Spec `json:"spec,omitempty" yaml:"spec,omitempty"`
Status Status `json:"status,omitempty" yaml:"status,omitempty"`
}
ControllerConfig is the Schema for the ControllerConfig controller API +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status
func (*ControllerConfig) DeepCopy ¶ added in v0.0.4
func (in *ControllerConfig) DeepCopy() *ControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig.
func (*ControllerConfig) DeepCopyInto ¶ added in v0.0.4
func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControllerConfig) DeepCopyObject ¶ added in v0.0.4
func (in *ControllerConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ControllerConfig) GetForGvk ¶ added in v0.0.4
func (r *ControllerConfig) GetForGvk() ([]*schema.GroupVersionKind, error)
func (*ControllerConfig) GetOwnGvks ¶ added in v0.0.4
func (r *ControllerConfig) GetOwnGvks() ([]*schema.GroupVersionKind, error)
func (*ControllerConfig) GetPipeline ¶ added in v0.0.4
func (r *ControllerConfig) GetPipeline(s string) *Pipeline
func (*ControllerConfig) GetRootVertexName ¶ added in v0.0.4
func (r *ControllerConfig) GetRootVertexName() string
this function is assumed to be executed after validation validate check if the for is present
func (*ControllerConfig) GetWatchGvks ¶ added in v0.0.4
func (r *ControllerConfig) GetWatchGvks() ([]*schema.GroupVersionKind, error)
type ControllerConfigList ¶ added in v0.0.4
type ControllerConfigList struct {
metav1.TypeMeta `json:",inline" yaml:",inline"`
metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
Items []ControllerConfig `json:"items" yaml:"items"`
}
ControllerConfigList +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true
func (*ControllerConfigList) DeepCopy ¶ added in v0.0.4
func (in *ControllerConfigList) DeepCopy() *ControllerConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigList.
func (*ControllerConfigList) DeepCopyInto ¶ added in v0.0.4
func (in *ControllerConfigList) DeepCopyInto(out *ControllerConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControllerConfigList) DeepCopyObject ¶ added in v0.0.4
func (in *ControllerConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Executor ¶ added in v0.0.4
type Executor struct {
Image *string `json:"image,omitempty" yaml:"image,omitempty"`
Exec *string `json:"exec,omitempty" yaml:"exec,omitempty"`
}
func (*Executor) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Executor.
func (*Executor) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Function ¶
type Function struct {
Block `json:",inline" yaml:",inline"`
Executor `json:",inline" yaml:",inline"`
// Vars define the local variables in the function
// The Key respresents the local variable name
// The Value represents the jq expression
Vars map[string]string `json:"vars,omitempty" yaml:"vars,omitempty"`
Type FunctionType `json:"type,omitempty" yaml:"type,omitempty"`
Config string `json:"config,omitempty" yaml:"config,omitempty"`
// input is always a GVK of some sort
Input *Input `json:"input,omitempty" yaml:"input,omitempty"`
// key = variableName, value is gvr format or not -> gvr format is needed for external resources
Output map[string]*Output `json:"output,omitempty" yaml:"output,omitempty"`
DependsOn []string `json:"dependsOn,omitempty" yaml:"dependsOn,omitempty"`
}
func (*Function) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Function.
func (*Function) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FunctionElement ¶ added in v0.0.4
type FunctionElement struct {
Function `json:",inline" yaml:",inline"`
FunctionBlock map[string]*FunctionElement `json:"block,omitempty" yaml:"block,omitempty"`
}
func (*FunctionElement) DeepCopy ¶ added in v0.0.4
func (in *FunctionElement) DeepCopy() *FunctionElement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionElement.
func (*FunctionElement) DeepCopyInto ¶ added in v0.0.4
func (in *FunctionElement) DeepCopyInto(out *FunctionElement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FunctionType ¶ added in v0.0.4
type FunctionType string
const ( RootType FunctionType = "root" QueryType FunctionType = "query" SliceType FunctionType = "slice" MapType FunctionType = "map" JQType FunctionType = "jq" ContainerType FunctionType = "container" WasmType FunctionType = "wasm" GoTemplateType FunctionType = "gotemplate" BlockType FunctionType = "block" )
type GvkObject ¶ added in v0.0.4
type GvkObject struct {
Resource runtime.RawExtension `json:"resource,omitempty" yaml:"resource,omitempty"`
ApplyPipelineRef string `json:"applyPipelineRef,omitempty" yaml:"applyPipelineRef,omitempty"`
DeletePipelineRef string `json:"deletePipelineRef,omitempty" yaml:"deletePipelineRef,omitempty"`
}
func (*GvkObject) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GvkObject.
func (*GvkObject) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Input ¶ added in v0.0.4
type Input struct {
Selector *metav1.LabelSelector `json:"selector,omitempty" yaml:"selector,omitempty"`
Key string `json:"key,omitempty" yaml:"key,omitempty"`
Value string `json:"value,omitempty" yaml:"value,omitempty"`
GenericInput map[string]string `json:",inline" yaml:",inline"`
Expression string `json:"expression,omitempty" yaml:"expression,omitempty"`
Resource runtime.RawExtension `json:"resource,omitempty" yaml:"resource,omitempty"`
Template string `json:"template,omitempty" yaml:"template,omitempty"`
}
func (*Input) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Input.
func (*Input) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Output ¶ added in v0.0.4
type Output struct {
Internal bool `json:"internal" yaml:"internal"`
Resource runtime.RawExtension `json:"resource" yaml:"resource"`
}
func (*Output) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Output.
func (*Output) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pipeline ¶ added in v0.0.4
type Pipeline struct {
Name string `json:"name" yaml:"name"`
Vars map[string]*FunctionElement `json:"vars,omitempty" yaml:"vars,omitempty"`
Tasks map[string]*FunctionElement `json:"tasks,omitempty" yaml:"tasks,omitempty"`
}
func (*Pipeline) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pipeline.
func (*Pipeline) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Properties ¶ added in v0.0.4
type Properties struct {
// key represents the variable
For map[string]*GvkObject `json:"for" yaml:"for"`
// key represents the variable
Own map[string]*GvkObject `json:"own,omitempty" yaml:"own,omitempty"`
// key represents the variable
Watch map[string]*GvkObject `json:"watch,omitempty" yaml:"watch,omitempty"`
// key respresents the variable
//Functions map[string]ControllerConfigFunctionBlock `json:",inline" yaml:",inline"`
Pipelines []*Pipeline `json:"pipelines,omitempty" yaml:"pipelines,omitempty"`
}
func (*Properties) DeepCopy ¶ added in v0.0.4
func (in *Properties) DeepCopy() *Properties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Properties.
func (*Properties) DeepCopyInto ¶ added in v0.0.4
func (in *Properties) DeepCopyInto(out *Properties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RangeValue ¶ added in v0.0.4
type RangeValue struct {
Value string `json:"value" yaml:"value"`
Block `json:",inline" yaml:",inline"`
}
func (*RangeValue) DeepCopy ¶ added in v0.0.4
func (in *RangeValue) DeepCopy() *RangeValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeValue.
func (*RangeValue) DeepCopyInto ¶ added in v0.0.4
func (in *RangeValue) DeepCopyInto(out *RangeValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Spec ¶ added in v0.0.4
type Spec struct {
Properties *Properties `json:"properties,omitempty" yaml:"properties,omitempty"`
}
func (*Spec) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spec.
func (*Spec) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶ added in v0.0.4
type Status struct {
}
ResourceContextSpec defines the context of the resource of the controller
func (*Status) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.