functional

package
v0.0.0-...-0e262a4 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: Apache-2.0 Imports: 54 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OpenshiftAuditLog  = "openshift-audit-logs"
	ApplicationLogFile = "/tmp/app-logs"
	FunctionalNodeName = "functional-test-node"

	ApplicationLogDir    = "/var/log/pods"
	AuditLogDir          = "/var/log/audit"
	OvnAuditLogDir       = "/var/log/ovn"
	OauthAuditLogDir     = "/var/log/oauth-apiserver"
	OpenshiftAuditLogDir = "/var/log/openshift-apiserver"
	K8sAuditLogDir       = "/var/log/kube-apiserver"
)
View Source
const (
	AwsAccessKeyID     = "AKIAIOSFODNN7EXAMPLE"
	AwsSecretAccessKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" //nolint:gosec

	CloudwatchSecret = "cloudwatch-secret"
)
View Source
const (
	VectorHttpSourceConfTemplate = "" +
		`[sources.my_source]
type = "http_server"
address = "127.0.0.1:8090"
decoding.codec = "json"
framing.method = "newline_delimited"

{{ if ne .MinTLS "" }}
[sources.my_source.tls]
enabled = true
{{ if ne .MinTLS "" }}
min_tls_version = "{{.MinTLS}}"
{{ end }}
{{ if ne .Ciphers "" }}
ciphersuites = "{{.Ciphers}}"
{{ end }}
key_file = "/tmp/secrets/http/tls.key"
crt_file = "/tmp/secrets/http/tls.crt"
{{ end }}

[transforms.app_logs]
type = "remap"
inputs = ["my_source"]
source = '''
 .epoc_out = to_float(now())
 mytime, err = parse_timestamp(."@timestamp", format: "%Y-%m-%dT%H:%M:%S%.fZ")
 if err != null {
   mytime, err = parse_timestamp(."@timestamp", format: "%Y-%m-%dT%H:%M:%S%.f%z")
   if err != null {
     log("Unable to parse @timestamp: " + err, level: "error")
   }
 }
 .epoc_in = to_float(mytime)

'''

[sinks.my_sink]
inputs = ["app_logs"]
type = "file"
path = "{{.Path}}"
		
[sinks.my_sink.encoding]
codec = "json"
`
	FluentdHttpSourceConf = `` /* 350-byte string literal not displayed */

)
View Source
const (
	// Kafka deployment definitions
	ImageRemoteKafka     = kafka.KafkaImage
	ImageRemoteKafkaInit = kafka.KafkaInitUtilsImage
)
View Source
const (
	SplunkImage        = "quay.io/openshift-logging/splunk:9.0.0"
	SplunkHecPort      = 8088
	SplunkIndexName    = "fooIndex"
	SplunkIndexKeyName = "log_type"
	SplunkDefaultIndex = "main"
)
View Source
const IncreaseRsyslogMaxMessageSize = "$MaxMessageSize 50000"

Variables

