kube

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2021 License: MPL-2.0 Imports: 22 Imported by: 14

Documentation

Index

Constants

View Source
const FluxNamespace = "flux-system"
View Source
const WeGOCRDName = "apps.wego.weave.works"
View Source
const WeGONamespace = "wego-system"

Variables

This section is empty.

Functions

func CreateScheme added in v0.2.0

func CreateScheme() *apiruntime.Scheme

Types

type ClusterStatus

type ClusterStatus int
const (
	Unknown ClusterStatus = iota
	Unmodified
	FluxInstalled
	WeGOInstalled
)

func (ClusterStatus) String

func (cs ClusterStatus) String() string

Function to translate ClusterStatus to a string

type Kube

type Kube interface {
	Apply(manifests []byte, namespace string) ([]byte, error)
	Delete(manifests []byte, namespace string) ([]byte, error)
	SecretPresent(ctx context.Context, string, namespace string) (bool, error)
	GetApplications(ctx context.Context, namespace string) ([]wego.Application, error)
	FluxPresent(ctx context.Context) (bool, error)
	GetClusterName(ctx context.Context) (string, error)
	GetClusterStatus(ctx context.Context) ClusterStatus
	LabelExistsInCluster(ctx context.Context, label string) error
	GetApplication(ctx context.Context, name types.NamespacedName) (*wego.Application, error)
	GetResource(ctx context.Context, name types.NamespacedName, resource Resource) error
}

func NewKubeHTTPClient added in v0.2.0

func NewKubeHTTPClient() (Kube, error)

type KubeClient

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

func New

func New(cliRunner runner.Runner) *KubeClient

func (*KubeClient) Apply

func (k *KubeClient) Apply(manifests []byte, namespace string) ([]byte, error)

func (*KubeClient) Delete

func (k *KubeClient) Delete(manifests []byte, namespace string) ([]byte, error)

func (*KubeClient) FluxPresent

func (k *KubeClient) FluxPresent(ctx context.Context) (bool, error)

FluxPresent checks flux presence in the cluster

func (*KubeClient) GetApplication

func (k *KubeClient) GetApplication(ctx context.Context, name types.NamespacedName) (*wego.Application, error)

func (*KubeClient) GetApplications added in v0.2.0

func (k *KubeClient) GetApplications(ctx context.Context, ns string) ([]wego.Application, error)

func (*KubeClient) GetClusterName

func (k *KubeClient) GetClusterName(ctx context.Context) (string, error)

func (*KubeClient) GetClusterStatus

func (k *KubeClient) GetClusterStatus(ctx context.Context) ClusterStatus

func (*KubeClient) GetResource added in v0.2.1

func (k *KubeClient) GetResource(ctx context.Context, name types.NamespacedName, resource Resource) error

func (*KubeClient) LabelExistsInCluster added in v0.2.0

func (k *KubeClient) LabelExistsInCluster(ctx context.Context, label string) error

func (*KubeClient) SecretPresent

func (k *KubeClient) SecretPresent(ctx context.Context, secretName, namespace string) (bool, error)

SecretPresent checks for a specific secret within a specified namespace

type KubeHTTP added in v0.2.0

type KubeHTTP struct {
	Client      client.Client
	ClusterName string
}

This is an alternative implementation of the kube.Kube interface, specifically designed to query the K8s API directly instead of relying on `kubectl` to be present in the PATH.

func (*KubeHTTP) Apply added in v0.2.0

func (c *KubeHTTP) Apply(manifests []byte, namespace string) ([]byte, error)

func (*KubeHTTP) Delete added in v0.2.0

func (c *KubeHTTP) Delete(manifests []byte, namespace string) ([]byte, error)

func (*KubeHTTP) FluxPresent added in v0.2.0

func (c *KubeHTTP) FluxPresent(ctx context.Context) (bool, error)

func (*KubeHTTP) GetApplication added in v0.2.0

func (c *KubeHTTP) GetApplication(ctx context.Context, name types.NamespacedName) (*wego.Application, error)

func (*KubeHTTP) GetApplications added in v0.2.0

func (c *KubeHTTP) GetApplications(ctx context.Context, namespace string) ([]wego.Application, error)

func (*KubeHTTP) GetClusterName added in v0.2.0

func (c *KubeHTTP) GetClusterName(ctx context.Context) (string, error)

func (*KubeHTTP) GetClusterStatus added in v0.2.0

func (c *KubeHTTP) GetClusterStatus(ctx context.Context) ClusterStatus

func (*KubeHTTP) GetResource added in v0.2.1

func (c *KubeHTTP) GetResource(ctx context.Context, name types.NamespacedName, resource Resource) error

func (*KubeHTTP) LabelExistsInCluster added in v0.2.0

func (c *KubeHTTP) LabelExistsInCluster(ctx context.Context, label string) error

func (*KubeHTTP) SecretPresent added in v0.2.0

func (c *KubeHTTP) SecretPresent(ctx context.Context, secretName string, namespace string) (bool, error)

type Resource added in v0.2.1

type Resource interface {
	metav1.Object
	runtime.Object
}

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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