> For the complete documentation index, see [llms.txt](https://docs.streambased.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.streambased.io/deploy-and-operate/streambased-platform/hyperstream/configurations.md).

# Configurations

Streambased K.S.I. is configured by the standard Kroxylicious configuration scheme [here](https://kroxylicious.io/documentation/0.18.0/html/kroxylicious-proxy/#assembly-configuring-proxy-proxy)  or by equivalent environment variables documented here:

#### Environment Variables

```properties
KSI_BOOTSTRAP_SERVERS
```

Bootstrap servers for the underlying Kafka cluster

* Type: string
* Example:&#x20;

  ```
  KSI_BOOTSTRAP_SERVERS=kafka1:9092
  ```

***

```properties
KSI_GATEWAY_BOOTSTRAP_ADDRESS
```

The address that clients should connect to to access the proxy.

* Type: string
* Example:&#x20;

  ```json
  KSI_GATEWAY_BOOTSTRAP_ADDRESS=ksi:9192
  ```

***

```properties
KSI_COLD_STORAGE_TYPE
```

The method in which K.S.I. will interact with Iceberg, supported values are:

&#x20;       \* spark-connect

&#x20;       \* iceberg

* Type: string
* Example:&#x20;

  ```json
  KSI_COLD_STORAGE_TYPE=spark-connect
  ```

***

```properties
KSI_SPARK_CONNECT_URL
```

The Url of Spark-Connect, this should only be used when `KSI_COLD_STORAGE_TYPE` is `spark-connect`.

* Type: string
* Example:&#x20;

  ```json
  KSI_SPARK_CONNECT_URL=sc://spark-iceberg:15002
  ```

***

```properties
KSI_MAX_COLD_STORAGE_RECORDS_PER_FETCH
```

The maximum number of Iceberg records to return for any signle FETCH response.

* Type: integer
* Example:&#x20;

  <pre><code><strong>KSI_MAX_COLD_STORAGE_RECORDS_PER_FETCH=1000
  </strong></code></pre>

***

```properties
KSI_COLD_STORAGE_TIMEOUT_MS
```

The maximum time K.S.I. will wait for records from Iceberg before returning to Kroxylicious

* Type: integer
* Example:&#x20;

  ```
  KSI_COLD_STORAGE_TIMEOUT_MS=30000
  ```

***

```properties
KSI_ALWAYS_RETURN_MINUS_ONE_START_OFFSET=true
```

The type of Iceberg catalog used to provide coldset data. Vendor managed catalogs have different auth, metadata column renames etc.\
Supported types are:\
&#x20;        \* default - Minio + Rest catalog with Sigv4 authentication\
&#x20;        \* iceberg-rest-fixture - Minio + Rest Catalog implemented by Iceberg Rest Fixture - Sigv4 auth, requires metadata.json relocation on Coldset / Merged set proxying\
&#x20;        \* tableflow - Confluent Tableflow with Confluent managed Iceberg Catalog and storage\
&#x20;        \* snowflake - Snowflake managed Iceberg

* Type: string
* Example:&#x20;

  ```
  coldset.client.coldset-type=tableflow
  ```
* Environment Variable: `ISK_COLDSET_CLIENT_COLDSET-TYPE`&#x20;

***

```properties
coldset.client.coldset-ns
```

Iceberg namespace to use for Coldset&#x20;

* Type: string
* Example:&#x20;

  ```
  coldset.client.coldset-ns=COLDSET
  ```
* Environment Variable: `ISK_COLDSET_CLIENT_COLDSET-NS`

***

```properties
coldset.client.coldset-ns
```

Iceberg namespace to use for Coldset&#x20;

* Type: string
* Example:&#x20;

  ```
  coldset.client.coldset-ns=COLDSET
  ```
* Environment Variable: `ISK_COLDSET_CLIENT_COLDSET-NS`

```properties
schema-registry.url
```

A Schema Registry REST endpoint Streambased I.S.K. can fetch topic schemas and metadata from.

* Type: string
* Example:&#x20;

  ```json
  "schema-registry.url": "http://schema-registry:8081"
  ```
* Importance: high

#### Configuration prefixes

The remaining configurations represent prefixes that are used to determine configurations for external services used by Streambased

***

```properties
coonfig.source.[name].*
```

A prefix used to pass Kafka connection configurations to Streambased I.S.K. This applies only when `config.provider` is set to `properties` and `[name]` is included in `config.sources`.

* Example:&#x20;

  <pre><code><strong>config.source.source1.bootstrap.servers=kafka1:9092
  </strong></code></pre>
* Environment Prefix: `ISK_CONFIG_SOURCE_[name]_`

***

```properties
coldset.client.*
```

Additional properties for connecting to an Iceberg provider for coldset data

* Example:&#x20;

  <pre><code><strong>coldset.client.rest.access-key-id=admin
  </strong></code></pre>
* Environment Prefix: `ISK_CONFIG_SOURCE_[name]_`
