DocumentationReferenceV1Alpha1

API Reference

Resources Types

KasprApp

A program that runs components of a distributed stream processing application.

FieldTypeDefaultRequired
apiVersionstring

kaspr.io/v1alpha1

Yes
kindstring

KasprApp

Yes
metadataObjectMeta

{}

Yes

Metadata that all persisted resources must have.

KasprAppConfig

KasprApp configuration parameters.

FieldTypeDefaultRequired
topicReplicationFactorinteger

3

No

The default replication factor for topics created by the application.

topicPartitionsinteger

3

No

Default number of partitions for topics created by the application.

topicAllowDeclareboolean

false

No

This setting controls whether or not creation of topics is allowed.

schedulerEnabledboolean

false

No

This setting controls whether or not the message scheduler is enabled.

schedulerDebugStatsEnabledboolean

false

No

This setting controls whether or not scheduler debug statistics are printed to log.

schedulerTopicPartitionsintegerNo

Default number of partitions for internal scheduler related topics. Defaults to general topic partition configuration if not set.

schedulerCheckpointSaveIntervalSecondsnumber:float

1.3

No

How often we save checkpoint to storage (and to changelog topic)

schedulerDispatcherDefaultCheckpointLookbackDaysinteger

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.

schedulerDispatcherCheckpointIntervalnumber:float

10.0

No

How often we checkpoint the dispacher's location in the timetable (in seconds).

schedulerJanitorCheckpointIntervalnumber:float

10.0

No

How often we checkpoint the janitor's location in the timetable (in seconds).

schedulerJanitorCleanIntervalSecondsnumber:float

3.0

No

How often the janitor attempts to clean.

schedulerJanitorHighwaterOffsetSecondsnumber:float

14400.0

No

Number of seconds the janitor trails current from the highwater timetable location.

storeRocksdbWriteBufferSizeinteger

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.

storeRocksdbMaxWriteBufferNumberinteger

3

No

Maximum number of write buffers (memtables) that can be built in memory at the same time.

storeRocksdbTargetFileSizeBaseinteger

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.

storeRocksdbBlockCacheSizeintegerNo

Size for caching uncompressed data. Defauls to about 30% of application's total memory budget

storeRocksdbBlockCacheCompressedSizeinteger

268435456

No

Size for caching compressed data. Defaults to 254MB.

storeRocksdbBloomFilterSizeinteger

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.

storeRocksdbSetCacheIndexAndFilterBlocksboolean

3

No

If set to true, index and filter blocks will be stored in block cache, together with all other data blocks.

webBasePathstringNo

Base HTTP path for serving web requests.

webPortinteger

6065

No

Port number between 1024 and 65535 to use for the web server.

KasprAppSpec

Specification of the desired settings of the application.

FieldTypeDefaultRequired
versionstringNo

The kaspr version. Defaults to the latest.

replicasinteger

1

No

The number of desired instances.

imagestringNo

The container image to use. Defaults to the corresponding image of the version configuration.

bootstrapServersstringYes

Bootstrap server names to connect to. This should be given as a comma separated list of <hostname>:<port> pairs.

tlsTLSNo

TLS configuration. Provide an empty entry {} to enable TLS or exclude the field to disable TLS.

authenticationKafkaAuthenticationNo

Authentication configuration for Kafka.

resourcesResourceRequirementsNo

Compute Resources required by each instance on the application.

storageStorageRequirementsYes

Disk storage required by each instance of the application.

KafkaAuthentication

Kafka authentication configuration.

FieldTypeDefaultRequired
typestringNo

The type of authentication to use. Must be one of scram-sha-256, scram-sha-512, or plain

usernamestringNo

Username used for authentication.

passwordSecretPasswordSecretNo

Details of the kubernetes secret where the authentication password is stored.

PasswordSecret

Kubernetes secret.

FieldTypeDefaultRequired
secretNamestringYes

The name of the Kubernetes secret resource containting the password.

passwordKeystringYes

The name of the key in the Secret under which the password is stored.

StorageRequirements

Disk storage configuration (disk).

FieldTypeDefaultRequired
typestringYes

Storage type, must be ephemeral or persistent-claim

classstringYes

The storage class to use for dynamic volume allocation.

deleteClaimboolean

false

No

Specifies if the persistent volume claim has to be deleted when the app is undeployed.