View Source
var (
	//Timestamp = 2021-07-06T08:26:58.687Z
	OVNLogTemplate            = "%s|00004|acl_log(ovn_pinctrl0)|INFO|name=verify-audit-logging_deny-all, verdict=drop"
	KubeAuditLogTemplate      = `` /* 1457-byte string literal not displayed */
	OpenShiftAuditLogTemplate = `` /* 535-byte string literal not displayed */
)
View Source
var (
	TemplateForAnyPipelineMetadata = types.PipelineMetadata{
		Collector: types.Collector{
			Ipaddr4:    "**optional**",
			Inputname:  "**optional**",
			Name:       "**optional**",
			Version:    "**optional**",
			ReceivedAt: time.Time{},
		},
	}
	TemplateForAnyKubernetes = types.Kubernetes{
		ContainerName:    "*",
		ContainerID:      "**optional**",
		PodName:          "*",
		NamespaceName:    "*",
		NamespaceID:      "**optional**",
		ContainerImage:   "*",
		ContainerImageID: "**optional**",
		PodID:            "*",
		PodIP:            "**optional**",
		Host:             "**optional**",
		MasterURL:        "**optional**",
		FlatLabels:       []string{"*"},
		NamespaceLabels:  map[string]string{"*": "*"},
		Annotations:      map[string]string{"*": "*"},
	}
)
View Source
var (
	HecToken      = rand.Word(16)
	AdminPassword = rand.Word(16)

	ConfigTemplate = fmt.Sprintf(`
splunk:
  hec:
    ssl: false
    token: "{{ string .Token }}"
  password: "{{ string .Password }}"
  idxc_secret: "{{ string .IdxcSecret }}"
  shc_secret: "{{ string .SHCSecret }}"
  conf:
    - key: indexes
      value:
        directory: /opt/splunk/etc/system/local/
        content:
          %s:
            homePath: $SPLUNK_DB/%s/db
            coldPath: $SPLUNK_DB/%s/colddb
            thawedPath: $SPLUNK_DB/%s/thaweddb
          %s:
            homePath: $SPLUNK_DB/%s/db
            coldPath: $SPLUNK_DB/%s/colddb
            thawedPath: $SPLUNK_DB/%s/thaweddb
`, SplunkIndexName, SplunkIndexName, SplunkIndexName, SplunkIndexName, logging.InputNameApplication, logging.InputNameApplication, logging.InputNameApplication, logging.InputNameApplication)
	SplunkEndpointHTTP = fmt.Sprintf("http://localhost:%d", SplunkHecPort)
)
View Source
var ElasticIndex = map[string]string{
	logging.InputNameApplication:    "app-write",
	logging.InputNameAudit:          "audit-write",
	logging.InputNameInfrastructure: "infra-write",
}
View Source
var TestAPIAdapterConfigVisitor = func(conf string) string {
	conf = strings.Replace(conf, "@type kubernetes_metadata", "@type kubernetes_metadata\ntest_api_adapter  KubernetesMetadata::TestApiAdapter\n", 1)
	return conf
}

Functions

func AddESOutput

func AddESOutput(version ElasticsearchVersion, b *runtime.PodBuilder, output logging.OutputSpec) error

func CRIOTime

func CRIOTime(t time.Time) string

CRIOTime returns the CRIO string format of time t.

func CreateAppLogFromJson

func CreateAppLogFromJson(jsonstr string) string

func GenerateConfigmapData

func GenerateConfigmapData() (data map[string]string, err error)

func NewApplicationLogTemplate

func NewApplicationLogTemplate() types.ApplicationLog

func NewAuditHostLog

func NewAuditHostLog(eventTime time.Time) string

func NewCRIOLogMessage

func NewCRIOLogMessage(timestamp, message string, partial bool) string

func NewContainerInfrastructureLogTemplate

func NewContainerInfrastructureLogTemplate() types.ApplicationLog

NewContainerInfrastructureLogTemplate creates a generally expected template for infrastructure container logs

func NewFullCRIOLogMessage

func NewFullCRIOLogMessage(timestamp, message string) string

func NewJournalInfrastructureLogTemplate

func NewJournalInfrastructureLogTemplate() types.JournalLog

NewJournalInfrastructureLogTemplate creates a generally expected template for infrastructure journal logs

func NewJournalLog

func NewJournalLog(priority int, message, hostname string) string

func NewKubeAuditLog

func NewKubeAuditLog(eventTime time.Time) string

func NewOVNAuditLog

func NewOVNAuditLog(eventTime time.Time) string

func NewPartialCRIOLogMessage

func NewPartialCRIOLogMessage(timestamp, message string) string

func VectorConfFactory

func VectorConfFactory(profile configv1.TLSProfileType, path string) string

Types

type ClusterLogForwarderBuilder

type ClusterLogForwarderBuilder struct {
	Forwarder *logging.ClusterLogForwarder
	// contains filtered or unexported fields
}

func (*ClusterLogForwarderBuilder) FromInput

