Documentation
¶
Index ¶
- func Bool(b bool) *bool
- func BoolDeref(ptr *bool, def bool) bool
- type BindingAction
- type FilterFunc
- type FilterResult
- type GoHook
- type HookBindingContext
- type HookConfig
- type HookConfigSettings
- type HookInput
- type HookMetadata
- type KubernetesConfig
- type MetricsCollector
- type ObjectPatcher
- type OrderedConfig
- type PatchableValues
- func (p *PatchableValues) ArrayCount(path string) (int, error)
- func (p *PatchableValues) Exists(path string) bool
- func (p *PatchableValues) Get(path string) gjson.Result
- func (p *PatchableValues) GetOk(path string) (gjson.Result, bool)
- func (p *PatchableValues) GetPatches() []*utils.ValuesPatchOperation
- func (p *PatchableValues) GetRaw(path string) interface{}
- func (p *PatchableValues) Remove(path string)
- func (p *PatchableValues) Set(path string, value interface{})
- type ScheduleConfig
- type Snapshots
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BindingAction ¶
type FilterFunc ¶
type FilterFunc func(*unstructured.Unstructured) (FilterResult, error)
type FilterResult ¶
type FilterResult interface{}
type GoHook ¶
type GoHook interface { Config() *HookConfig Run(input *HookInput) error }
type HookBindingContext ¶
type HookBindingContext struct { // Type of binding context: [Event, Synchronization, Group, Schedule] Type string // Binding is a related binding name. Binding string // Snapshots contain all objects for all bindings. Snapshots map[string][]types.ObjectAndFilterResult }
type HookConfig ¶
type HookConfig struct { Schedule []ScheduleConfig Kubernetes []KubernetesConfig OnStartup *OrderedConfig OnBeforeHelm *OrderedConfig OnAfterHelm *OrderedConfig OnAfterDeleteHelm *OrderedConfig OnBeforeAll *OrderedConfig OnAfterAll *OrderedConfig AllowFailure bool Queue string Settings *HookConfigSettings }
type HookConfigSettings ¶
type HookInput ¶
type HookInput struct { Snapshots Snapshots Values *PatchableValues ConfigValues *PatchableValues MetricsCollector MetricsCollector PatchCollector *object_patch.PatchCollector LogEntry *logrus.Entry BindingActions *[]BindingAction }
func (HookInput) ObjectPatcher ¶
func (hi HookInput) ObjectPatcher() ObjectPatcher
Deprecated. Use methods from PatchCollector property.
type HookMetadata ¶
type KubernetesConfig ¶
type KubernetesConfig struct { // Name is a key in snapshots map. Name string // ApiVersion of objects. "v1" is used if not set. ApiVersion string // Kind of objects. Kind string // NameSelector used to subscribe on object by its name. NameSelector *types.NameSelector // NamespaceSelector used to subscribe on objects in namespaces. NamespaceSelector *types.NamespaceSelector // LabelSelector used to subscribe on objects by matching their labels. LabelSelector *v1.LabelSelector // FieldSelector used to subscribe on objects by matching specific fields (the list of fields is narrow, see shell-operator documentation). FieldSelector *types.FieldSelector // ExecuteHookOnEvents is true by default. Set to false if only snapshot update is needed. ExecuteHookOnEvents *bool // ExecuteHookOnSynchronization is true by default. Set to false if only snapshot update is needed. ExecuteHookOnSynchronization *bool // WaitForSynchronization is true by default. Set to false if beforeHelm is not required this snapshot on start. WaitForSynchronization *bool // FilterFunc used to filter object content for snapshot. Addon-operator use checksum of this filtered result to ignore irrelevant events. FilterFunc FilterFunc }
type MetricsCollector ¶
type MetricsCollector interface { // Inc increments the specified Counter metric Inc(name string, labels map[string]string, opts ...metrics.Option) // Add adds custom value for the specified Counter metric Add(name string, value float64, labels map[string]string, opts ...metrics.Option) // Set specifies the custom value for the Gauge metric Set(name string, value float64, labels map[string]string, opts ...metrics.Option) // Expire marks metric's group as expired Expire(group string) }
MetricsCollector collects metric's records for exporting them as a batch
type ObjectPatcher ¶
type ObjectPatcher interface { CreateObject(object *unstructured.Unstructured, subresource string) error CreateOrUpdateObject(object *unstructured.Unstructured, subresource string) error FilterObject(filterFunc func(*unstructured.Unstructured) (*unstructured.Unstructured, error), apiVersion, kind, namespace, name, subresource string) error MergePatchObject(mergePatch []byte, apiVersion, kind, namespace, name, subresource string) error JSONPatchObject(jsonPatch []byte, apiVersion, kind, namespace, name, subresource string) error DeleteObject(apiVersion, kind, namespace, name, subresource string) error DeleteObjectInBackground(apiVersion, kind, namespace, name, subresource string) error DeleteObjectNonCascading(apiVersion, kind, namespace, name, subresource string) error }
TODO delete after refactor hooks to use PatchCollector directly.
type OrderedConfig ¶
type OrderedConfig struct {
Order float64
}
type PatchableValues ¶
type PatchableValues struct {
// contains filtered or unexported fields
}
func NewPatchableValues ¶
func NewPatchableValues(values map[string]interface{}) (*PatchableValues, error)
func (*PatchableValues) ArrayCount ¶
func (p *PatchableValues) ArrayCount(path string) (int, error)
ArrayCount counts the number of elements in a JSON array at a path
func (*PatchableValues) Exists ¶
func (p *PatchableValues) Exists(path string) bool
Exists checks whether a path exists
func (*PatchableValues) Get ¶
func (p *PatchableValues) Get(path string) gjson.Result
Get value from patchable. It could be null value
func (*PatchableValues) GetOk ¶
func (p *PatchableValues) GetOk(path string) (gjson.Result, bool)
GetOk returns value and `exists` flag
func (*PatchableValues) GetPatches ¶
func (p *PatchableValues) GetPatches() []*utils.ValuesPatchOperation
func (*PatchableValues) GetRaw ¶
func (p *PatchableValues) GetRaw(path string) interface{}
GetRaw get empty interface
func (*PatchableValues) Remove ¶
func (p *PatchableValues) Remove(path string)
func (*PatchableValues) Set ¶
func (p *PatchableValues) Set(path string, value interface{})
type ScheduleConfig ¶
type Snapshots ¶
type Snapshots map[string][]FilterResult
Click to show internal directories.
Click to hide internal directories.