kubernetes

package
v0.0.16 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2024 License: MIT Imports: 36 Imported by: 0

Documentation

Overview

Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Index

Constants

View Source
const (
	AgnhostHTTPPort = 80
	AgnhostReplicas = 1
)
View Source
const (
	KapingerHTTPPort  = 8080
	KapingerTCPPort   = 8085
	KapingerUDPPort   = 8086
	MaxAffinityWeight = 100
)
View Source
const (
	Egress  = "egress"
	Ingress = "ingress"
)
View Source
const (
	RetryTimeoutPodsReady  = 5 * time.Minute
	RetryIntervalPodsReady = 5 * time.Second
)
View Source
const ExecSubResources = "exec"

Variables

View Source
var (
	ErrUnknownResourceType = fmt.Errorf("unknown resource type")
	ErrCreateNilResource   = fmt.Errorf("cannot create nil resource")
)
View Source
var ErrDeleteNilResource = fmt.Errorf("cannot create nil resource")
View Source
var ErrLabelMissingFromPod = fmt.Errorf("label missing from pod")
View Source
var (
	ErrNoPodWithLabelFound = fmt.Errorf("no pod with label found with matching pod affinity")
)

Functions

func CreateResource

func CreateResource(ctx context.Context, obj runtime.Object, clientset *kubernetes.Clientset) error

func DeleteResource

func DeleteResource(ctx context.Context, obj runtime.Object, clientset *kubernetes.Clientset) error

func ExecPod

func ExecPod(ctx context.Context, kubeConfigFilePath, namespace, podName, command string) error

func GetPodIP added in v0.0.12

func GetPodIP(kubeConfigFilePath, namespace, podName string) (string, error)

func PrintPodLogs

func PrintPodLogs(kubeconfigpath, namespace, labelSelector string)

func TypeString

func TypeString(resourceType ResourceType) string

Parameters can only be strings, heres to help add guardrails

func WaitForPodReady

func WaitForPodReady(ctx context.Context, clientset *kubernetes.Clientset, namespace, labelSelector string) error

Types

type CreateAgnhostStatefulSet

type CreateAgnhostStatefulSet struct {
	AgnhostName        string
	AgnhostNamespace   string
	KubeConfigFilePath string
}

func (*CreateAgnhostStatefulSet) Prevalidate

func (c *CreateAgnhostStatefulSet) Prevalidate() error

func (*CreateAgnhostStatefulSet) Run

func (*CreateAgnhostStatefulSet) Stop

func (c *CreateAgnhostStatefulSet) Stop() error

type CreateDenyAllNetworkPolicy

type CreateDenyAllNetworkPolicy struct {
	NetworkPolicyNamespace string
	KubeConfigFilePath     string
	DenyAllLabelSelector   string
}

func (*CreateDenyAllNetworkPolicy) Prevalidate

func (c *CreateDenyAllNetworkPolicy) Prevalidate() error

func (*CreateDenyAllNetworkPolicy) Run

func (*CreateDenyAllNetworkPolicy) Stop

type CreateKapingerDeployment

type CreateKapingerDeployment struct {
	KapingerNamespace  string
	KapingerReplicas   string
	KubeConfigFilePath string
}

func (*CreateKapingerDeployment) GetKapingerClusterRole

func (c *CreateKapingerDeployment) GetKapingerClusterRole() *rbacv1.ClusterRole

func (*CreateKapingerDeployment) GetKapingerClusterRoleBinding

func (c *CreateKapingerDeployment) GetKapingerClusterRoleBinding() *rbacv1.ClusterRoleBinding

func (*CreateKapingerDeployment) GetKapingerDeployment

func (c *CreateKapingerDeployment) GetKapingerDeployment() *appsv1.Deployment

func (*CreateKapingerDeployment) GetKapingerService

func (c *CreateKapingerDeployment) GetKapingerService() *v1.Service

func (*CreateKapingerDeployment) GetKapingerServiceAccount

func (c *CreateKapingerDeployment) GetKapingerServiceAccount() *v1.ServiceAccount

func (*CreateKapingerDeployment) Prevalidate

func (c *CreateKapingerDeployment) Prevalidate() error

func (*CreateKapingerDeployment) Run

func (*CreateKapingerDeployment) Stop

func (c *CreateKapingerDeployment) Stop() error

type DeleteDenyAllNetworkPolicy

type DeleteDenyAllNetworkPolicy struct {
	NetworkPolicyNamespace string
	KubeConfigFilePath     string
	DenyAllLabelSelector   string
}

