pattern

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Indicator       = '$'
	SeparatorPrefix = '{'
	SeparatorSuffix = '}'
)
View Source
const (
	AllLabelToken = "${labels.key}"
)

Variables

View Source
var ErrEmptyMatcher = errors.New("render matcher is empty")

Functions

func Extract

func Extract(input string, splitsStr []string) []string

Extract eg: input="/var/log/76fb94cbb5/tomcat/", splitsStr=["/var/log/", "/", "/"]

return ["76fb94cbb5", "tomcat"]

func GetSplits

func GetSplits(target string) (splitStr []string, matchers []string)

GetSplits eg: target="/var/log/${pod.uid}/${pod.name}/"

returns ["var/log/", "/", "/"] and ["pod.uid", "pod.name"]

func IsK8sVar added in v1.3.0

func IsK8sVar(key string) bool

func Validate added in v1.2.0

func Validate(pattern string) error

Types

type Pattern added in v1.2.0

type Pattern struct {
	Raw string
	// contains filtered or unexported fields
}

func Init added in v1.2.0

func Init(pattern string) (*Pattern, error)

func MustInit added in v1.3.0

func MustInit(pattern string) *Pattern

func (*Pattern) K8sMatcherRender added in v1.3.0

func (p *Pattern) K8sMatcherRender(key string) string

func (*Pattern) Render added in v1.2.0

func (p *Pattern) Render() (string, error)

func (*Pattern) RenderWithStrict added in v1.3.1

func (p *Pattern) RenderWithStrict() (string, error)

RenderWithStrict any placeholder rendering empty will return an error

func (*Pattern) WithK8sNode added in v1.3.0

func (p *Pattern) WithK8sNode(data *TypeNodeFieldsData) *Pattern

func (*Pattern) WithK8sPod added in v1.3.0

func (p *Pattern) WithK8sPod(data *TypePodFieldsData) *Pattern

func (*Pattern) WithObject added in v1.2.0

func (p *Pattern) WithObject(obj *runtime.Object) *Pattern

func (*Pattern) WithVm added in v1.5.0

func (p *Pattern) WithVm(data *TypeVmFieldsData) *Pattern

type TypeNodeFieldsData added in v1.3.0

type TypeNodeFieldsData struct {
	Node             *corev1.Node
	ClusterLogConfig string
}

func NewTypeNodeFieldsData added in v1.3.0

func NewTypeNodeFieldsData(node *corev1.Node, clusterlogconfig string) *TypeNodeFieldsData

type TypePodFieldsData added in v1.3.0

type TypePodFieldsData struct {
	Pod              *corev1.Pod
	ContainerName    string
	LogConfig        string
	ClusterLogConfig string
}

func NewTypePodFieldsData added in v1.3.0

func NewTypePodFieldsData(pod *corev1.Pod, containerName string, lgc *logconfigv1beta1.LogConfig) *TypePodFieldsData

type TypeVmFieldsData added in v1.5.0

type TypeVmFieldsData struct {
	Vm               *v1beta1.Vm
	ClusterLogConfig string
}

func NewTypeVmFieldsData added in v1.5.0

func NewTypeVmFieldsData(vm *v1beta1.Vm, clusterlogconfig string) *TypeVmFieldsData

Jump to

Keyboard shortcuts

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