kube

package
v0.38.0 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2023 License: MPL-2.0 Imports: 25 Imported by: 14

Documentation

Index

Constants

View Source
const FluxNamespace = "flux-system"
View Source
const WeGOCRDName = "apps.wego.weave.works"
View Source
const (
	WegoConfigMapName = "weave-gitops-config"
)

Variables

View Source
var ErrNamespaceNotFound = errors.New("namespace not found")
View Source
var (
	// ErrWegoConfigNotFound indicates weave gitops config could not be found
	ErrWegoConfigNotFound = errors.New("Wego Config not found")
)
View Source
var InClusterConfig func() (*rest.Config, error) = rest.InClusterConfig

InClusterConfig defines a function for checking if this code is executing in kubernetes. This can be overriden if needed.

Functions

func ConfigWithPrincipal added in v0.15.0

func ConfigWithPrincipal(user *auth.UserPrincipal, config *rest.Config, userPrefixes UserPrefixes) *rest.Config

ConfigWithPrincipal returns a new config with the principal set as the impersonated user or bearer token.

func CreateScheme added in v0.2.0

func CreateScheme() (*apiruntime.Scheme, error)

func InClusterConfigClusterName added in v0.7.0

func InClusterConfigClusterName() string

func RestConfig added in v0.3.2

func RestConfig() (*rest.Config, string, error)

Types

type ClientGetter added in v0.7.0

type ClientGetter interface {
	Client(ctx context.Context) (client.Client, error)
}

ClientGetter implementations should create a Kubernetes client from a context.

func NewDefaultClientGetter added in v0.7.0

func NewDefaultClientGetter(configGetter ConfigGetter, clusterName string, schemeBuilder ...func(*runtime.Scheme) error) ClientGetter

NewDefaultClientGetter creates a new DefaultClientGetter

type ClusterConfig added in v0.7.0

type ClusterConfig struct {
	DefaultConfig *rest.Config
	ClusterName   string
}

ClusterConfig is used to hold the default *rest.Config and the cluster name.

type ConfigGetter added in v0.7.0

type ConfigGetter interface {
	Config(ctx context.Context) *rest.Config
}

ConfigGetter implementations should extract the details from a context and create a *rest.Config for use in clients.

type DefaultClientGetter added in v0.7.0

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

DefaultClientGetter implements the ClientGetter interface and uses a ConfigGetter to get a *rest.Config and create a Kubernetes client.

func (*DefaultClientGetter) Client added in v0.7.0

Client creates a new Kubernetes client using the *rest.Config returned from its ConfigGetter.

type ImpersonatingConfigGetter added in v0.7.0

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

ImpersonatingConfigGetter is an implementation of the ConfigGetter interface that returns configs based on a base one. It inspects the context for a principal and if it finds one, it configures the *rest.Config to impersonate that principal. Otherwise it returns a copy of the base config.

func NewImpersonatingConfigGetter added in v0.7.0

func NewImpersonatingConfigGetter(cfg *rest.Config, insecure bool, userPrefixes UserPrefixes) *ImpersonatingConfigGetter

NewImpersonatingConfigGetter creates and returns a ConfigGetter with a known config.

func (*ImpersonatingConfigGetter) Config added in v0.7.0

Config returns a *rest.Config configured to impersonate a user or use the default service account credentials.

type KubeHTTP added in v0.2.0

type KubeHTTP struct {
	client.Client
	ClusterName string
}

This is a wrapper around the client.Client to provide extra information specifically designed to query the K8s API directly instead of relying on `kubectl` to be present in the PATH.

func NewKubeHTTPClient added in v0.2.0

func NewKubeHTTPClient() (*KubeHTTP, error)

func NewKubeHTTPClientWithConfig added in v0.4.1

func NewKubeHTTPClientWithConfig(config *rest.Config, contextName string, additionalSchemes ...func(*apiruntime.Scheme) error) (*KubeHTTP, error)

type Resource added in v0.2.1

type Resource interface {
	client.Object
}

type UserPrefixes added in v0.22.0

type UserPrefixes struct {
	UsernamePrefix string
	GroupsPrefix   string
}

UserPrefixes contains the prefixes for the user and groups that will be used when impersonating a user.

type WegoConfig added in v0.6.0

type WegoConfig struct {
	FluxNamespace string
	WegoNamespace string
	ConfigRepo    string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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