func (b *ClusterLogForwarderBuilder) FromInput(inputName string) *PipelineBuilder

func (*ClusterLogForwarderBuilder) FromInputWithVisitor

func (b *ClusterLogForwarderBuilder) FromInputWithVisitor(inputName string, visit InputSpecVisitor) *PipelineBuilder

type CollectorFramework

type CollectorFramework interface {
	DeployConfigMapForConfig(name, config, clfName, clfYaml string) error
	BuildCollectorContainer(*runtime.ContainerBuilder, string) *runtime.ContainerBuilder
	IsStarted(string) bool
	Image() string
	String() string
	ModifyConfig(string) string
}

type CollectorFunctionalFramework

type CollectorFunctionalFramework struct {
	Name      string
	Namespace string
	Conf      string

	Labels    map[string]string
	Forwarder *logging.ClusterLogForwarder
	Test      *client.Test
	Pod       *corev1.Pod

	//Secrets associated with outputs to mount into the collector podspec
	Secrets []*corev1.Secret

	//VisitConfig allows the Framework to modify the config after generating from logforwardering
	VisitConfig func(string) string

	//MaxReadDuration is the max duration to wait to read logs from the receiver
	MaxReadDuration *time.Duration
	// contains filtered or unexported fields
}

CollectorFunctionalFramework deploys stand alone fluentd with the fluent.conf as generated by input ClusterLogForwarder CR

func NewCollectorFunctionalFramework

func NewCollectorFunctionalFramework() *CollectorFunctionalFramework

func NewCollectorFunctionalFrameworkUsing

func NewCollectorFunctionalFrameworkUsing(t *client.Test, fnClose func(), verbosity int, collectorType logging.LogCollectionType) *CollectorFunctionalFramework

func NewCollectorFunctionalFrameworkUsingCollector

func NewCollectorFunctionalFrameworkUsingCollector(logCollectorType logging.LogCollectionType, testOptions ...client.TestOption) *CollectorFunctionalFramework

func NewFluentdFunctionalFrameworkForTest

func NewFluentdFunctionalFrameworkForTest(t *testing.T) *CollectorFunctionalFramework

func (*CollectorFunctionalFramework) AddBenchmarkForwardOutput

func (f *CollectorFunctionalFramework) AddBenchmarkForwardOutput(b *runtime.PodBuilder, output logging.OutputSpec, image string) error

func (*CollectorFunctionalFramework) AddCloudWatchOutput

func (f *CollectorFunctionalFramework) AddCloudWatchOutput(b *runtime.PodBuilder, output logging.OutputSpec) error

func (*CollectorFunctionalFramework) AddES7Output

func (*CollectorFunctionalFramework) AddFluentdHttpOutput

func (f *CollectorFunctionalFramework) AddFluentdHttpOutput(b *runtime.PodBuilder, output logging.OutputSpec) error

func (*CollectorFunctionalFramework) AddForwardOutput

func (f *CollectorFunctionalFramework) AddForwardOutput(b *runtime.PodBuilder, output logging.OutputSpec) error

func (*CollectorFunctionalFramework) AddKafkaOutput

func (*CollectorFunctionalFramework) AddOutputContainersVisitors

func (f *CollectorFunctionalFramework) AddOutputContainersVisitors() []runtime.PodBuilderVisitor

func (*CollectorFunctionalFramework) AddSecret

AddSecret to the framework to be created when Deploy is called

func (*CollectorFunctionalFramework) AddSplunkOutput

func (f *CollectorFunctionalFramework) AddSplunkOutput(b *runtime.PodBuilder, output logging.OutputSpec) error

func (*CollectorFunctionalFramework) AddSyslogOutput

func (f *CollectorFunctionalFramework) AddSyslogOutput(b *runtime.PodBuilder, output logging.OutputSpec) error

func (*CollectorFunctionalFramework) AddVectorHttpOutput

func (f *CollectorFunctionalFramework) AddVectorHttpOutput(b *runtime.PodBuilder, output logging.OutputSpec) error

