Documentation ¶
Index ¶
- Constants
- func DenyTweak(options *metav1.ListOptions, field string, valueSet map[string]struct{})
- func IdenticalNamespaces(a, b map[string]struct{}) bool
- func IsAllNamespaces(namespaces map[string]struct{}) bool
- func NewNamespaceListWatchFromClient(ctx context.Context, l *slog.Logger, k8sVersion semver.Version, ...) (cache.ListerWatcher, bool, error)
- func TweakByLabel(options *metav1.ListOptions, label string, filter FilterType, ...)
- type FilterType
Constants ¶
const ( IncludeFilterType = "Include" ExcludeFilterType = "Exclude" )
Variables ¶
This section is empty.
Functions ¶
func DenyTweak ¶
func DenyTweak(options *metav1.ListOptions, field string, valueSet map[string]struct{})
DenyTweak modifies the given list options by adding a field selector *not* matching the given values.
func IdenticalNamespaces ¶
IdenticalNamespaces returns true if a and b are identical.
func IsAllNamespaces ¶
IsAllNamespaces checks if the given map of namespaces contains only v1.NamespaceAll.
func NewNamespaceListWatchFromClient ¶
func NewNamespaceListWatchFromClient( ctx context.Context, l *slog.Logger, k8sVersion semver.Version, corev1Client corev1.CoreV1Interface, ssarClient authv1.SelfSubjectAccessReviewInterface, allowedNamespaces, deniedNamespaces map[string]struct{}, ) (cache.ListerWatcher, bool, error)
NewNamespaceListWatchFromClient mimics cache.NewListWatchFromClient. It allows for the creation of a cache.ListWatch for namespaces from a client that does not have `List` privileges. If the slice of namespaces contains only v1.NamespaceAll, then this func assumes that the client has List and Watch privileges and returns a regular cache.ListWatch, since there is no other way to get all namespaces.
The allowed namespaces and denied namespaces are mutually exclusive.
If allowed namespaces contain multiple items, the given denied namespaces have no effect.
If the allowed namespaces includes exactly one entry with the value v1.NamespaceAll (empty string), the given denied namespaces are applied.
func TweakByLabel ¶
func TweakByLabel(options *metav1.ListOptions, label string, filter FilterType, valueSet map[string]struct{})
TweakByLabel modifies the given list options by adding a label selector matching/excluding the given values.
Types ¶
type FilterType ¶
type FilterType string