kafkaconnectuserconfig

package
v0.23.0 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Aws added in v0.21.0

type Aws struct {
	// +kubebuilder:validation:MaxLength=128
	// Access key used to authenticate with aws
	AccessKey *string `groups:"create,update" json:"access_key,omitempty"`

	// +kubebuilder:validation:Enum="credentials"
	// Auth method of the vault secret provider
	AuthMethod string `groups:"create,update" json:"auth_method"`

	// +kubebuilder:validation:MaxLength=64
	// Region used to lookup secrets with AWS SecretManager
	Region string `groups:"create,update" json:"region"`

	// +kubebuilder:validation:MaxLength=128
	// Secret key used to authenticate with aws
	SecretKey *string `groups:"create,update" json:"secret_key,omitempty"`
}

AWS config for Secret Provider

func (*Aws) DeepCopy added in v0.21.0

func (in *Aws) DeepCopy() *Aws

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

func (*Aws) DeepCopyInto added in v0.21.0

func (in *Aws) DeepCopyInto(out *Aws)

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

type IpFilter

type IpFilter struct {
	// +kubebuilder:validation:MaxLength=1024
	// Description for IP filter list entry
	Description *string `groups:"create,update" json:"description,omitempty"`

	// +kubebuilder:validation:MaxLength=43
	// CIDR address block
	Network string `groups:"create,update" json:"network"`
}

CIDR address block, either as a string, or in a dict with an optional description field

func (*IpFilter) DeepCopy

func (in *IpFilter) DeepCopy() *IpFilter

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

func (*IpFilter) DeepCopyInto

func (in *IpFilter) DeepCopyInto(out *IpFilter)

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

type KafkaConnect

type KafkaConnect struct {
	// +kubebuilder:validation:Enum="None";"All"
	// Defines what client configurations can be overridden by the connector. Default is None
	ConnectorClientConfigOverridePolicy *string `groups:"create,update" json:"connector_client_config_override_policy,omitempty"`

	// +kubebuilder:validation:Enum="earliest";"latest"
	// What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest
	ConsumerAutoOffsetReset *string `groups:"create,update" json:"consumer_auto_offset_reset,omitempty"`

	// +kubebuilder:validation:Minimum=1048576
	// +kubebuilder:validation:Maximum=104857600
	// Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum.
	ConsumerFetchMaxBytes *int `groups:"create,update" json:"consumer_fetch_max_bytes,omitempty"`

	// +kubebuilder:validation:Enum="read_uncommitted";"read_committed"
	// Transaction read isolation level. read_uncommitted is the default, but read_committed can be used if consume-exactly-once behavior is desired.
	ConsumerIsolationLevel *string `groups:"create,update" json:"consumer_isolation_level,omitempty"`

	// +kubebuilder:validation:Minimum=1048576
	// +kubebuilder:validation:Maximum=104857600
	// Records are fetched in batches by the consumer.If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress.
	ConsumerMaxPartitionFetchBytes *int `groups:"create,update" json:"consumer_max_partition_fetch_bytes,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// The maximum delay in milliseconds between invocations of poll() when using consumer group management (defaults to 300000).
	ConsumerMaxPollIntervalMs *int `groups:"create,update" json:"consumer_max_poll_interval_ms,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10000
	// The maximum number of records returned in a single call to poll() (defaults to 500).
	ConsumerMaxPollRecords *int `groups:"create,update" json:"consumer_max_poll_records,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100000000
	// The interval at which to try committing offsets for tasks (defaults to 60000).
	OffsetFlushIntervalMs *int `groups:"create,update" json:"offset_flush_interval_ms,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt (defaults to 5000).
	OffsetFlushTimeoutMs *int `groups:"create,update" json:"offset_flush_timeout_ms,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=5242880
	// This setting gives the upper bound of the batch size to be sent. If there are fewer than this many bytes accumulated for this partition, the producer will 'linger' for the linger.ms time waiting for more records to show up. A batch size of zero will disable batching entirely (defaults to 16384).
	ProducerBatchSize *int `groups:"create,update" json:"producer_batch_size,omitempty"`

	// +kubebuilder:validation:Minimum=5242880
	// +kubebuilder:validation:Maximum=134217728
	// The total bytes of memory the producer can use to buffer records waiting to be sent to the broker (defaults to 33554432).
	ProducerBufferMemory *int `groups:"create,update" json:"producer_buffer_memory,omitempty"`

	// +kubebuilder:validation:Enum="gzip";"snappy";"lz4";"zstd";"none"
	// Specify the default compression type for producers. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'none' which is the default and equivalent to no compression.
	ProducerCompressionType *string `groups:"create,update" json:"producer_compression_type,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=5000
	// This setting gives the upper bound on the delay for batching: once there is batch.size worth of records for a partition it will be sent immediately regardless of this setting, however if there are fewer than this many bytes accumulated for this partition the producer will 'linger' for the specified time waiting for more records to show up. Defaults to 0.
	ProducerLingerMs *int `groups:"create,update" json:"producer_linger_ms,omitempty"`

	// +kubebuilder:validation:Minimum=131072
	// +kubebuilder:validation:Maximum=67108864
	// This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.
	ProducerMaxRequestSize *int `groups:"create,update" json:"producer_max_request_size,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=600000
	// The maximum delay that is scheduled in order to wait for the return of one or more departed workers before rebalancing and reassigning their connectors and tasks to the group. During this period the connectors and tasks of the departed workers remain unassigned. Defaults to 5 minutes.
	ScheduledRebalanceMaxDelayMs *int `groups:"create,update" json:"scheduled_rebalance_max_delay_ms,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// The timeout in milliseconds used to detect failures when using Kafka’s group management facilities (defaults to 10000).
	SessionTimeoutMs *int `groups:"create,update" json:"session_timeout_ms,omitempty"`
}