func (*DeleteDenyAllNetworkPolicy) Prevalidate

func (d *DeleteDenyAllNetworkPolicy) Prevalidate() error

func (*DeleteDenyAllNetworkPolicy) Run

type DeleteKubernetesResource

type DeleteKubernetesResource struct {
	ResourceType       string // can't use enum, breaks parameter parsing, all must be strings
	ResourceName       string
	ResourceNamespace  string
	KubeConfigFilePath string
}

func (*DeleteKubernetesResource) Prevalidate

func (d *DeleteKubernetesResource) Prevalidate() error

func (*DeleteKubernetesResource) Run

func (*DeleteKubernetesResource) Stop

func (d *DeleteKubernetesResource) Stop() error

type ExecInPod

type ExecInPod struct {
	PodNamespace       string
	KubeConfigFilePath string
	PodName            string
	Command            string
}

func (*ExecInPod) Prevalidate

func (e *ExecInPod) Prevalidate() error

func (*ExecInPod) Run

func (e *ExecInPod) Run() error

func (*ExecInPod) Stop

func (e *ExecInPod) Stop() error

type InstallHelmChart

type InstallHelmChart struct {
	Namespace          string
	ReleaseName        string
	KubeConfigFilePath string
	ChartPath          string
	TagEnv             string
}

func (*InstallHelmChart) Prevalidate

func (i *InstallHelmChart) Prevalidate() error

func (*InstallHelmChart) Run

func (i *InstallHelmChart) Run() error

func (*InstallHelmChart) Stop

func (i *InstallHelmChart) Stop() error

type PortForward

type PortForward struct {
	Namespace             string
	LabelSelector         string
	LocalPort             string
	RemotePort            string
	Endpoint              string
	KubeConfigFilePath    string
	OptionalLabelAffinity string
	// contains filtered or unexported fields
}

func (*PortForward) Prevalidate

func (p *PortForward) Prevalidate() error

func (*PortForward) Run

func (p *PortForward) Run() error

func (*PortForward) Stop

func (p *PortForward) Stop() error

type PortForwarder

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

PortForwarder can manage a port forwarding session.

func NewPortForwarder

func NewPortForwarder(restConfig *rest.Config, logger logger, opts PortForwardingOpts) (*PortForwarder, error)

NewPortForwarder creates a PortForwarder.

func (*PortForwarder) Address

func (p *PortForwarder) Address() string

Address returns an address for communicating with a port-forwarded pod.

func (*PortForwarder) Forward

func (p *PortForwarder) Forward(ctx context.Context) error

func (*PortForwarder) KeepAlive

func (p *PortForwarder) KeepAlive(ctx context.Context)

KeepAlive can be used to restart the port forwarding session in the background.

func (*PortForwarder) Stop

func (p *PortForwarder) Stop()

Stop terminates a port forwarding session.

type PortForwardingOpts

type PortForwardingOpts struct {
	Namespace     string
	LabelSelector string
	PodName       string
	LocalPort     int
	DestPort      int
}

type ResourceType

type ResourceType string
const (
	DaemonSet          ResourceType = "DaemonSet"
	Deployment         ResourceType = "Deployment"
	StatefulSet        ResourceType = "StatefulSet"
	Service            ResourceType = "Service"
	ServiceAccount     ResourceType = "ServiceAccount"
	Role               ResourceType = "Role"
	RoleBinding        ResourceType = "RoleBinding"
	ClusterRole        ResourceType = "ClusterRole"
	ClusterRoleBinding ResourceType = "ClusterRoleBinding"
	ConfigMap          ResourceType = "ConfigMap"
	NetworkPolicy      ResourceType = "NetworkPolicy"
	Secret             ResourceType = "Secret"
	Unknown            ResourceType = "Unknown"
)

type UpgradeRetinaHelmChart added in v0.0.12

type UpgradeRetinaHelmChart struct {
	Namespace          string
	ReleaseName        string
	KubeConfigFilePath string
	ChartPath          string
	TagEnv             string
	ValuesFile         string
}

func (*UpgradeRetinaHelmChart) Prevalidate added in v0.0.12

func (u *UpgradeRetinaHelmChart) Prevalidate() error

func (*UpgradeRetinaHelmChart) Run added in v0.0.12

func (u *UpgradeRetinaHelmChart) Run() error

func (*UpgradeRetinaHelmChart) Stop added in v0.0.12

func (u *UpgradeRetinaHelmChart) Stop() error

Jump to

Keyboard shortcuts

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