func (*CollectorFunctionalFramework) AddVectorHttpOutputWithConfig

func (f *CollectorFunctionalFramework) AddVectorHttpOutputWithConfig(b *runtime.PodBuilder, output logging.OutputSpec, profile configv1.TLSProfileType, secret *corev1.Secret, path string) error

func (*CollectorFunctionalFramework) Cleanup

func (f *CollectorFunctionalFramework) Cleanup()

func (*CollectorFunctionalFramework) Deploy

func (f *CollectorFunctionalFramework) Deploy() (err error)

Deploy the objects needed to functional Test

func (*CollectorFunctionalFramework) DeployWithVisitor

func (f *CollectorFunctionalFramework) DeployWithVisitor(visitor runtime.PodBuilderVisitor) (err error)

func (*CollectorFunctionalFramework) DeployWithVisitors

func (f *CollectorFunctionalFramework) DeployWithVisitors(visitors []runtime.PodBuilderVisitor) (err error)

Deploy the objects needed to functional Test

func (*CollectorFunctionalFramework) GetAllCloudwatchGroups

func (f *CollectorFunctionalFramework) GetAllCloudwatchGroups(svc *cwl.Client) ([]string, error)

func (*CollectorFunctionalFramework) GetLogGroupByType

func (f *CollectorFunctionalFramework) GetLogGroupByType(inputName string) ([]string, error)

func (*CollectorFunctionalFramework) GetLogMessagesByGroupAndStream

func (f *CollectorFunctionalFramework) GetLogMessagesByGroupAndStream(groupName string, streamName string) ([]string, error)

func (*CollectorFunctionalFramework) GetLogStreamsByGroup

func (f *CollectorFunctionalFramework) GetLogStreamsByGroup(groupName string) ([]string, error)

func (*CollectorFunctionalFramework) GetLogsFromCollector

func (f *CollectorFunctionalFramework) GetLogsFromCollector() (string, error)

func (*CollectorFunctionalFramework) GetLogsFromElasticSearch

func (f *CollectorFunctionalFramework) GetLogsFromElasticSearch(outputName string, outputLogType string, options ...Option) (results []string, err error)

func (*CollectorFunctionalFramework) GetLogsFromElasticSearchIndex

func (f *CollectorFunctionalFramework) GetLogsFromElasticSearchIndex(outputName string, index string, options ...Option) (results []string, err error)

func (*CollectorFunctionalFramework) GetMaxReadDuration

func (f *CollectorFunctionalFramework) GetMaxReadDuration() time.Duration

func (*CollectorFunctionalFramework) LogWriter

func (f *CollectorFunctionalFramework) LogWriter(filename string) (io.WriteCloser, error)

LogWriter returns an io.WriteCloser that appends to a log file on the collector Pod. Call Close() when finished to terminate the writer process.

func (*CollectorFunctionalFramework) ReadAppLogsByIndexFromSplunk

func (f *CollectorFunctionalFramework) ReadAppLogsByIndexFromSplunk(namespace, name, index string) (results []string, err error)

func (*CollectorFunctionalFramework) ReadApplicationLogsFrom

func (f *CollectorFunctionalFramework) ReadApplicationLogsFrom(outputName string) ([]types.ApplicationLog, error)

func (*CollectorFunctionalFramework) ReadApplicationLogsFromKafka

func (f *CollectorFunctionalFramework) ReadApplicationLogsFromKafka(topic string, brokerlistener string, consumercontainername string) (results []string, err error)

func (*CollectorFunctionalFramework) ReadAuditLogsFrom

func (f *CollectorFunctionalFramework) ReadAuditLogsFrom(outputName string) ([]string, error)

func (*CollectorFunctionalFramework) ReadCollectorLogs

func (f *CollectorFunctionalFramework) ReadCollectorLogs() (string, error)

func (*CollectorFunctionalFramework) ReadFileFrom

func (f *CollectorFunctionalFramework) ReadFileFrom(outputName, filePath string) (result string, err error)