Kafka Connect configuration values

func (*KafkaConnect) DeepCopy

func (in *KafkaConnect) DeepCopy() *KafkaConnect

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

func (*KafkaConnect) DeepCopyInto

func (in *KafkaConnect) DeepCopyInto(out *KafkaConnect)

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

type KafkaConnectUserConfig

type KafkaConnectUserConfig struct {
	// +kubebuilder:validation:MaxItems=1
	// +kubebuilder:deprecatedversion:warning="additional_backup_regions is deprecated"
	// Deprecated. Additional Cloud Regions for Backup Replication
	AdditionalBackupRegions []string `groups:"create,update" json:"additional_backup_regions,omitempty"`

	// +kubebuilder:validation:MaxItems=1024
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IpFilter []*IpFilter `groups:"create,update" json:"ip_filter,omitempty"`

	// Kafka Connect configuration values
	KafkaConnect *KafkaConnect `groups:"create,update" json:"kafka_connect,omitempty"`

	// Allow access to selected service ports from private networks
	PrivateAccess *PrivateAccess `groups:"create,update" json:"private_access,omitempty"`

	// Allow access to selected service components through Privatelink
	PrivatelinkAccess *PrivatelinkAccess `groups:"create,update" json:"privatelink_access,omitempty"`

	// Allow access to selected service ports from the public Internet
	PublicAccess *PublicAccess `groups:"create,update" json:"public_access,omitempty"`

	// Configure external secret providers in order to reference external secrets in connector configuration. Currently Hashicorp Vault (provider: vault, auth_method: token) and AWS Secrets Manager (provider: aws, auth_method: credentials) are supported. Secrets can be referenced in connector config with ${<provider_name>:<secret_path>:<key_name>}
	SecretProviders []*SecretProviders `groups:"create,update" json:"secret_providers,omitempty"`

	// Store logs for the service so that they are available in the HTTP API and console.
	ServiceLog *bool `groups:"create,update" json:"service_log,omitempty"`

	// Use static public IP addresses
	StaticIps *bool `groups:"create,update" json:"static_ips,omitempty"`
}

