API Reference
Resources Types
KasprApp
A program that runs components of a distributed stream processing application.
Field | Type | Default | Required |
---|---|---|---|
apiVersion | string | kaspr.io/v1alpha1 | Yes |
kind | string | KasprApp | Yes |
metadata | ObjectMeta | {} | Yes |
Metadata that all persisted resources must have. |
KasprAppConfig
KasprApp
configuration parameters.
Field | Type | Default | Required |
---|---|---|---|
topicReplicationFactor | integer | 3 | No |
The default replication factor for topics created by the application. | |||
topicPartitions | integer | 3 | No |
Default number of partitions for topics created by the application. | |||
topicAllowDeclare | boolean | false | No |
This setting controls whether or not creation of topics is allowed. | |||
schedulerEnabled | boolean | false | No |
This setting controls whether or not the message scheduler is enabled. | |||
schedulerDebugStatsEnabled | boolean | false | No |
This setting controls whether or not scheduler debug statistics are printed to log. | |||
schedulerTopicPartitions | integer | No | |
Default number of partitions for internal scheduler related topics. Defaults to general topic partition configuration if not set. | |||
schedulerCheckpointSaveIntervalSeconds | number:float | 1.3 | No |
How often we save checkpoint to storage (and to changelog topic) | |||
schedulerDispatcherDefaultCheckpointLookbackDays | integer | 7 | No |
Number of days the dispatcher will look back from current date to seek starting a point for dispatching messages when an checkpoint is not found. This is mostly used during initial app deployment. | |||
schedulerDispatcherCheckpointInterval | number:float | 10.0 | No |
How often we checkpoint the dispacher's location in the timetable (in seconds). | |||
schedulerJanitorCheckpointInterval | number:float | 10.0 | No |
How often we checkpoint the janitor's location in the timetable (in seconds). | |||
schedulerJanitorCleanIntervalSeconds | number:float | 3.0 | No |
How often the janitor attempts to clean. | |||
schedulerJanitorHighwaterOffsetSeconds | number:float | 14400.0 | No |
Number of seconds the janitor trails current from the highwater timetable location. | |||
storeRocksdbWriteBufferSize | integer | 67108864 | No |
This is the maximum write buffer size. It represents the amount of data to build up in memory before converting to a sorted on-disk file. The default is 64 MB. | |||
storeRocksdbMaxWriteBufferNumber | integer | 3 | No |
Maximum number of write buffers (memtables) that can be built in memory at the same time. | |||
storeRocksdbTargetFileSizeBase | integer | 67108864 | No |
Target size for files at level-1 in the LSM tree. Used to determine the size of the SST (Sorted String Table) files that RocksDB generates during compactions. The default is 64 MB. | |||
storeRocksdbBlockCacheSize | integer | No | |
Size for caching uncompressed data. Defauls to about 30% of application's total memory budget | |||
storeRocksdbBlockCacheCompressedSize | integer | 268435456 | No |
Size for caching compressed data. Defaults to 254MB. | |||
storeRocksdbBloomFilterSize | integer | 3 | No |
A Bloom filter in RocksDB is used to quickly check whether a key might be in an SST (Sorted String Table) file without actually reading the file, which can significantly improve read performance. | |||
storeRocksdbSetCacheIndexAndFilterBlocks | boolean | 3 | No |
If set to true, index and filter blocks will be stored in block cache, together with all other data blocks. | |||
webBasePath | string | No | |
Base HTTP path for serving web requests. | |||
webPort | integer | 6065 | No |
Port number between 1024 and 65535 to use for the web server. |
KasprAppSpec
Specification of the desired settings of the application.
Field | Type | Default | Required |
---|---|---|---|
version | string | No | |
The kaspr version. Defaults to the latest. | |||
replicas | integer | 1 | No |
The number of desired instances. | |||
image | string | No | |
The container image to use. Defaults to the corresponding image of the version configuration. | |||
bootstrapServers | string | Yes | |
Bootstrap server names to connect to. This should be given as a comma separated list of <hostname>:<port> pairs. | |||
tls | TLS | No | |
TLS configuration. Provide an empty entry | |||
authentication | KafkaAuthentication | No | |
Authentication configuration for Kafka. | |||
resources | ResourceRequirements | No | |
Compute Resources required by each instance on the application. | |||
storage | StorageRequirements | Yes | |
Disk storage required by each instance of the application. |
KafkaAuthentication
Kafka authentication configuration.
Field | Type | Default | Required |
---|---|---|---|
type | string | No | |
The type of authentication to use. Must be one of | |||
username | string | No | |
Username used for authentication. | |||
passwordSecret | PasswordSecret | No | |
Details of the kubernetes secret where the authentication password is stored. |
PasswordSecret
Kubernetes secret.
Field | Type | Default | Required |
---|---|---|---|
secretName | string | Yes | |
The name of the Kubernetes secret resource containting the password. | |||
passwordKey | string | Yes | |
The name of the key in the Secret under which the password is stored. |
StorageRequirements
Disk storage configuration (disk).
Field | Type | Default | Required |
---|---|---|---|
type | string | Yes | |
Storage type, must be | |||
class | string | Yes | |
The storage class to use for dynamic volume allocation. | |||
deleteClaim | boolean | false | No |
Specifies if the persistent volume claim has to be deleted when the app is undeployed. |