kube

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrJobExecutionFailed = errors.ErrInternal.WithMsgf("job execution failed")
	ErrJobCreationFailed  = errors.ErrInternal.WithMsgf("job creation failed")
	ErrJobNotFound        = errors.ErrNotFound.WithMsgf("job not found")
)

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(config Config) *Client

func (Client) GetPodDetails added in v0.1.3

func (c Client) GetPodDetails(ctx context.Context, namespace string, labelSelectors map[string]string) ([]Pod, error)

func (Client) RunJob

func (c Client) RunJob(ctx context.Context, namespace, name string, image string, cmd []string, retries int32) error

func (Client) StreamLogs

func (c Client) StreamLogs(ctx context.Context, namespace string, filter map[string]string) (<-chan LogChunk, error)

type Config

type Config struct {
	// Host - The hostname (in form of URI) of Kubernetes master.
	Host string `json:"host"`

	Timeout time.Duration `json:"timeout" default:"100ms"`

	// Token - Token to authenticate a service account
	Token string `json:"token"`

	// Insecure - Whether server should be accessed without verifying the TLS certificate.
	Insecure bool `json:"insecure" default:"false"`

	// ClientKey - PEM-encoded client key for TLS authentication.
	ClientKey string `json:"client_key"`

	// ClientCertificate - PEM-encoded client certificate for TLS authentication.
	ClientCertificate string `json:"client_certificate"`

	// ClusterCACertificate - PEM-encoded root certificates bundle for TLS authentication.
	ClusterCACertificate string `json:"cluster_ca_certificate"`
}

func DefaultClientConfig

func DefaultClientConfig() Config

func (Config) RESTConfig

func (conf Config) RESTConfig() *rest.Config

func (Config) StreamingConfig

func (conf Config) StreamingConfig() *rest.Config

type LogChunk

type LogChunk struct {
	Data   []byte
	Labels map[string]string
}

type LogOptions added in v0.1.3

type LogOptions struct {
	App          string `mapstructure:"app"`
	Pod          string `mapstructure:"pod"`
	Container    string `mapstructure:"container"`
	Follow       string `mapstructure:"follow"`
	Previous     string `mapstructure:"previous"`
	SinceSeconds string `mapstructure:"since_seconds"`
	Timestamps   string `mapstructure:"timestamps"`
	TailLines    string `mapstructure:"tail_lines"`
}

type Pod added in v0.1.3

type Pod struct {
	Name       string   `json:"name"`
	Containers []string `json:"containers"`
}

Jump to

Keyboard shortcuts

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