Documentation ¶
Overview ¶
SPDX-License-Identifier: Apache-2.0
Copyright (C) 2024 The Falco Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
Constants ¶
const ( PluginID uint32 = 18 PluginName = "kafka" PluginDescription = "Read events from Kafka topics into Falco" PluginContact = "github.com/falcosecurity/plugins" PluginVersion = "0.1.2" PluginEventSource = "kafka" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin struct { plugins.BasePlugin // contains filtered or unexported fields }
Plugin creates a connection between Kafka and Falco, exposing the messages on a set of topics to Falco's processing engine.
func (*Plugin) InitSchema ¶
func (p *Plugin) InitSchema() *sdk.SchemaInfo
type PluginConfig ¶
type PluginConfig struct { Brokers []string `json:"brokers" jsonschema:"title=Kafka Brokers,description=The list of Kafka brokers to consume messages from."` GroupId string `json:"groupId" jsonschema:"title=Group ID,description=The consumer group identifier."` Topics []string `json:"topics" jsonschema:"title=Kafka Brokers,description=The topics to consume from."` TlsConfig TlsConfig `json:"tlsConfig" jsonschema:"title=TLS Config,description=Configuration for TLS encryption."` }
PluginConfig represents the kafka configuration we collect during the initialization phase of the plugin.
type TlsConfig ¶
type TlsConfig struct { CaCertPath string `json:"caCertPath" jsonschema:"title=Ca Cert Path,description=Path to the Kafka server's public certificate."` UserCertPath string `json:"userCertPath" jsonschema:"title=User Cert Path,description=Path to the user's public certificate."` UserKeyPath string `json:"userKeyPath" jsonschema:"title=User Key Path,description=Path to the user's private key."` }
TlsConfig represents the information needed to establish an mTLS connection with the Kafka server