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 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 runs hook on module/global startup
// Attention! During the startup you don't have snapshots available
// use native KubeClient to fetch resources
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
}
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 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.