Documentation ¶
Index ¶
- Constants
- func Apply(ctx context.Context, obj Object, changedBy, changeReason string, ...) (runtime.Object, error)
- func Client(ctx context.Context, gvk schema.GroupVersionKind, namespace string) (dynamic.ResourceInterface, bool, error)
- func ClientForObject(ctx context.Context, obj runtime.Object, namespace string) (dynamic.ResourceInterface, schema.GroupVersionKind, bool, error)
- func Delete(ctx context.Context, gvk schema.GroupVersionKind, namespace string, ...) error
- func DeleteObject(ctx context.Context, obj Object) error
- func DspLabel(name string) string
- func Get(ctx context.Context, gvk schema.GroupVersionKind, namespace string, ...) (runtime.Object, error)
- func GetObject(ctx context.Context, obj Object) error
- func GroupVersionKindForObject(obj runtime.Object) (schema.GroupVersionKind, error)
- func IsDspLabel(label string) bool
- func IsPvcResizingError(err error) bool
- func NewK8sObject[TObj Object]() TObj
- func NewSharedIndexInformer[TObj Object](ctx context.Context, newLw NewListWatcherFunc, resyncPeriod time.Duration, ...) (cache.SharedIndexInformer, error)
- func StartAndSyncInformer(ctx context.Context, informer cache.SharedIndexInformer) bool
- func Watch(ctx context.Context, gvk schema.GroupVersionKind, namespace string, ...) (watch.Interface, error)
- type NewListWatcherFunc
- type Object
- type PodReference
Constants ¶
const DspKubernetesLabelDomain = "tiki-dsp.io"
const DspKubernetesLabelPrefix = DspKubernetesLabelDomain + "/"
const DspNamespaceEnv = "DSP_NAMESPACE"
const DspPodEnv = "DSP_POD"
Variables ¶
This section is empty.
Functions ¶
func Client ¶
func Client(ctx context.Context, gvk schema.GroupVersionKind, namespace string) (dynamic.ResourceInterface, bool, error)
func ClientForObject ¶
func GroupVersionKindForObject ¶
func GroupVersionKindForObject(obj runtime.Object) (schema.GroupVersionKind, error)
func IsDspLabel ¶ added in v2.7.0
func IsPvcResizingError ¶ added in v2.0.17
func NewK8sObject ¶ added in v2.10.0
func NewK8sObject[TObj Object]() TObj
func NewSharedIndexInformer ¶ added in v2.10.0
func NewSharedIndexInformer[TObj Object](ctx context.Context, newLw NewListWatcherFunc, resyncPeriod time.Duration, indexers cache.Indexers) (cache.SharedIndexInformer, error)
NewSharedIndexInformer create a new SharedIndexInformer with given <resyncPeriod> and <indexers>. The NewListWatcherFunc will be called with a NamespaceableResourceInterface for the GroupVersionResource that was resolved for <TObj>.
If <newLw> is nil, a default list watcher for all namespaces with no list option modifications will be used.
If <indexers> is nil, a default indexer indexing by 'namespace': <namespace> will be used.
func StartAndSyncInformer ¶ added in v2.10.0
func StartAndSyncInformer(ctx context.Context, informer cache.SharedIndexInformer) bool
StartAndSyncInformer starts the informer in a goroutine and waits until the initial cache sync is done. it returns a boolean that signals if the cache sync was successful.
Both the informer and the cache sync can be stopped by cancelling the provided context.
Types ¶
type NewListWatcherFunc ¶ added in v2.10.0
type NewListWatcherFunc func(resourceInterface dynamic.NamespaceableResourceInterface) cache.ListerWatcher
func NewFilteredListWatcherFunc ¶ added in v2.10.0
func NewFilteredListWatcherFunc(ctx context.Context, namespace string, optionsModifier dynamicinformer.TweakListOptionsFunc) NewListWatcherFunc
NewFilteredListWatcherFunc creates a NewListWatcherFunc with the specified <ctx> and <namespace>.
If the optionsModifier is not nil, it will be applied to the ListOptions passed to the ListFunc and WatchFunc before calling List and Watch.
type PodReference ¶
func GetCurrentPodReference ¶
func GetCurrentPodReference() (*PodReference, error)