v0.0.0-...-4fa46dd Latest Latest

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

Go to latest
Published: Jul 5, 2019 License: Apache-2.0 Imports: 18 Imported by: 0




View Source
const (
	RUNNING    = "running"
	WAITING    = "waiting"
	TERMINATED = "terminated"


This section is empty.


func Run

func Run(ctx context.Context, config *Config) error

Run starts the main run loop

func Watch

func Watch(ctx context.Context, i v1.PodInterface, podFilter *regexp.Regexp, containerFilter *regexp.Regexp, containerExcludeFilter *regexp.Regexp, containerState ContainerState, labelSelector labels.Selector) (chan *Target, chan *Target, error)

Watch starts listening to Kubernetes events and emits modified containers/pods. The first result is targets added, the second is targets removed


type Config

type Config struct {
	KubeConfig            string
	ContextName           string
	Namespace             string
	PodQuery              *regexp.Regexp
	Timestamps            bool
	ContainerQuery        *regexp.Regexp
	ExcludeContainerQuery *regexp.Regexp
	ContainerState        ContainerState
	Exclude               []*regexp.Regexp
	Include               []*regexp.Regexp
	Since                 time.Duration
	AllNamespaces         bool
	LabelSelector         labels.Selector
	TailLines             *int64
	Template              *template.Template

Config contains the config for stern

type ContainerState

type ContainerState string

func NewContainerState

func NewContainerState(stateConfig string) (ContainerState, error)

func (ContainerState) Match

func (stateConfig ContainerState) Match(containerState v1.ContainerState) bool

type Log

type Log struct {
	// Message is the log message itself
	Message string `json:"message"`

	// Namespace of the pod
	Namespace string `json:"namespace"`

	// PodName of the pod
	PodName string `json:"podName"`

	// ContainerName of the container
	ContainerName string `json:"containerName"`

	PodColor       *color.Color `json:"-"`
	ContainerColor *color.Color `json:"-"`

Log is the object which will be used together with the template to generate the output.

type Tail

type Tail struct {
	Namespace     string
	PodName       string
	ContainerName string
	Options       *TailOptions
	// contains filtered or unexported fields

func NewTail

func NewTail(namespace, podName, containerName string, tmpl *template.Template, options *TailOptions) *Tail

NewTail returns a new tail for a Kubernetes container inside a pod

func (*Tail) Close

func (t *Tail) Close()

Close stops tailing

func (*Tail) Print

func (t *Tail) Print(msg string)

Print prints a color coded log message with the pod and container names

func (*Tail) Start

func (t *Tail) Start(ctx context.Context, i v1.PodInterface)

Start starts tailing

type TailOptions

type TailOptions struct {
	Timestamps   bool
	SinceSeconds int64
	Exclude      []*regexp.Regexp
	Include      []*regexp.Regexp
	Namespace    bool
	TailLines    *int64

type Target

type Target struct {
	Namespace string
	Pod       string
	Container string

Target is a target to watch

func (*Target) GetID

func (t *Target) GetID() string

GetID returns the ID of the object

Jump to

Keyboard shortcuts

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