k8sconfig

package module
v0.103.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateRestConfig

func CreateRestConfig(apiConf APIConfig) (*rest.Config, error)

CreateRestConfig creates an Kubernetes API config from user configuration.

func MakeClient

func MakeClient(apiConf APIConfig) (k8s.Interface, error)

MakeClient can take configuration if needed for other types of auth

func MakeDynamicClient

func MakeDynamicClient(apiConf APIConfig) (dynamic.Interface, error)

MakeDynamicClient can take configuration if needed for other types of auth

func MakeOpenShiftQuotaClient

func MakeOpenShiftQuotaClient(apiConf APIConfig) (quotaclientset.Interface, error)

MakeOpenShiftQuotaClient can take configuration if needed for other types of auth and return an OpenShift quota API client

func NewNodeSharedInformer

func NewNodeSharedInformer(client k8s.Interface, nodeName string, watchSyncPeriod time.Duration) cache.SharedInformer

Types

type APIConfig

type APIConfig struct {
	// How to authenticate to the K8s API server.  This can be one of `none`
	// (for no auth), `serviceAccount` (to use the standard service account
	// token provided to the agent pod), or `kubeConfig` to use credentials
	// from `~/.kube/config`.
	AuthType AuthType `mapstructure:"auth_type"`

	// When using auth_type `kubeConfig`, override default kubeConfig with custom path
	KubeConfigPath string `mapstructure:"kube_config_path"`

	// When using auth_type `kubeConfig`, override the current context.
	Context string `mapstructure:"context"`
}

APIConfig contains options relevant to connecting to the K8s API

func (APIConfig) Validate

func (c APIConfig) Validate() error

Validate validates the K8s API config

type AuthType

type AuthType string

AuthType describes the type of authentication to use for the K8s API

const (
	// AuthTypeNone means no auth is required
	AuthTypeNone AuthType = "none"
	// AuthTypeServiceAccount means to use the built-in service account that
	// K8s automatically provisions for each pod.
	AuthTypeServiceAccount AuthType = "serviceAccount"
	// AuthTypeKubeConfig uses local credentials like those used by kubectl.
	AuthTypeKubeConfig AuthType = "kubeConfig"
	// AuthTypeTLS indicates that client TLS auth is desired
	AuthTypeTLS AuthType = "tls"
)

TODO: Add option for TLS once https://go.opentelemetry.io/collector/issues/933 is addressed.

Jump to

Keyboard shortcuts

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