v1alpha1

package
v1.27.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2021 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterLogDestination

type ClusterLogDestination struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the behavior of a cluster log source.
	Spec ClusterLogDestinationSpec `json:"spec"`

	// Most recently observed status of a cluster log source.
	// Populated by the system.
	Status ClusterLogDestinationStatus `json:"status,omitempty"`
}

ClusterLogDestination specify output for logs stream

type ClusterLogDestinationSpec

type ClusterLogDestinationSpec struct {
	// Type of cluster log source: Loki, Elasticsearch, Logstash
	Type string `json:"type,omitempty"`

	// Loki describes spec for loki endpoint
	Loki LokiSpec `json:"loki"`

	// Elasticsearch spec for Elasticsearch endpointy
	Elasticsearch ElasticsearchSpec `json:"elasticsearch"`

	// Logstash spec for Logstash endpointy
	Logstash LogstashSpec `json:"logstash"`

	// Add extra labels for sources
	ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}

type ClusterLogDestinationStatus

type ClusterLogDestinationStatus struct {
}

type ClusterLoggingConfig

type ClusterLoggingConfig struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the behavior of a cluster log source.
	Spec ClusterLoggingConfigSpec `json:"spec"`

	Status ClusterLoggingConfigStatus `json:"status,omitempty"`
}

ClusterLoggingConfig specify target for logs collecting

type ClusterLoggingConfigSpec

type ClusterLoggingConfigSpec struct {
	// Type of cluster log source: KubernetesPods, File
	Type string `json:"type,omitempty"`

	// KubernetesPods describes spec for kubernetes pod source
	KubernetesPods KubernetesPodsSpec `json:"kubernetesPods,omitempty"`

	// File describes spec for file source
	File FileSpec `json:"file,omitempty"`

	// Log filters array
	LogFilters []LogFilter `json:"logFilter,omitempty"`

	// DestinationRefs slice of ClusterLogDestination names
	DestinationRefs []string `json:"destinationRefs,omitempty"`
}

type ClusterLoggingConfigStatus

type ClusterLoggingConfigStatus struct {
}

type CommonTLSClientCert

type CommonTLSClientCert struct {
	CertFile string `json:"crtFile,omitempty"`
	KeyFile  string `json:"keyFile,omitempty"`
	KeyPass  string `json:"keyPass,omitempty"`
}

TLS configuration. Client certificate

type CommonTLSSpec

type CommonTLSSpec struct {
	CommonTLSClientCert `json:"clientCrt,omitempty"`
	CAFile              string `json:"caFile,omitempty"`
	VerifyHostname      bool   `json:"verifyHostname,omitempty"`
}

TLS configuration. Can be set for loki and ES

type ElasticsearchAuthSpec

type ElasticsearchAuthSpec struct {
	Password      string `json:"password,omitempty"`
	Strategy      string `json:"strategy,omitempty"`
	User          string `json:"user,omitempty"`
	AwsAccessKey  string `json:"awsAccessKey,omitempty"`
	AwsSecretKey  string `json:"awsSecretAccessKey,omitempty"`
	AwsAssumeRole string `json:"awsAssumeRole,omitempty"`
	AwsRegion     string `json:"awsRegion,omitempty"`
}

type ElasticsearchSpec

type ElasticsearchSpec struct {
	Endpoint string `json:"endpoint,omitempty"`

	Index    string `json:"index,omitempty"`
	Pipeline string `json:"pipeline,omitempty"`

	Auth ElasticsearchAuthSpec `json:"auth,omitempty"`

	TLS CommonTLSSpec `json:"tls,omitempty"`
}

type FileSpec

type FileSpec struct {
	Include       []string `json:"include,omitempty"`
	Exclude       []string `json:"exclude,omitempty"`
	LineDelimiter string   `json:"lineDelimiter,omitempty"`
}

type KubernetesPodsSpec

type KubernetesPodsSpec struct {
	NamespaceSelector types.NameSelector `json:"namespaceSelector,omitempty"`

	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`
}

type LogFilter

type LogFilter struct {
	Field    string            `json:"field"`
	Operator LogFilterOperator `json:"operator"`
	Values   []interface{}     `json:"values,omitempty"`
}

Log filter strict to generate log pipeline

type LogFilterOperator

type LogFilterOperator string
const (
	LogFilterOpIn           LogFilterOperator = "In"
	LogFilterOpNotIn        LogFilterOperator = "NotIn"
	LogFilterOpExists       LogFilterOperator = "Exists"
	LogFilterOpDoesNotExist LogFilterOperator = "DoesNotExist"
	LogFilterOpRegex        LogFilterOperator = "Regex"
	LogFilterOpNotRegex     LogFilterOperator = "NotRegex"
)

type LogstashSpec

type LogstashSpec struct {
	Endpoint string `json:"endpoint,omitempty"`

	TLS LogstashTLSSpec `json:"tls,omitempty"`
}

type LogstashTLSSpec

type LogstashTLSSpec struct {
	CommonTLSSpec     `json:",inline"`
	VerifyCertificate bool `json:"verifyCertificate,omitempty"`
	Enabled           bool `json:"enabled,omitempty"`
}

TLS configuration. Can be setstrings.ToLower( for loki and ES

type LokiAuthSpec

type LokiAuthSpec struct {
	Password string `json:"password,omitempty"`
	Strategy string `json:"strategy,omitempty"`
	Token    string `json:"token,omitempty"`
	User     string `json:"user,omitempty"`
}

type LokiSpec

type LokiSpec struct {
	Endpoint string `json:"endpoint,omitempty"`

	Auth LokiAuthSpec `json:"auth,omitempty"`

	TLS CommonTLSSpec `json:"tls,omitempty"`
}

type PodLoggingConfig

type PodLoggingConfig struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the behavior of a namespaced log source.
	Spec PodLoggingConfigSpec `json:"spec"`

	// Most recently observed status of a namespaced log source.
	Status PodLoggingConfigStatus `json:"status,omitempty"`
}

PodLoggingConfig specify target for kubernetes pods logs collecting in specified namespace

type PodLoggingConfigSpec

type PodLoggingConfigSpec struct {
	// LabelSelector filter pods by label
	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`

	// Log filters array
	LogFilters []LogFilter `json:"logFilter,omitempty"`

	// ClusterDestinationRefs slice of ClusterLogDestination names
	ClusterDestinationRefs []string `json:"clusterDestinationRefs,omitempty"`
}

type PodLoggingConfigStatus

type PodLoggingConfigStatus struct {
}

Jump to

Keyboard shortcuts

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