func (*KafkaConnectUserConfig) DeepCopy

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

func (*KafkaConnectUserConfig) DeepCopyInto

func (in *KafkaConnectUserConfig) DeepCopyInto(out *KafkaConnectUserConfig)

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

type PrivateAccess

type PrivateAccess struct {
	// Allow clients to connect to kafka_connect with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	KafkaConnect *bool `groups:"create,update" json:"kafka_connect,omitempty"`

	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Prometheus *bool `groups:"create,update" json:"prometheus,omitempty"`
}

Allow access to selected service ports from private networks

func (*PrivateAccess) DeepCopy

func (in *PrivateAccess) DeepCopy() *PrivateAccess

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

func (*PrivateAccess) DeepCopyInto

func (in *PrivateAccess) DeepCopyInto(out *PrivateAccess)

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

type PrivatelinkAccess

type PrivatelinkAccess struct {
	// Enable jolokia
	Jolokia *bool `groups:"create,update" json:"jolokia,omitempty"`

	// Enable kafka_connect
	KafkaConnect *bool `groups:"create,update" json:"kafka_connect,omitempty"`

	// Enable prometheus
	Prometheus *bool `groups:"create,update" json:"prometheus,omitempty"`
}

Allow access to selected service components through Privatelink

func (*PrivatelinkAccess) DeepCopy

func (in *PrivatelinkAccess) DeepCopy() *PrivatelinkAccess

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

func (*PrivatelinkAccess) DeepCopyInto

func (in *PrivatelinkAccess) DeepCopyInto(out *PrivatelinkAccess)

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

type PublicAccess

type PublicAccess struct {
	// Allow clients to connect to kafka_connect from the public internet for service nodes that are in a project VPC or another type of private network
	KafkaConnect *bool `groups:"create,update" json:"kafka_connect,omitempty"`

	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network
	Prometheus *bool `groups:"create,update" json:"prometheus,omitempty"`
}

Allow access to selected service ports from the public Internet

func (*PublicAccess) DeepCopy

func (in *PublicAccess) DeepCopy() *PublicAccess

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

func (*PublicAccess) DeepCopyInto

func (in *PublicAccess) DeepCopyInto(out *PublicAccess)

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

type SecretProviders added in v0.21.0

type SecretProviders struct {
	// AWS config for Secret Provider
	Aws *Aws `groups:"create,update" json:"aws,omitempty"`

	// Name of the secret provider. Used to reference secrets in connector config.
	Name string `groups:"create,update" json:"name"`

	// Vault Config for Secret Provider
	Vault *Vault `groups:"create,update" json:"vault,omitempty"`
}

SecretProvider

func (*SecretProviders) DeepCopy added in v0.21.0

func (in *SecretProviders) DeepCopy() *SecretProviders

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

func (*SecretProviders) DeepCopyInto added in v0.21.0

func (in *SecretProviders) DeepCopyInto(out *SecretProviders)

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

type Vault added in v0.21.0

type Vault struct {
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=65536
	// Address of the Vault server
	Address string `groups:"create,update" json:"address"`

	// +kubebuilder:validation:Enum="token"
	// Auth method of the vault secret provider
	AuthMethod string `groups:"create,update" json:"auth_method"`

	// +kubebuilder:validation:Enum=1;2
	// KV Secrets Engine version of the Vault server instance
	EngineVersion *int `groups:"create,update" json:"engine_version,omitempty"`

	// +kubebuilder:validation:MaxLength=256
	// Token used to authenticate with vault and auth method `token`.
	Token *string `groups:"create,update" json:"token,omitempty"`
}

Vault Config for Secret Provider

func (*Vault) DeepCopy added in v0.21.0

func (in *Vault) DeepCopy() *Vault

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

func (*Vault) DeepCopyInto added in v0.21.0

func (in *Vault) DeepCopyInto(out *Vault)

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

Jump to

Keyboard shortcuts

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