# Configurations

Streambased I.S.K. is configured via a single configuration file mounted at  /app/etc/directstream-config.properties in the Streambased deployment or by equivalent environment variables.

#### Configurations

```properties
port
```

The port on which Streambased I.S.K. should expose Kafka data as a S3 compatible filesyste.

* Type: integer
* Example:&#x20;

  ```bash
  port=11000
  ```
* Environment Variable: `ISK_PORT`

***

```properties
catalog.port
```

The port on which Streambased I.S.K. exposes an Apache Iceberg REST catalog

* Type: integer
* Example:&#x20;

  ```json
  catalog.port=11001
  ```
* Environment Variable: `ISK_CATALOG_PORT`

***

```properties
external.hostname
```

The hostname on which Streambased I.S.K. exposes it's services

* Type: string
* Example:&#x20;

  ```json
  external.hostname=streambased-isk
  ```
* Environment Variable: `ISK_EXTERNAL_HOSTNAME`

***

```properties
config.provider
```

The method I.S.K. will use to determine Kafka connection details, options are `service` (connection details are managed by Slipstream) or `properties` (connection detail are provided in I.S.K. config)

* Type: string
* Example:&#x20;

  ```json
  config.provider=service
  ```
* Environment Variable: `ISK_CONFIG_PROVIDER`

***

```properties
config.service.url
```

The slipstream url from which I.S.K. can fetch connection details. This applies only when `config.provider` is set to `service`.

* Type: string
* Example:&#x20;

  ```
  config.service.url=http://slipstream:3000/api/internal/cluster-config
  ```
* Environment Variable: `ISK_CONFIG_SERVICE_URL`

***

```properties
config.sources
```

A comma separated list of named prefixes containing connection configs. This applies only when `config.provider` is set to `properties`. Once listed here connection configs can be supplied using the prefix `config.source.[name].`

* Type: string
* Example:&#x20;

  ```
  config.sources=source1,source2
  ```
* Environment Variable: `ISK_CONFIG_SOURCES`

***

```properties
coldset.client.coldset-type
```

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
cache.root.dir
```

Root directory for data and metadata caches.

* Type: string
* Example:&#x20;

  ```
  cache.root.dir=/var/data/isk-cache
  ```
* Environment Variable: `ISK_CACHE_ROOT_DIR`

#### 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]_`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.streambased.io/deploy-and-operate/streambased-platform/iceberg-service-for-kafka-i.s.k./configurations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