func (*CollectorFunctionalFramework) ReadFileFromWithRetryInterval

func (f *CollectorFunctionalFramework) ReadFileFromWithRetryInterval(outputName, filePath string, retryInterval time.Duration) (result string, err error)

func (*CollectorFunctionalFramework) ReadInfrastructureLogsFrom

func (f *CollectorFunctionalFramework) ReadInfrastructureLogsFrom(outputName string) ([]string, error)

func (*CollectorFunctionalFramework) ReadLogsByTypeFromSplunk

func (f *CollectorFunctionalFramework) ReadLogsByTypeFromSplunk(namespace, name, logType string) (results []string, err error)

func (*CollectorFunctionalFramework) ReadLogsFrom

func (f *CollectorFunctionalFramework) ReadLogsFrom(outputName, sourceType string) (results []string, err error)

func (*CollectorFunctionalFramework) ReadLogsFromCloudwatch

func (f *CollectorFunctionalFramework) ReadLogsFromCloudwatch(inputName string) ([]string, error)

func (*CollectorFunctionalFramework) ReadNApplicationLogsFrom

func (f *CollectorFunctionalFramework) ReadNApplicationLogsFrom(n uint64, outputName string) ([]string, error)

func (*CollectorFunctionalFramework) ReadOvnAuditLogsFrom

func (f *CollectorFunctionalFramework) ReadOvnAuditLogsFrom(outputName string) ([]string, error)

func (*CollectorFunctionalFramework) ReadRawApplicationLogsFrom

func (f *CollectorFunctionalFramework) ReadRawApplicationLogsFrom(outputName string) ([]string, error)

func (*CollectorFunctionalFramework) Readk8sAuditLogsFrom

func (f *CollectorFunctionalFramework) Readk8sAuditLogsFrom(outputName string) ([]string, error)

func (*CollectorFunctionalFramework) RunCommand

func (f *CollectorFunctionalFramework) RunCommand(container string, cmd ...string) (string, error)

func (*CollectorFunctionalFramework) WaitForPodToBeReady

func (f *CollectorFunctionalFramework) WaitForPodToBeReady() error

func (*CollectorFunctionalFramework) WriteAsJsonToHttpInput

func (f *CollectorFunctionalFramework) WriteAsJsonToHttpInput(inputName string, v any) error

func (*CollectorFunctionalFramework) WriteAuditHostLog

func (f *CollectorFunctionalFramework) WriteAuditHostLog(numOfLogs int) error

func (*CollectorFunctionalFramework) WriteK8sAuditLog

func (f *CollectorFunctionalFramework) WriteK8sAuditLog(numOfLogs int) error

func (*CollectorFunctionalFramework) WriteLog

func (f *CollectorFunctionalFramework) WriteLog(filename string, data []byte) error

WriteLog writes bytes to a log file on the collector Pod.

func (*CollectorFunctionalFramework) WriteMessagesToApplicationLog

