tasklog

package
v1.1.10 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2023 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustCreateRegex added in v1.1.9

func MustCreateRegex(varName string) *regexp.Regexp

Types

type Input

type Input struct {
	HostName                  string
	PodName                   string
	Namespace                 string
	ContainerName             string
	ContainerID               string
	LogName                   string
	PodRFC3339StartTime       string
	PodRFC3339FinishTime      string
	PodUnixStartTime          int64
	PodUnixFinishTime         int64
	PodUID                    string
	TaskExecutionIdentifier   *core.TaskExecutionIdentifier
	ExtraTemplateVarsByScheme *TemplateVarsByScheme
}

Input contains all available information about task's execution that a log plugin can use to construct task's log links.

type Output

type Output struct {
	TaskLogs []*core.TaskLog
}

Output contains all task logs a plugin generates for a given Input.

type Plugin

type Plugin interface {
	// Generates a TaskLog object given necessary computation information
	GetTaskLogs(i Input) (logs Output, err error)
}

Plugin represents an interface for task log plugins to implement to plug generated task log links into task events.

type TemplateLogPlugin

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

A simple log plugin that supports templates in urls to build the final log link. See `defaultRegexes` for supported templates.

func NewTemplateLogPlugin

func NewTemplateLogPlugin(scheme TemplateScheme, templateUris []string, messageFormat core.TaskLog_MessageFormat) TemplateLogPlugin

NewTemplateLogPlugin creates a template-based log plugin with the provided template Uri and message format. See `defaultRegexes` for supported templates.

func (TemplateLogPlugin) GetTaskLog

func (s TemplateLogPlugin) GetTaskLog(podName, podUID, namespace, containerName, containerID, logName string, podRFC3339StartTime string, podRFC3339FinishTime string, podUnixStartTime, podUnixFinishTime int64) (core.TaskLog, error)

func (TemplateLogPlugin) GetTaskLogs

func (s TemplateLogPlugin) GetTaskLogs(input Input) (Output, error)

type TemplateScheme added in v1.1.9

type TemplateScheme int
const (
	TemplateSchemePod TemplateScheme = iota
	TemplateSchemeTaskExecution
)

func TemplateSchemeString added in v1.1.9

func TemplateSchemeString(s string) (TemplateScheme, error)

TemplateSchemeString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func TemplateSchemeValues added in v1.1.9

func TemplateSchemeValues() []TemplateScheme

TemplateSchemeValues returns all values of the enum

func (TemplateScheme) IsATemplateScheme added in v1.1.9

func (i TemplateScheme) IsATemplateScheme() bool

IsATemplateScheme returns "true" if the value is listed in the enum definition. "false" otherwise

func (TemplateScheme) MarshalJSON added in v1.1.9

func (i TemplateScheme) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface for TemplateScheme

func (TemplateScheme) MarshalYAML added in v1.1.9

func (i TemplateScheme) MarshalYAML() (interface{}, error)

MarshalYAML implements a YAML Marshaler for TemplateScheme

func (TemplateScheme) String added in v1.1.9

func (i TemplateScheme) String() string

func (*TemplateScheme) UnmarshalJSON added in v1.1.9

func (i *TemplateScheme) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface for TemplateScheme

func (*TemplateScheme) UnmarshalYAML added in v1.1.9

func (i *TemplateScheme) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML implements a YAML Unmarshaler for TemplateScheme

type TemplateVar added in v1.1.9

type TemplateVar struct {
	Regex *regexp.Regexp
	Value string
}

type TemplateVars added in v1.1.9

type TemplateVars []TemplateVar

type TemplateVarsByScheme added in v1.1.9

type TemplateVarsByScheme struct {
	Common        TemplateVars
	Pod           TemplateVars
	TaskExecution TemplateVars
}

Jump to

Keyboard shortcuts

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