k8s

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Overview

Package k8s provides datagatherers for different parts of the Kubernetes API.

Index

Constants

This section is empty.

Variables

View Source
var RedactFields = []FieldPath{
	{"metadata", "managedFields"},
	{"metadata", "annotations", "kubectl.kubernetes.io/last-applied-configuration"},
}

RedactFields are removed from all objects

View Source
var RouteSelectedFields = []FieldPath{
	{"kind"},
	{"apiVersion"},
	{"metadata", "annotations"},
	{"metadata", "name"},
	{"metadata", "namespace"},
	{"metadata", "ownerReferences"},
	{"metadata", "selfLink"},
	{"metadata", "uid"},

	{"spec", "host"},
	{"spec", "to", "kind"},
	{"spec", "to", "name"},
	{"spec", "to", "weight"},
	{"spec", "tls", "termination"},
	{"spec", "tls", "certificate"},
	{"spec", "tls", "caCertificate"},
	{"spec", "tls", "destinationCACertificate"},
	{"spec", "tls", "insecureEdgeTerminationPolicy"},
	{"spec", "wildcardPolicy"},
	{"status"},
}

RouteSelectedFields is the list of fields sent from OpenShift Route objects to the backend

View Source
var SecretSelectedFields = []FieldPath{
	{"kind"},
	{"apiVersion"},
	{"metadata", "annotations"},
	{"metadata", "labels"},
	{"metadata", "name"},
	{"metadata", "namespace"},
	{"metadata", "ownerReferences"},
	{"metadata", "selfLink"},
	{"metadata", "uid"},

	{"type"},
	{"data", "tls.crt"},
	{"data", "ca.crt"},
}

SecretSelectedFields is the list of fields sent from Secret objects to the backend

Functions

func NewClientSet added in v0.1.37

func NewClientSet(kubeconfigPath string) (kubernetes.Interface, error)

NewClientSet creates a new kubernetes clientset using the provided kubeconfig. If kubeconfigPath is not set/empty, it will attempt to load configuration using the default loading rules.

func NewDiscoveryClient added in v0.1.17

func NewDiscoveryClient(kubeconfigPath string) (*discovery.DiscoveryClient, error)

NewDiscoveryClient creates a new 'discovery' client using the provided kubeconfig. If kubeconfigPath is not set/empty, it will attempt to load configuration using the default loading rules.

func NewDynamicClient

func NewDynamicClient(kubeconfigPath string) (dynamic.Interface, error)

NewDynamicClient creates a new 'dynamic' clientset using the provided kubeconfig. If kubeconfigPath is not set/empty, it will attempt to load configuration using the default loading rules.

func Redact added in v0.1.23

func Redact(fields []FieldPath, resource *unstructured.Unstructured) error

Redact removes the supplied fields from the resource

func Select added in v0.1.23

func Select(fields []FieldPath, resource *unstructured.Unstructured) error

Select removes all but the supplied fields from the resource

Types

type ConfigDiscovery added in v0.1.17

type ConfigDiscovery struct {
	// KubeConfigPath is the path to the kubeconfig file. If empty, will assume it runs in-cluster.
	KubeConfigPath string `yaml:"kubeconfig"`
}

ConfigDiscovery contains the configuration for the k8s-discovery data-gatherer

func (*ConfigDiscovery) NewDataGatherer added in v0.1.17

func (c *ConfigDiscovery) NewDataGatherer(ctx context.Context) (datagatherer.DataGatherer, error)

NewDataGatherer constructs a new instance of the generic K8s data-gatherer for the provided GroupVersionResource.

func (*ConfigDiscovery) UnmarshalYAML added in v0.1.17

func (c *ConfigDiscovery) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML unmarshals the Config resolving GroupVersionResource.

type ConfigDynamic added in v0.1.17

type ConfigDynamic struct {
	// KubeConfigPath is the path to the kubeconfig file. If empty, will assume it runs in-cluster.
	KubeConfigPath string `yaml:"kubeconfig"`
	// GroupVersionResource identifies the resource type to gather.
	GroupVersionResource schema.GroupVersionResource
	// ExcludeNamespaces is a list of namespaces to exclude.
	ExcludeNamespaces []string `yaml:"exclude-namespaces"`
	// IncludeNamespaces is a list of namespaces to include.
	IncludeNamespaces []string `yaml:"include-namespaces"`
	// FieldSelectors is a list of field selectors to use when listing this resource
	FieldSelectors []string `yaml:"field-selectors"`
}

ConfigDynamic contains the configuration for the data-gatherer.

func (*ConfigDynamic) NewDataGatherer added in v0.1.17

func (c *ConfigDynamic) NewDataGatherer(ctx context.Context) (datagatherer.DataGatherer, error)

NewDataGatherer constructs a new instance of the generic K8s data-gatherer for the provided

func (*ConfigDynamic) UnmarshalYAML added in v0.1.17

func (c *ConfigDynamic) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML unmarshals the ConfigDynamic resolving GroupVersionResource.

type DataGathererDiscovery added in v0.1.17

type DataGathererDiscovery struct {
	// contains filtered or unexported fields
}

DataGathererDiscovery stores the config for a k8s-discovery datagatherer

func (*DataGathererDiscovery) Delete added in v0.1.29

func (g *DataGathererDiscovery) Delete() error

func (*DataGathererDiscovery) Fetch added in v0.1.17

func (g *DataGathererDiscovery) Fetch() (interface{}, int, error)

Fetch will fetch discovery data from the apiserver, or return an error

func (*DataGathererDiscovery) Run added in v0.1.29

func (g *DataGathererDiscovery) Run(stopCh <-chan struct{}) error

func (*DataGathererDiscovery) WaitForCacheSync added in v0.1.29

func (g *DataGathererDiscovery) WaitForCacheSync(stopCh <-chan struct{}) error

type DataGathererDynamic added in v0.1.17

type DataGathererDynamic struct {
	// contains filtered or unexported fields
}

DataGathererDynamic is a generic gatherer for Kubernetes. It knows how to request a list of generic resources from the Kubernetes apiserver. It does not deserialize the objects into structured data, instead utilising the Kubernetes `Unstructured` type for data handling. This is to allow us to support arbitrary CRDs and resources that Preflight does not have registered as part of its `runtime.Scheme`.

func (*DataGathererDynamic) Delete added in v0.1.29

func (g *DataGathererDynamic) Delete() error

Delete will flush the cache being used to stored resources gathered by the informer

func (*DataGathererDynamic) Fetch added in v0.1.17

func (g *DataGathererDynamic) Fetch() (interface{}, int, error)

Fetch will fetch the requested data from the apiserver, or return an error if fetching the data fails.

func (*DataGathererDynamic) Run added in v0.1.29

func (g *DataGathererDynamic) Run(stopCh <-chan struct{}) error

Run starts the dynamic data gatherer's informers for resource collection. Returns error if the data gatherer informer wasn't initialized, Run blocks until the stopCh is closed.

func (*DataGathererDynamic) WaitForCacheSync added in v0.1.29

func (g *DataGathererDynamic) WaitForCacheSync(stopCh <-chan struct{}) error

WaitForCacheSync waits for the data gatherer's informers cache to sync before collecting the resources.

type FieldPath added in v1.2.0

type FieldPath []string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL