Configuration

Explore options to configure Kafkorama Portal.

Web Server Settings

memory

   
Description Specifies the maximum memory (in megabytes) to be used
Default value 128 MB
Required parameter Required

This parameter sets the maximum heap size (-Xmx) of the Java Virtual Machine (JVM) running the Kafkorama Portal, expressed in megabytes (MB).

For example, to allocate 512 megabytes of heap memory, use:

memory = 512 MB

log.folder

   
Description Folder where logs will be written
Default value logs
Required parameter Optional

If not set, the default folder logs is used relative to the directory from which the Kafkorama Portal is started.

You can specify an absolute path instead:

   
log.folder = /some/path/mylogs For Linux/Unix
log.folder = C:/some/path/mylogs For Windows

web.listen.ip

   
Description IP address for the web server to listen on
Default value 0.0.0.0
Required parameter Optional

Specifies the IP address on which the Kafkorama Portal web server will listen for incoming HTTP requests.

web.listen.port

   
Description Port for the web server to listen on
Default value 8080
Required parameter Optional

Defines the TCP port on which the Kafkorama Portal web server listens.

web.url

   
Description Public URL of the Kafkorama Portal
Default value No default value
Required parameter Optional

Defines the base URL used in emails and links sent to users.

web.ssl.enable

   
Description Enable HTTPS support
Default value false
Required parameter Optional

Enables SSL/TLS for the Kafkorama Portal web server. Set to true to activate HTTPS using the below SSL configuration parameters.

web.ssl.letsencrypt.validationdir

   
Description Path used for Let's Encrypt domain validation
Default value Empty
Required parameter Optional

If using Let's Encrypt certificates, this folder is used to temporarily store validation files required for domain ownership verification.

web.ssl.keystorepath

   
Description Path to the Java keystore file
Default value 127.0.0.1.jks
Required parameter Required if SSL is enabled

Specifies the file path to the Java keystore (.jks) that contains the SSL certificate used by the Portal.

web.ssl.keystorepassword

   
Description Password to access the keystore
Default value password
Required parameter Required if SSL is enabled

The password required to open the keystore file specified in web.ssl.keystorepath.

web.ssl.port

   
Description HTTPS port of the web server
Default value 8443
Required parameter Optional

Defines the port on which the Portal listens for HTTPS connections when SSL is enabled.

web.ssl.host

   
Description Host IP for SSL binding
Default value 127.0.0.1
Required parameter Optional

Sets the IP address the HTTPS server binds to.

Email Settings

web.email.verification

   
Description Enable or disable email verification for users
Default value false
Required parameter Optional

Set this to true to require email verification for new users.

web.email.address

   
Description Sender email address used for notifications
Default value No default value
Required parameter Required if email verification is enabled

Email address used by the portal to send emails. Must be configured if email verification is enabled.

web.email.password

   
Description Password for the email sender account
Default value No default value
Required parameter Required if email verification is enabled

Password for the configured web.email.address.

Admin Settings

admin.email

   
Description Email address for the default admin user
Default value admin@admin.com
Required parameter Required

Email of the administrator account created at startup.

admin.password

   
Description Password for the default admin user
Default value password
Required parameter Required

Password of the administrator account created at startup.

admin.organization

   
Description Organization name of the default admin user
Default value kafkorama
Required parameter Optional

Organization label associated with the default admin.

Gateway Integration

portal.password

   
Description Password used by Kafkorama Gateway to fetch configurations
Default value No default value
Required parameter Required

Used by the Kafkorama Gateway to authenticate with the Portal when retrieving Kafka configurations and entitlement data.

gateway.servers

   
Description Comma-separated list of Kafkorama Gateway servers
Default value 127.0.0.1:8800
Required parameter Required

Used by the debug console as well as by demo live data of Kafkorama Portal to establish client connections to the Kafkorama Gateway cluster.

gateway.servers.protocol

   
Description Protocol used to connect to Kafkorama Gateway servers
Default value http://
Required parameter Required

Sets the connection scheme (http or https) to be used with gateway.servers.

Demo Mode

demo.apis

   
Description Enable demo APIs
Default value true
Required parameter Optional

Enables demo APIs useful for testing and onboarding.

demo.topic

   
Description Default demo topic name
Default value demo
Required parameter Optional

The default Kafka topic used for demo purposes.

Database Settings

db.name

   
Description Path to the database file
Default value ./data/push-cloud.db
Required parameter Required

The path to the SQLite or MySql database file.

db.user / db.password

   
Description Credentials for database connection
Default value root / empty
Required parameter Required for remote DBs

User and password used for the database connection.

db.type

   
Description Type of database used
Default value sqlite
Required parameter Required

Sets the type of database backend: sqlite or mysql.

db.ip / db.port

   
Description IP and port for remote DB
Default value 127.0.0.1 / 3306
Required parameter Required for remote DB

Sets the address and port of the external DB (MySQL).

db.driver.classpath

   
Description Java classpath for DB driver
Default value org.sqlite.JDBC
Required parameter Required

JDBC driver class used to connect to the database: org.sqlite.JDBC (for SQLite) and com.mysql.jdbc.Driver (for MySQL).

db.ssl

   
Description Enable SSL for DB
Default value false
Required parameter Optional

Enables SSL for database connections if set to true.

JWT and Token Settings

renewTokenBeforeSeconds

   
Description Notify clients in advance before their JWT expires
Default value 60
Required parameter Optional

This parameter defines the number of seconds before the expiration of a JWT token when the Kafkorama Gateway sends a notification to the client, prompting it to renew the token. This ensures uninterrupted service by allowing clients to refresh tokens before they expire.

signature.type

   
Description Specifies the method used to verify JWT signatures
Default value hmac
Required parameter Required

This parameter determines the algorithm type used to verify JWT tokens:

  • hmac: A symmetric signature algorithm using the same secret key for both signing and verification. Depending on the length of the key, one of the following HMAC algorithms is automatically selected:

    • HS256: Requires at least a 32-byte secret (recommended)
    • HS384: Requires at least a 48-byte secret
    • HS512: Requires at least a 64-byte secret
  • rsa: An asymmetric signature algorithm that uses a private key for signing and a public key for verification. Based on the size of the private key, one of the following algorithms is chosen:

    • RS256: Requires a 2048-bit private key (recommended)
    • RS384: Requires a 3072-bit private key
    • RS512: Requires a 4096-bit private key

signature.hmac.secret

   
Description Base64-encoded secret key used for HMAC JWT signature verification
Default value No default value
Required parameter Required if signature.type is hmac

If HMAC is used as the JWT signature method, this parameter must be set with a base64-encoded secret key.

The length of this secret key determines which HMAC algorithm is used.

To generate a base64-encoded 32-byte key, you can use the following command:

openssl rand -base64 32

signature.rsa.publicKeyPath

   
Description File path to RSA public key used to verify JWT tokens
Default value No default value
Required parameter Required if signature.type is rsa

Specifies the PEM path to the RSA public key used to verify JWT tokens.

Limits

limits.clusters / limits.apis

   
Description Maximum number of clusters and APIs
Default value No default value
Required parameter Optional

Sets an upper limit on the number of Kafka clusters and APIs that can be defined in the portal.

OAuth Providers

oauth.github.apikey / oauth.github.apisecret / oauth.github.callback

   
Description GitHub OAuth credentials and callback URL
Default value Empty
Required parameter Required for GitHub OAuth

Used for enabling GitHub-based login. The callback must match the one configured in your GitHub OAuth app.

oauth.google.apikey / oauth.google.apisecret / oauth.google.callback

   
Description Google OAuth credentials and callback URL
Default value Empty
Required parameter Required for Google OAuth

Used for enabling Google-based login. The callback must match the one configured in your Google OAuth app.

reCAPTCHA Settings

recaptcha.google.enabled

   
Description Enable reCAPTCHA v3 verification
Default value true
Required parameter Optional

Enables or disables reCAPTCHA validation for forms and authentication.

recaptcha.google.secretkey

   
Description Secret key for reCAPTCHA server verification
Default value Empty
Required parameter Required if reCAPTCHA is enabled

The backend secret key provided by Google to verify the token.

recaptcha.google.sitekey

   
Description Public site key for reCAPTCHA
Default value Empty
Required parameter Optional

The frontend site key used by the client to render the reCAPTCHA widget.

recaptcha.google.score.threshold

   
Description Minimum reCAPTCHA v3 score to allow access
Default value 0.95
Required parameter Optional

A float value between 0.0 and 1.0. Scores closer to 1.0 are more human-like.

recaptcha.google.hostnames

   
Description Expected hostname(s) for validation
Default value kafkorama.com,localhost
Required parameter Optional

Comma-separated list of hostnames allowed in the verification response.

recaptcha.google.verify.timeout

   
Description Timeout for reCAPTCHA verification
Default value 3000 (ms)
Required parameter Optional

Time in milliseconds to wait for a response from Google's reCAPTCHA API.

recaptcha.google.verify.url

   
Description reCAPTCHA verification endpoint
Default value https://www.google.com/recaptcha/api/siteverify
Required parameter Optional

The URL used to verify reCAPTCHA tokens. Only change for testing or proxying.

© 2025 MigratoryData. All rights reserved.