func (f *CollectorFunctionalFramework) WriteMessagesToApplicationLog(msg string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesToApplicationLogForContainer

func (f *CollectorFunctionalFramework) WriteMessagesToApplicationLogForContainer(msg, container string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesToAuditLog

func (f *CollectorFunctionalFramework) WriteMessagesToAuditLog(msg string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesToInfraContainerLog

func (f *CollectorFunctionalFramework) WriteMessagesToInfraContainerLog(msg string, numOfLogs int) error

WriteMessagesInfraContainerLog mocks writing infra container logs for the functional Framework. This may require enabling the mock api adapter to get metadata for infrastructure logs since the path does not match a pod running on the cluster (e.g Framework.VisitConfig = functional.TestAPIAdapterConfigVisitor)

func (*CollectorFunctionalFramework) WriteMessagesToInfraJournalLog

func (f *CollectorFunctionalFramework) WriteMessagesToInfraJournalLog(msg string, numOfLogs int) error

WriteMessagesToInfraJournalLog mocks writing infra journal log. The framework assumes the msg is formatted as a JSON entry already parsed like the systemd plugin. Ex: {"PRIORITY":"6","_UID":"1000","_GID":"1000","_CAP_EFFECTIVE":"0","_SELINUX_CONTEXT":"unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023","_AUDIT_SESSION":"3","_AUDIT_LOGINUID":"1000","_SYSTEMD_OWNER_UID":"1000","_SYSTEMD_UNIT":"user@1000.service","_SYSTEMD_SLICE":"user-1000.slice","_MACHINE_ID":"e2a074cafa5044c7a2761b4a97e249ce","_HOSTNAME":"decker","_TRANSPORT":"stdout","_SYSTEMD_USER_SLICE":"app.slice","SYSLOG_IDENTIFIER":"google-chrome.desktop","_COMM":"cat","_EXE":"/usr/bin/cat","_CMDLINE":"cat","MESSAGE":"Error in cpuinfo: failed to parse processor information from /proc/cpuinfo","_BOOT_ID":"40646b056fbe4af6a8b9543864ae0216","_STREAM_ID":"063bc071ac204a37aabc926f2f7614b0","_PID":"3194","_SYSTEMD_CGROUP":"/user.slice/user-1000.slice/user@1000.service/app.slice/app-glib-google\\x2dchrome-3188.scope/3194","_SYSTEMD_USER_UNIT":"app-glib-google\\x2dchrome-3188.scope","_SYSTEMD_INVOCATION_ID":"764ffdafa8b34ac69ec6055d5f942583"}

func (*CollectorFunctionalFramework) WriteMessagesToLog

func (f *CollectorFunctionalFramework) WriteMessagesToLog(msg string, numOfLogs int, filename string) error

func (*CollectorFunctionalFramework) WriteMessagesToNamespace

func (f *CollectorFunctionalFramework) WriteMessagesToNamespace(msg, namespace string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesToOAuthAuditLog

func (f *CollectorFunctionalFramework) WriteMessagesToOAuthAuditLog(msg string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesToOVNAuditLog

func (f *CollectorFunctionalFramework) WriteMessagesToOVNAuditLog(msg string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesToOpenshiftAuditLog

func (f *CollectorFunctionalFramework) WriteMessagesToOpenshiftAuditLog(msg string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesTok8sAuditLog

func (f *CollectorFunctionalFramework) WriteMessagesTok8sAuditLog(msg string, numOfLogs int) error

func (*CollectorFunctionalFramework) WriteMessagesWithNotUTF8SymbolsToLog

func (f *CollectorFunctionalFramework) WriteMessagesWithNotUTF8SymbolsToLog() error

WriteMessagesWithNotUTF8SymbolsToLog write 12 symbols in ISO-8859-1 encoding need to use small hack with 'sed' replacement because if try to use something like: 'echo -e \xC0\xC1' Go always convert every undecodeable byte into '\ufffd'. More details here: https://github.com/golang/go/issues/38006

func (*CollectorFunctionalFramework) WriteOVNAuditLog

func (f *CollectorFunctionalFramework) WriteOVNAuditLog(numOfLogs int) error

func (*CollectorFunctionalFramework) WriteOpenshiftAuditLog

func (f *CollectorFunctionalFramework) WriteOpenshiftAuditLog(numOfLogs int) error

func (*CollectorFunctionalFramework) WriteToHttpInput

func (f *CollectorFunctionalFramework) WriteToHttpInput(inputName, buf string) error

func (*CollectorFunctionalFramework) WriteToHttpInputWithPortForwarder

func (f *CollectorFunctionalFramework) WriteToHttpInputWithPortForwarder(inputName string, buf []byte) error

func (*CollectorFunctionalFramework) WritesApplicationLogs

func (f *CollectorFunctionalFramework) WritesApplicationLogs(numOfLogs int) error

func (*CollectorFunctionalFramework) WritesApplicationLogsWithDelay

func (f *CollectorFunctionalFramework) WritesApplicationLogsWithDelay(numOfLogs int, delay float32) error

func (*CollectorFunctionalFramework) WritesInfraContainerLogs

func (f *CollectorFunctionalFramework) WritesInfraContainerLogs(numOfLogs int) error

func (*CollectorFunctionalFramework) WritesNApplicationLogsOfSize

func (f *CollectorFunctionalFramework) WritesNApplicationLogsOfSize(numOfLogs, size int, delay float32) error

type CollectorFunctionalFrameworkBuilder

type CollectorFunctionalFrameworkBuilder struct {
	Framework *CollectorFunctionalFramework
	// contains filtered or unexported fields
}

func NewCollectorFunctionalFrameworkUsingCollectorBuilder

func NewCollectorFunctionalFrameworkUsingCollectorBuilder(logCollectorType logging.LogCollectionType, testOptions ...client.TestOption) *CollectorFunctionalFrameworkBuilder

func (*CollectorFunctionalFrameworkBuilder) Deploy

func (*CollectorFunctionalFrameworkBuilder) FromInput

type ElasticsearchVersion

type ElasticsearchVersion int
const (
	ElasticsearchVersion6 ElasticsearchVersion = 6
	ElasticsearchVersion7 ElasticsearchVersion = 7
	ElasticsearchVersion8 ElasticsearchVersion = 8
)

type FilterSpecVisitor

type FilterSpecVisitor func(spec *logging.FilterSpec)

type FrameworkPipelineBuilder

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

func (*FrameworkPipelineBuilder) ToElasticSearchOutput

type InputSpecVisitor

type InputSpecVisitor func(spec *logging.InputSpec)

type Option

type Option struct {
	Name  string
	Value string
}

func OptionsInclude

func OptionsInclude(name string, options []Option) (bool, Option)

type OutputSpecVisitor

type OutputSpecVisitor func(spec *logging.OutputSpec)

type PipelineBuilder

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

func (*PipelineBuilder) Named

func (p *PipelineBuilder) Named(name string) *PipelineBuilder

Named is the name to be given to the ClusterLogForwarder pipeline

func (*PipelineBuilder) ToAzureMonitorOutputWithCuId

func (p *PipelineBuilder) ToAzureMonitorOutputWithCuId(cuId string) *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToCloudwatchOutput

func (p *PipelineBuilder) ToCloudwatchOutput() *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToElasticSearchOutput

func (p *PipelineBuilder) ToElasticSearchOutput() *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToElasticSearchOutputWithSecret

func (p *PipelineBuilder) ToElasticSearchOutputWithSecret(secret *corev1.Secret) *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToFluentForwardOutput

func (p *PipelineBuilder) ToFluentForwardOutput() *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToHttpOutput

func (p *PipelineBuilder) ToHttpOutput() *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToHttpOutputWithSchema

func (p *PipelineBuilder) ToHttpOutputWithSchema(schema string) *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToKafkaOutput

func (p *PipelineBuilder) ToKafkaOutput(visitors ...func(output *logging.OutputSpec)) *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToOutputWithVisitor

func (p *PipelineBuilder) ToOutputWithVisitor(visit OutputSpecVisitor, outputName string) *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToSplunkOutput

func (p *PipelineBuilder) ToSplunkOutput() *ClusterLogForwarderBuilder

func (*PipelineBuilder) ToSyslogOutput

func (p *PipelineBuilder) ToSyslogOutput() *ClusterLogForwarderBuilder

func (*PipelineBuilder) WithFilterWithVisitor

func (p *PipelineBuilder) WithFilterWithVisitor(filterName string, visit FilterSpecVisitor) *PipelineBuilder

func (*PipelineBuilder) WithMultineErrorDetection

func (p *PipelineBuilder) WithMultineErrorDetection() *PipelineBuilder

func (*PipelineBuilder) WithParseJson

func (p *PipelineBuilder) WithParseJson() *PipelineBuilder

type PipelineSpecVisitor

type PipelineSpecVisitor func(spec *logging.PipelineSpec)

type PortForwarder

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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