output

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2025 License: Apache-2.0 Imports: 3 Imported by: 1

Documentation

Index

Constants

View Source
const (
	Unacked  = "unacked"
	Acked    = "acked"
	Majority = "majority"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ADC added in v0.11.0

type ADC struct{}

type ALTS added in v0.11.0

type ALTS struct {
	TargetServiceAccounts []string `json:"target-service-accounts,omitempty"`
}

+kubebuilder:object:generate=true

func (*ALTS) DeepCopy added in v0.11.0

func (in *ALTS) DeepCopy() *ALTS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ALTS.

func (*ALTS) DeepCopyInto added in v0.11.0

func (in *ALTS) DeepCopyInto(out *ALTS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Auth added in v0.11.0

type Auth struct {
	// Application Layer Transport Security (ALTS) is a simple to use authentication, only available within Google’s infrastructure.
	ALTS *ALTS `json:"alts,omitempty"`
	// Application Default Credentials (ADC).
	ADC *ADC `json:"adc,omitempty"`
	// This is the default method, authentication is disabled (`auth(insecure())`).
	Insecure *Insecure `json:"insecure,omitempty"`
	// This option sets various options related to TLS encryption, for example, key/certificate files and trusted CA locations. TLS can be used only with tcp-based transport protocols. For details, see [TLS for syslog-ng outputs](../tls/) and the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions).
	TLS *GrpcTLS `json:"tls,omitempty"`
}

+kubebuilder:object:generate=true Authentication settings. Only one authentication method can be set. Default: Insecure

func (*Auth) DeepCopy added in v0.11.0

func (in *Auth) DeepCopy() *Auth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.

func (*Auth) DeepCopyInto added in v0.11.0

func (in *Auth) DeepCopyInto(out *Auth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Batch

type Batch struct {
	// Description: Specifies how many lines are flushed to a destination in one batch. The syslog-ng OSE application waits for this number of lines to accumulate and sends them off in a single batch. Increasing this number increases throughput as more messages are sent in a single batch, but also increases message latency.
	// For example, if you set `batch-lines()` to 100, syslog-ng OSE waits for 100 messages.
	BatchLines int `json:"batch-lines,omitempty"`
	// Description: Sets the maximum size of payload in a batch. If the size of the messages reaches this value, syslog-ng OSE sends the batch to the destination even if the number of messages is less than the value of the `batch-lines()` option.
	// Note that if the `batch-timeout()` option is enabled and the queue becomes empty, syslog-ng OSE flushes the messages only if `batch-timeout()` expires, or the batch reaches the limit set in batch-bytes().
	BatchBytes int `json:"batch-bytes,omitempty"`
	// Description: Specifies the time syslog-ng OSE waits for lines to accumulate in the output buffer. The syslog-ng OSE application sends batches to the destinations evenly. The timer starts when the first message arrives to the buffer, so if only few messages arrive, syslog-ng OSE sends messages to the destination at most once every `batch-timeout()` milliseconds.
	BatchTimeout int `json:"batch-timeout,omitempty"`
}

type Bulk added in v0.11.0

type Bulk struct {
	// Enables bulk insert mode. If disabled, each messages is inserted individually. (default: yes)
	Bulk *bool `json:"bulk,omitempty"`
	// If set to yes, it disables MongoDB bulk operations validation mode. (default: no)
	BulkByPassValidation *bool `json:"bulk_bypass_validation,omitempty"`
	// Description: Enables unordered bulk operations mode. (default: no)
	BulkUnordered *bool `json:"bulk_unordered,omitempty"`
}

+kubebuilder:object:generate=true Bulk operation related options. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-mongodb/reference-destination-mongodb/#mongodb-option-bulk).

func (*Bulk) DeepCopy added in v0.11.0

func (in *Bulk) DeepCopy() *Bulk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bulk.

func (*Bulk) DeepCopyInto added in v0.11.0

func (in *Bulk) DeepCopyInto(out *Bulk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskBuffer

type DiskBuffer struct {
	// This is a required option. The maximum size of the disk-buffer in bytes. The minimum value is 1048576 bytes.
	DiskBufSize int64 `json:"disk_buf_size"`
	//  If set to yes, syslog-ng OSE cannot lose logs in case of reload/restart, unreachable destination or syslog-ng OSE crash. This solution provides a slower, but reliable disk-buffer option.
	Reliable bool `json:"reliable"`
	// Prunes the unused space in the LogMessage representation
	Compaction *bool `json:"compaction,omitempty"`
	// Description: Defines the folder where the disk-buffer files are stored.
	Dir string `json:"dir,omitempty"`
	// Use this option if the option reliable() is set to no. This option contains the number of messages stored in overflow queue.
	MemBufLength *int64 `json:"mem_buf_length,omitempty"`
	// Use this option if the option reliable() is set to yes. This option contains the size of the messages in bytes that is used in the memory part of the disk buffer.
	MemBufSize *int64 `json:"mem_buf_size,omitempty"`
	// The number of messages stored in the output buffer of the destination.
	QOutSize *int64 `json:"qout_size,omitempty"`
}

+kubebuilder:object:generate=true Documentation: https://axoflow.com/docs/axosyslog-core/chapter-routing-filters/concepts-diskbuffer/

func (*DiskBuffer) DeepCopy

func (in *DiskBuffer) DeepCopy() *DiskBuffer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskBuffer.

func (*DiskBuffer) DeepCopyInto

func (in *DiskBuffer) DeepCopyInto(out *DiskBuffer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticsearchDatastreamOutput added in v0.12.0

type ElasticsearchDatastreamOutput struct {
	HTTPOutput `json:",inline"`
	// Arguments to the `$format-json()` template function.
	// Default: `"--scope rfc5424 --exclude DATE --key ISODATE @timestamp=${ISODATE}"`
	Record string `json:"record,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
}

+kubebuilder:object:generate=true

func (*ElasticsearchDatastreamOutput) DeepCopy added in v0.12.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchDatastreamOutput.

func (*ElasticsearchDatastreamOutput) DeepCopyInto added in v0.12.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticsearchOutput added in v0.11.0

type ElasticsearchOutput struct {
	HTTPOutput `json:",inline"`
	// Name of the data stream, index, or index alias to perform the action on.
	Index string `json:"index,omitempty"`
	// The document type associated with the operation. Elasticsearch indices now support a single document type: `_doc`
	Type *string `json:"type,omitempty"`
	// The template to format the record itself inside the payload body
	Template string `json:"template,omitempty"`
	// The document ID. If no ID is specified, a document ID is automatically generated.
	CustomID string `json:"custom_id,omitempty"`
	// Set the prefix for logs in logstash format. If set, then the Index field will be ignored.
	LogstashPrefix string `json:"logstash_prefix,omitempty" syslog-ng:"ignore"`
	// Set the separator between LogstashPrefix and LogStashDateformat. Default: "-"
	LogstashPrefixSeparator string `json:"logstash_prefix_separator,omitempty" syslog-ng:"ignore"`
	// Set the suffix for logs in logstash format. Default: `"${YEAR}.${MONTH}.${DAY}"`
	LogStashSuffix string `json:"logstash_suffix,omitempty" syslog-ng:"ignore"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
}

+kubebuilder:object:generate=true

func (*ElasticsearchOutput) BeforeRender added in v0.11.0

func (o *ElasticsearchOutput) BeforeRender()

func (*ElasticsearchOutput) DeepCopy added in v0.11.0

func (in *ElasticsearchOutput) DeepCopy() *ElasticsearchOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchOutput.

func (*ElasticsearchOutput) DeepCopyInto added in v0.11.0

func (in *ElasticsearchOutput) DeepCopyInto(out *ElasticsearchOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileOutput

type FileOutput struct {
	// Path where the file is stored.
	Path string `json:"path" syslog-ng:"pos=0"`
	// Enable creating non-existing directories. (default: false)
	CreateDirs bool `json:"create_dirs,omitempty"`
	// The group of the directories created by syslog-ng. To preserve the original properties of an existing directory, use the option without specifying an attribute: `dir-group()`. (default: Use the global settings)
	DirGroup string `json:"dir_group,omitempty"`
	// The owner of the directories created by syslog-ng. To preserve the original properties of an existing directory, use the option without specifying an attribute: `dir-owner()`. (default: Use the global settings)
	DirOwner string `json:"dir_owner,omitempty"`
	// The permission mask of directories created by syslog-ng. Log directories are only created if a file after macro expansion refers to a non-existing directory, and directory creation is enabled (see also the `create-dirs()` option). For octal numbers prefix the number with 0, for example, use `0755` for `rwxr-xr-x`.(default: Use the global settings)
	DirPerm int `json:"dir_perm,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer  *DiskBuffer `json:"disk_buffer,omitempty"`
	Template    string      `json:"template,omitempty"`
	PersistName string      `json:"persist_name,omitempty"`
}

+kubebuilder:object:generate=true Documentation: https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-file/

func (*FileOutput) DeepCopy

func (in *FileOutput) DeepCopy() *FileOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileOutput.

func (*FileOutput) DeepCopyInto

func (in *FileOutput) DeepCopyInto(out *FileOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrpcTLS added in v0.12.0

type GrpcTLS struct {
	// The name of a file that contains a set of trusted CA certificates in PEM format. (Optional) For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#ca-file).
	CaFile *secret.Secret `json:"ca_file,omitempty"`
	// The name of a file that contains an unencrypted private key in PEM format, suitable as a TLS key. For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#key-file).
	KeyFile *secret.Secret `json:"key_file,omitempty"`
	// Name of a file, that contains an X.509 certificate (or a certificate chain) in PEM format, suitable as a TLS certificate, matching the private key set in the key-file() option. For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#cert-file).
	CertFile *secret.Secret `json:"cert_file,omitempty"`
}

+kubebuilder:object:generate=true

func (*GrpcTLS) DeepCopy added in v0.12.0

func (in *GrpcTLS) DeepCopy() *GrpcTLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcTLS.

func (*GrpcTLS) DeepCopyInto added in v0.12.0

func (in *GrpcTLS) DeepCopyInto(out *GrpcTLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPOutput

type HTTPOutput struct {
	// Specifies the hostname or IP address and optionally the port number of the web service that can receive log data via HTTP. Use a colon (:) after the address to specify the port number of the server. For example: `http://127.0.0.1:8000`
	URL string `json:"url,omitempty"`
	// Custom HTTP headers to include in the request, for example, `headers("HEADER1: header1", "HEADER2: header2")`. (default: empty)
	Headers []string `json:"headers,omitempty"`
	// The time to wait in seconds before a dead connection is reestablished. (default: 60)
	TimeReopen int `json:"time_reopen,omitempty"`
	// This option sets various options related to TLS encryption, for example, key/certificate files and trusted CA locations. TLS can be used only with tcp-based transport protocols. For details, see [TLS for syslog-ng outputs](../tls/) and the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/).
	TLS *TLS `json:"tls,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
	// Batching parameters
	Batch `json:",inline"`
	// The body of the HTTP request, for example, `body("${ISODATE} ${MESSAGE}")`. You can use strings, macros, and template functions in the body. If not set, it will contain the message received from the source by default.
	Body string `json:"body,omitempty"`
	// The string syslog-ng OSE puts at the beginning of the body of the HTTP request, before the log message.
	BodyPrefix string `json:"body-prefix,omitempty"`
	// The string syslog-ng OSE puts to the end of the body of the HTTP request, after the log message.
	BodySuffix string `json:"body-suffix,omitempty"`
	// By default, syslog-ng OSE separates the log messages of the batch with a newline character.
	Delimiter string `json:"delimiter,omitempty"`
	// Specifies the HTTP method to use when sending the message to the server. `POST | PUT`
	Method string `json:"method,omitempty"`
	// The number of times syslog-ng OSE attempts to send a message to this destination. If syslog-ng OSE could not send a message, it will try again until the number of attempts reaches `retries`, then drops the message.
	Retries int `json:"retries,omitempty"`
	// The username that syslog-ng OSE uses to authenticate on the server where it sends the messages.
	User string `json:"user,omitempty"`
	// The password that syslog-ng OSE uses to authenticate on the server where it sends the messages.
	Password secret.Secret `json:"password,omitempty"`
	// The value of the USER-AGENT header in the messages sent to the server.
	UserAgent string `json:"user-agent,omitempty"`
	// Specifies the number of worker threads (at least 1) that syslog-ng OSE uses to send messages to the server. Increasing the number of worker threads can drastically improve the performance of the destination.
	Workers int `json:"workers,omitempty"`
	// If you receive the following error message during syslog-ng startup, set the `persist-name()` option of the duplicate drivers: `Error checking the uniqueness of the persist names, please override it with persist-name option. Shutting down.` See the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/#persist-name) for more information.
	PersistName string `json:"persist_name,omitempty"`
	// The number of messages that the output queue can store.
	LogFIFOSize int `json:"log-fifo-size,omitempty"`
	// Sets the maximum number of messages sent to the destination per second. Use this output-rate-limiting functionality only when using disk-buffer as well to avoid the risk of losing messages. Specifying 0 or a lower value sets the output limit to unlimited.
	Timeout int `json:"timeout,omitempty"`
	// Specifies what syslog-ng does with the log message, based on the response code received from the HTTP server. See the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/#response-action) for more information.
	ResponseAction filter.RawArrowMap `json:"response-action,omitempty"`
}

+kubebuilder:object:generate=true

func (*HTTPOutput) DeepCopy

func (in *HTTPOutput) DeepCopy() *HTTPOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPOutput.

func (*HTTPOutput) DeepCopyInto

func (in *HTTPOutput) DeepCopyInto(out *HTTPOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Insecure added in v0.11.0

type Insecure struct{}

type LogScaleOutput added in v0.10.0

type LogScaleOutput struct {
	// Ingester URL is the URL of the Humio cluster you want to send data to. (default: https://cloud.humio.com)
	URL *secret.Secret `json:"url,omitempty"`
	// An [Ingest Token](https://library.humio.com/data-analysis/ingesting-data-tokens.html) is a unique string that identifies a repository and allows you to send data to that repository. (default: empty)
	Token *secret.Secret `json:"token,omitempty"`
	// The raw string representing the Event. The default display for an Event in LogScale is the rawstring. If you do not provide the rawstring field, then the response defaults to a JSON representation of the attributes field. (default: empty)
	RawString string `json:"rawstring,omitempty"`
	// 	A JSON object representing key-value pairs for the Event. These key-value pairs adds structure to Events, making it easier to search. Attributes can be nested JSON objects, however, we recommend limiting the amount of nesting. (default: `"--scope rfc5424 --exclude MESSAGE --exclude DATE --leave-initial-dot"`)
	Attributes string `json:"attributes,omitempty"`
	// The timezone is only required if you specify the timestamp in milliseconds. The timezone specifies the local timezone for the event. Note that you must still specify the timestamp in UTC time.
	TimeZone string `json:"timezone,omitempty"`
	//  This field represents additional headers that can be included in the HTTP request when sending log records to Falcon's LogScale.  (default: empty)
	ExtraHeaders string `json:"extra_headers,omitempty"`
	//   This field specifies the content type of the log records being sent to Falcon's LogScale. (default: `"application/json"`)
	ContentType string `json:"content_type,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer   *DiskBuffer `json:"disk_buffer,omitempty"`
	Body         string      `json:"body,omitempty"`
	BatchLines   int         `json:"batch_lines,omitempty"`
	BatchBytes   int         `json:"batch_bytes,omitempty"`
	BatchTimeout int         `json:"batch_timeout,omitempty"`
	PersistName  string      `json:"persist_name,omitempty"`
}

+kubebuilder:object:generate=true

func (*LogScaleOutput) DeepCopy added in v0.10.0

func (in *LogScaleOutput) DeepCopy() *LogScaleOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogScaleOutput.

func (*LogScaleOutput) DeepCopyInto added in v0.10.0

func (in *LogScaleOutput) DeepCopyInto(out *LogScaleOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Loggly

type Loggly struct {
	// Address of the destination host.
	Host string `json:"host,omitempty"`
	// Event tag. For details, see the [Loggy documentation](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/tags.htm)
	Tag string `json:"tag,omitempty"`
	// Your Customer Token that you received from Loggly. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-loggly/)
	Token *secret.Secret `json:"token"`
	// syslog output configuration
	SyslogOutput `json:",inline"`
}

+kubebuilder:object:generate=true Documentation: https://github.com/syslog-ng/syslog-ng/blob/master/scl/loggly/loggly.conf

func (*Loggly) DeepCopy

func (in *Loggly) DeepCopy() *Loggly

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Loggly.

func (*Loggly) DeepCopyInto

func (in *Loggly) DeepCopyInto(out *Loggly)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LokiOutput added in v0.11.0

type LokiOutput struct {
	// Authentication configuration, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/destination-loki/#auth).
	Auth *Auth `json:"auth,omitempty"`
	// Using the Labels map, Kubernetes label to Loki label mapping can be configured. Example: `{"app" : "$PROGRAM"}`
	Labels filter.ArrowMap `json:"labels,omitempty"`
	// Specifies the hostname or IP address and optionally the port number of the  service that can receive log data via gRPC. Use a colon (:) after the address to specify the port number of the server. For example: `grpc://127.0.0.1:8000`
	URL string `json:"url,omitempty"`
	// The time to wait in seconds before a dead connection is reestablished. (default: 60)
	TimeReopen int `json:"time_reopen,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
	// Description: Specifies how many lines are flushed to a destination in one batch. The syslog-ng OSE application waits for this number of lines to accumulate and sends them off in a single batch. Increasing this number increases throughput as more messages are sent in a single batch, but also increases message latency.
	// For example, if you set batch-lines() to 100, syslog-ng OSE waits for 100 messages.
	BatchLines int `json:"batch-lines,omitempty"`
	// Description: Specifies the time syslog-ng OSE waits for lines to accumulate in the output buffer. The syslog-ng OSE application sends batches to the destinations evenly. The timer starts when the first message arrives to the buffer, so if only few messages arrive, syslog-ng OSE sends messages to the destination at most once every batch-timeout() milliseconds.
	BatchTimeout int `json:"batch-timeout,omitempty"`
	// The number of times syslog-ng OSE attempts to send a message to this destination. If syslog-ng OSE could not send a message, it will try again until the number of attempts reaches retries, then drops the message.
	Retries int `json:"retries,omitempty"`
	// Specifies the number of worker threads (at least 1) that syslog-ng OSE uses to send messages to the server. Increasing the number of worker threads can drastically improve the performance of the destination.
	Workers int `json:"workers,omitempty"`
	// If you receive the following error message during AxoSyslog startup, set the persist-name() option of the duplicate drivers:
	// `Error checking the uniqueness of the persist names, please override it with persist-name option. Shutting down.`
	// See [syslog-ng docs](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/#persist-name) for more information.
	PersistName string `json:"persist_name,omitempty"`
	// The number of messages that the output queue can store.
	LogFIFOSize int `json:"log-fifo-size,omitempty"`
	// The timestamp that will be applied to the outgoing messages (possible values: current|received|msg default: current). Loki does not accept events, in which the timestamp is not monotonically increasing.
	// +kubebuilder:validation:Enum=current;received;msg
	Timestamp string `json:"timestamp,omitempty"`
	// Template for customizing the log message format.
	Template string `json:"template,omitempty"`
	// Sets the tenant ID for multi-tenant scenarios.
	// See [syslog-ng docs](https://axoflow.com/docs/axosyslog-core/chapter-destinations/destination-loki/#tenant-id) for more information.
	TenantID string `json:"tenant-id,omitempty"`
}

+kubebuilder:object:generate=true

func (*LokiOutput) DeepCopy added in v0.11.0

func (in *LokiOutput) DeepCopy() *LokiOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiOutput.

func (*LokiOutput) DeepCopyInto added in v0.11.0

func (in *LokiOutput) DeepCopyInto(out *LokiOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MQTT

type MQTT struct {
	// Address of the destination host
	Address string `json:"address,omitempty"`
	// Topic defines in which topic syslog-ng stores the log message. You can also use templates here, and use, for example, the $HOST macro in the topic name hierarchy.
	Topic string `json:"topic,omitempty"`
	// fallback-topic is used when syslog-ng cannot post a message to the originally defined topic (which can include invalid characters coming from templates).
	FallbackTopic string `json:"fallback-topic,omitempty"`
	// Template where you can configure the message template sent to the MQTT broker. By default, the template is: `$ISODATE $HOST $MSGHDR$MSG`
	Template string `json:"template,omitempty"`
	// qos stands for quality of service and can take three values in the MQTT world. Its default value is 0, where there is no guarantee that the message is ever delivered.
	QOS int `json:"qos,omitempty"`
}

+kubebuilder:object:generate=true

func (*MQTT) DeepCopy

func (in *MQTT) DeepCopy() *MQTT

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MQTT.

func (*MQTT) DeepCopyInto

func (in *MQTT) DeepCopyInto(out *MQTT)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MongoDB added in v0.11.0

type MongoDB struct {
	// The name of the MongoDB collection where the log messages are stored (collections are similar to SQL tables). Note that the name of the collection must not start with a dollar sign ($), and that it may contain dot (.) characters.
	Collection string `json:"collection"`
	// Defines the folder where the disk-buffer files are stored.
	Dir string `json:"dir,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
	// Connection string used for authentication.
	// See the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-mongodb/reference-destination-mongodb/#mongodb-option-uri)
	Uri *secret.Secret `json:"uri,omitempty"`
	// Creates structured name-value pairs from the data and metadata of the log message. (default: `"scope("selected-macros" "nv-pairs")"`)
	ValuePairs ValuePairs `json:"value_pairs,omitempty"`
	// Batching parameters
	Batch `json:",inline"`
	// Bulk operation related options
	Bulk `json:",inline"`
	// The number of messages that the output queue can store.
	LogFIFOSize int `json:"log-fifo-size,omitempty"`
	// If you receive the following error message during syslog-ng startup, set the `persist-name()` option of the duplicate drivers:
	// `Error checking the uniqueness of the persist names, please override it with persist-name option. Shutting down.`
	// See the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/#persist-name) for more information.
	PersistName string `json:"persist_name,omitempty"`
	// The number of times syslog-ng OSE attempts to send a message to this destination. If syslog-ng OSE could not send a message, it will try again until the number of attempts reaches retries, then drops the message.
	Retries int `json:"retries,omitempty"`
	// The time to wait in seconds before a dead connection is reestablished. (default: 60)
	TimeReopen int `json:"time_reopen,omitempty"`
	// 	Description: Sets the write concern mode of the MongoDB operations, for both bulk and single mode.
	// For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-mongodb/reference-destination-mongodb/#mongodb-option-write-concern).
	// +kubebuilder:validation:Enum=unacked;acked;majority
	WriteConcern RawString `json:"write_concern,omitempty"`
}

+kubebuilder:object:generate=true

func (*MongoDB) DeepCopy added in v0.11.0

func (in *MongoDB) DeepCopy() *MongoDB

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDB.

func (*MongoDB) DeepCopyInto added in v0.11.0

func (in *MongoDB) DeepCopyInto(out *MongoDB)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenTelemetryOutput added in v0.12.0

type OpenTelemetryOutput struct {
	// Specifies the hostname or IP address and optionally the port number of the web service that can receive log data via HTTP. Use a colon (:) after the address to specify the port number of the server. For example: `http://127.0.0.1:8000`
	URL string `json:"url"`
	// Authentication configuration, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/destination-syslog-ng-otlp/#auth).
	Auth *Auth `json:"auth,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
	// Batching parameters
	Batch `json:",inline"`
	// Enable or disable compression. (default: false)
	Compression *bool `json:"compression,omitempty"`
	// Add GRPC Channel arguments https://axoflow.com/docs/axosyslog-core/chapter-destinations/opentelemetry/#channel-args
	ChannelArgs filter.ArrowMap `json:"channel_args,omitempty"`
}

+kubebuilder:object:generate=true

func (*OpenTelemetryOutput) DeepCopy added in v0.12.0

func (in *OpenTelemetryOutput) DeepCopy() *OpenTelemetryOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryOutput.

func (*OpenTelemetryOutput) DeepCopyInto added in v0.12.0

func (in *OpenTelemetryOutput) DeepCopyInto(out *OpenTelemetryOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenobserveOutput added in v0.12.0

type OpenobserveOutput struct {
	HTTPOutput `json:",inline"`
	// The port number of the OpenObserve server. (default: 5080)
	// Specify it here instead of appending it to the URL.
	Port int `json:"port,omitempty"`
	// Name of the organization in OpenObserve.
	Organization string `json:"organization,omitempty"`
	// Name of the stream in OpenObserve.
	Stream string `json:"stream,omitempty"`
	// Arguments to the `$format-json()` template function.
	// Default: `"--scope rfc5424 --exclude DATE --key ISODATE @timestamp=${ISODATE}"`
	Record string `json:"record,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
}

+kubebuilder:object:generate=true

func (*OpenobserveOutput) BeforeRender added in v0.12.0

func (o *OpenobserveOutput) BeforeRender()

func (*OpenobserveOutput) DeepCopy added in v0.12.0

func (in *OpenobserveOutput) DeepCopy() *OpenobserveOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenobserveOutput.

func (*OpenobserveOutput) DeepCopyInto added in v0.12.0

func (in *OpenobserveOutput) DeepCopyInto(out *OpenobserveOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawString added in v0.11.0

type RawString string

type RedisOutput added in v0.11.0

type RedisOutput struct {
	// The hostname or IP address of the Redis server. (default: 127.0.0.1)
	Host string `json:"host,omitempty"`
	// The password used for authentication on a password-protected Redis server.
	Auth *secret.Secret `json:"auth,omitempty"`
	// The port number of the Redis server. (default: 6379)
	Port int `json:"port,omitempty"`
	// If syslog-ng OSE cannot send a message, it will try again until the number of attempts reaches `retries()`. (default: 3)
	Retries int `json:"retries,omitempty"`
	//  Sets the maximum number of messages sent to the destination per second. Use this output-rate-limiting functionality only when using disk-buffer as well to avoid the risk of losing messages. Specifying 0 or a lower value sets the output limit to unlimited. (default: 0)
	Throttle int `json:"throttle,omitempty"`
	// The time to wait in seconds before a dead connection is reestablished. (default: 60)
	TimeReopen int `json:"time-reopen,omitempty"`
	// Specifies the number of worker threads (at least 1) that syslog-ng OSE uses to send messages to the server. Increasing the number of worker threads can drastically improve the performance of the destination. (default: 1)
	Workers int `json:"workers,omitempty"`
	// The Redis command to execute, for example, LPUSH, INCR, or HINCRBY. Using the HINCRBY command with an increment value of 1 allows you to create various statistics. For example, the `command("HINCRBY" "${HOST}/programs" "${PROGRAM}" "1")` command counts the number of log messages on each host for each program. (default: "")
	CommandAndArguments []string `json:"command_and_arguments,omitempty" syslog-ng:"ignore"`
	// Internal rendered form of the CommandAndArguments field
	RenderedCommand StringList `json:"command,omitempty"`
	// Batching parameters
	Batch `json:",inline"`
	// The number of messages that the output queue can store.
	LogFIFOSize int `json:"log-fifo-size,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
	// Persistname
	PersistName string `json:"persist_name,omitempty"`
}

+kubebuilder:object:generate=true

func (*RedisOutput) BeforeRender added in v0.11.0

func (o *RedisOutput) BeforeRender()

func (*RedisOutput) DeepCopy added in v0.11.0

func (in *RedisOutput) DeepCopy() *RedisOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisOutput.

func (*RedisOutput) DeepCopyInto added in v0.11.0

func (in *RedisOutput) DeepCopyInto(out *RedisOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3Output added in v0.11.0

type S3Output struct {
	// The hostname or IP address of the S3 server.
	Url string `json:"url,omitempty"`
	// The bucket name of the S3 server.
	Bucket string `json:"bucket,omitempty"`
	// The access_key for the S3 server.
	AccessKey *secret.Secret `json:"access_key,omitempty"`
	// The secret_key for the S3 server.
	SecretKey *secret.Secret `json:"secret_key,omitempty"`
	// The object_key for the S3 server.
	ObjectKey string `json:"object_key,omitempty"`
	// Set object_key_timestamp
	ObjectKeyTimestamp string `json:"object_key_timestamp,omitempty"`
	// Template
	Template string `json:"template,omitempty"`
	// Enable or disable compression. (default: false)
	Compression *bool `json:"compression,omitempty"`
	// Set the compression level (1-9). (default: 9)
	CompressLevel int `json:"compresslevel,omitempty"`
	// Set the chunk size. (default: 5MiB)
	ChunkSize int `json:"chunk_size,omitempty"`
	// Set the maximum object size size. (default: 5120GiB)
	MaxObjectSize int `json:"max_object_size,omitempty"`
	// Set the number of upload threads. (default: 8)
	UploadThreads int `json:"upload_threads,omitempty"`
	// Set the maximum number of pending uploads. (default: 32)
	MaxPendingUploads int `json:"max_pending_uploads,omitempty"`
	// Set the number of seconds for flush period. (default: 60)
	FlushGracePeriod int `json:"flush_grace_period,omitempty"`
	// Set the region option.
	Region string `json:"region,omitempty"`
	// Set the storage_class option.
	StorageClass string `json:"storage_class,omitempty"`
	// Set the canned_acl option.
	CannedAcl string `json:"canned_acl,omitempty"`
	// The number of messages that the output queue can store.
	LogFIFOSize int `json:"log-fifo-size,omitempty"`
	// Persistname
	PersistName string `json:"persist_name,omitempty"`
	// The number of times syslog-ng OSE attempts to send a message to this destination. If syslog-ng OSE could not send a message, it will try again until the number of attempts reaches retries, then drops the message.
	Retries int `json:"retries,omitempty"`
	//  Sets the maximum number of messages sent to the destination per second. Use this output-rate-limiting functionality only when using disk-buffer as well to avoid the risk of losing messages. Specifying 0 or a lower value sets the output limit to unlimited. (default: 0)
	Throttle int `json:"throttle,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
}

+kubebuilder:object:generate=true

func (*S3Output) DeepCopy added in v0.11.0

func (in *S3Output) DeepCopy() *S3Output

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Output.

func (*S3Output) DeepCopyInto added in v0.11.0

func (in *S3Output) DeepCopyInto(out *S3Output)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SplunkHECOutput added in v0.11.0

type SplunkHECOutput struct {
	HTTPOutput `json:",inline"`
	// The token that syslog-ng OSE uses to authenticate on the event collector.
	Token secret.Secret `json:"token,omitempty"`
	// event() accepts a template, which declares the content of the log message sent to Splunk. Default value: `${MSG}`
	Event string `json:"event,omitempty"`
	// Splunk index where the messages will be stored.
	Index string `json:"index,omitempty"`
	// Sets the source field.
	Source string `json:"source,omitempty"`
	// Sets the sourcetype field.
	Sourcetype string `json:"sourcetype,omitempty"`
	// Sets the host field.
	Host string `json:"host,omitempty"`
	// Sets the time field.
	Time string `json:"time,omitempty"`
	// Fallback option for index field.
	// For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/syslog-ng-with-splunk/).
	DefaultIndex string `json:"default_index,omitempty"`
	// Fallback option for source field.
	DefaultSource string `json:"default_source,omitempty"`
	// Fallback option for sourcetype field.
	DefaultSourcetype string `json:"default_sourcetype,omitempty"`
	// Additional indexing metadata for Splunk.
	Fields string `json:"fields,omitempty"`
	// Additional HTTP request headers.
	ExtraHeaders []string `json:"extra_headers,omitempty"`
	// Additional HTTP request query options.
	ExtraQueries []string `json:"extra_queries,omitempty"`
	// Additional HTTP request content-type option.
	ContentType string `json:"content_type,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
}

+kubebuilder:object:generate=true

func (*SplunkHECOutput) DeepCopy added in v0.11.0

func (in *SplunkHECOutput) DeepCopy() *SplunkHECOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplunkHECOutput.

func (*SplunkHECOutput) DeepCopyInto added in v0.11.0

func (in *SplunkHECOutput) DeepCopyInto(out *SplunkHECOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StringList added in v0.11.0

type StringList struct {
	List []string `json:"string-list,omitempty"`
}

+kubebuilder:object:generate=true

func (*StringList) DeepCopy added in v0.11.0

func (in *StringList) DeepCopy() *StringList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringList.

func (*StringList) DeepCopyInto added in v0.11.0

func (in *StringList) DeepCopyInto(out *StringList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SumologicHTTPOutput

type SumologicHTTPOutput struct {
	// The Cloud Syslog Cloud Token that you received from the Sumo Logic service while configuring your cloud syslog source. (default: empty)
	Collector *secret.Secret `json:"collector,omitempty"`
	// This option specifies your Sumo Logic deployment.https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-by-Deployment-and-Firewall-Security  (default: empty)
	Deployment string `json:"deployment,omitempty"`
	// Custom HTTP headers to include in the request, for example, `headers("HEADER1: header1", "HEADER2: header2")`.  (default: empty)
	Headers []string `json:"headers,omitempty"`
	// The time to wait in seconds before a dead connection is reestablished. (default: 60)
	TimeReopen int `json:"time_reopen,omitempty"`
	// This option sets various options related to TLS encryption, for example, key/certificate files and trusted CA locations. TLS can be used only with tcp-based transport protocols. For details, see [TLS for syslog-ng outputs](../tls/) and the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/).
	TLS *TLS `json:"tls,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer   *DiskBuffer    `json:"disk_buffer,omitempty"`
	Body         string         `json:"body,omitempty"`
	URL          *secret.Secret `json:"url,omitempty"`
	BatchLines   int            `json:"batch-lines,omitempty"`
	BatchBytes   int            `json:"batch-bytes,omitempty"`
	BatchTimeout int            `json:"batch-timeout,omitempty"`
	PersistName  string         `json:"persist_name,omitempty"`
}

+kubebuilder:object:generate=true

func (*SumologicHTTPOutput) DeepCopy

func (in *SumologicHTTPOutput) DeepCopy() *SumologicHTTPOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SumologicHTTPOutput.

func (*SumologicHTTPOutput) DeepCopyInto

func (in *SumologicHTTPOutput) DeepCopyInto(out *SumologicHTTPOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SumologicSyslogOutput

type SumologicSyslogOutput struct {
	// This option sets the port number of the Sumo Logic server to connect to. (default: 6514)
	Port int `json:"port,omitempty"`
	// This option specifies your Sumo Logic deployment.https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-by-Deployment-and-Firewall-Security  (default: empty)
	Deployment string `json:"deployment,omitempty"`
	//  This option specifies the list of tags to add as the tags fields of Sumo Logic messages. If not specified, syslog-ng OSE automatically adds the tags already assigned to the message. If you set the tag() option, only the tags you specify will be added to the messages. (default: tag)
	Tag string `json:"tag,omitempty"`
	// The Cloud Syslog Cloud Token that you received from the Sumo Logic service while configuring your cloud syslog source. https://help.sumologic.com/03Send-Data/Sources/02Sources-for-Hosted-Collectors/Cloud-Syslog-Source#configure-a-cloud%C2%A0syslog%C2%A0source
	Token int `json:"token,omitempty"`
	// This option sets various options related to TLS encryption, for example, key/certificate files and trusted CA locations. TLS can be used only with tcp-based transport protocols. For details, see [TLS for syslog-ng outputs](../tls/) and the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/).
	TLS *TLS `json:"tls,omitempty"`
	// This option enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/). (default: false)
	DiskBuffer  *DiskBuffer `json:"disk_buffer,omitempty"`
	PersistName string      `json:"persist_name,omitempty"`
}

+kubebuilder:object:generate=true

func (*SumologicSyslogOutput) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SumologicSyslogOutput.

func (*SumologicSyslogOutput) DeepCopyInto

func (in *SumologicSyslogOutput) DeepCopyInto(out *SumologicSyslogOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SyslogOutput

type SyslogOutput struct {
	// Address of the destination host
	Host string `json:"host,omitempty" syslog-ng:"pos=0"`
	// The port number to connect to. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#port-or-destport).
	Port int `json:"port,omitempty"`
	// Specifies the protocol used to send messages to the destination server. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#transport).
	Transport string `json:"transport,omitempty"`
	// By default, syslog-ng OSE closes destination sockets if it receives any input from the socket (for example, a reply). If this option is set to no, syslog-ng OSE just ignores the input, but does not close the socket. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#close-on-input).
	CloseOnInput *bool `json:"close_on_input,omitempty"`
	// Flags influence the behavior of the destination driver. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#flags).
	Flags []string `json:"flags,omitempty"`
	// Specifies how many lines are flushed to a destination at a time. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#flush-lines).
	FlushLines int `json:"flush_lines,omitempty"`
	// Enables keep-alive messages, keeping the socket open. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#so-keepalive).
	SoKeepalive *bool `json:"so_keepalive,omitempty"`
	// Specifies the number of seconds syslog-ng waits for identical messages. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#suppress).
	Suppress int `json:"suppress,omitempty"`
	// Specifies a template defining the logformat to be used in the destination. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#template). (default: 0)
	Template string `json:"template,omitempty"`
	// Turns on escaping for the ', ", and backspace characters in templated output files. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#template-escape).
	TemplateEscape *bool `json:"template_escape,omitempty"`
	// Sets various options related to TLS encryption, for example, key/certificate files and trusted CA locations. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#tls).
	TLS *TLS `json:"tls,omitempty"`
	// Override the global timestamp format (set in the global ts-format() parameter) for the specific destination. For details, see the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/reference-destination-syslog-chapter/#ts-format).
	TSFormat string `json:"ts_format,omitempty"`
	// Enables putting outgoing messages into the disk buffer of the destination to avoid message loss in case of a system failure on the destination side. For details, see the [Syslog-ng DiskBuffer options](../disk_buffer/).
	DiskBuffer *DiskBuffer `json:"disk_buffer,omitempty"`
	// Unique name for the syslog-ng driver. If you receive the following error message during syslog-ng startup, set the `persist-name()` option of the duplicate drivers: `Error checking the uniqueness of the persist names, please override it with persist-name option. Shutting down.` See the [documentation of the AxoSyslog syslog-ng distribution](https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/#persist-name) for more information.
	PersistName string `json:"persist_name,omitempty"`
}

+kubebuilder:object:generate=true Documentation: https://axoflow.com/docs/axosyslog-core/chapter-destinations/configuring-destinations-syslog/

func (*SyslogOutput) DeepCopy

func (in *SyslogOutput) DeepCopy() *SyslogOutput

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogOutput.

func (*SyslogOutput) DeepCopyInto

func (in *SyslogOutput) DeepCopyInto(out *SyslogOutput)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLS

type TLS struct {
	// The name of a directory that contains a set of trusted CA certificates in PEM format. For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#ca-dir).
	CaDir *secret.Secret `json:"ca_dir,omitempty"`
	// The name of a file that contains a set of trusted CA certificates in PEM format. (Optional) For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#ca-file).
	CaFile *secret.Secret `json:"ca_file,omitempty"`
	// The name of a file that contains an unencrypted private key in PEM format, suitable as a TLS key. For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#key-file).
	KeyFile *secret.Secret `json:"key_file,omitempty"`
	// Name of a file, that contains an X.509 certificate (or a certificate chain) in PEM format, suitable as a TLS certificate, matching the private key set in the key-file() option. For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#cert-file).
	CertFile *secret.Secret `json:"cert_file,omitempty"`
	// Verification method of the peer. For details, see the [AxoSyslog Core documentation](https://axoflow.com/docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/#tls-options-peer-verify).
	PeerVerify *bool `json:"peer_verify,omitempty"`
	// Use the certificate store of the system for verifying HTTPS certificates. For details, see the [AxoSyslog Core documentation](https://curl.se/docs/sslcerts.html).
	UseSystemCertStore *bool `json:"use-system-cert-store,omitempty"`
	// Description: Specifies the cipher, hash, and key-exchange algorithms used for the encryption, for example, ECDHE-ECDSA-AES256-SHA384. The list of available algorithms depends on the version of OpenSSL used to compile syslog-ng.
	CipherSuite string `json:"cipher-suite,omitempty"`
	// Configure required TLS version. Accepted values: [sslv3, tlsv1, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3]
	// +kubebuilder:validation:Enum=sslv3;tlsv1;tlsv1_0;tlsv1_1;tlsv1_2;tlsv1_3
	SslVersion string `json:"ssl_version,omitempty"`
}

+kubebuilder:object:generate=true

func (*TLS) DeepCopy

func (in *TLS) DeepCopy() *TLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.

func (*TLS) DeepCopyInto

func (in *TLS) DeepCopyInto(out *TLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ValuePairs added in v0.11.0

type ValuePairs struct {
	Scope   RawString `json:"scope,omitempty"`
	Exclude RawString `json:"exclude,omitempty"`
	Key     RawString `json:"key,omitempty"`
	Pair    RawString `json:"pair,omitempty"`
}

+kubebuilder:object:generate=true TODO move this to a common module once it is used in more places

func (*ValuePairs) DeepCopy added in v0.11.0

func (in *ValuePairs) DeepCopy() *ValuePairs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValuePairs.

func (*ValuePairs) DeepCopyInto added in v0.11.0

func (in *ValuePairs) DeepCopyInto(out *ValuePairs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WriteConcern added in v0.11.0

type WriteConcern int

+kubebuilder:object:generate=true

Jump to

Keyboard shortcuts

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