Skip to content

Configuration

Chutney is packaged as a Spring Boot executable jar (fat-jar) built from the server module.
That means you configure and extend it the same way you would any other Spring Boot application.

See the official Spring Boot documentation on externalized configuration for complete details.
Use this to customize database, authentication, roles/permissions, logging, TLS, and more.
Below are just a few common examples.


Configurable๐Ÿ”—

You can override the packaged application.yml with an external file or directory:

1
2
3
4
5
# JVM system property
java -Dspring.config.location=./my-config/application.yml -jar chutney-server-<version>-boot.jar

# or environment variable
SPRING_CONFIG_LOCATION=./my-config/application.yml java -jar chutney-server-<version>-boot.jar

Overriding only some properties๐Ÿ”—

You donโ€™t need to copy the full config: Spring Boot merges files, so you can redefine just a subset:

1
2
3
4
5
6
7
# my-config/application.yml
server:
  port: 8081

logging:
  level:
    root: INFO

Override inline at startup๐Ÿ”—

For quick tweaks or CI/CD pipelines you can pass properties directly:

1
2
3
4
5
# JVM system properties
java -Dserver.port=8081 -Dlogging.level.root=INFO -jar chutney-server-<version>-boot.jar

# Environment variables
SERVER_PORT=8081 LOGGING_LEVEL_ROOT=INFO java -jar chutney-server-<version>-boot.jar

Handling secrets

Handling secrets depends on your CI/CD environment(Vault, Jasypt, etc).


Extensible๐Ÿ”—

Because Chutney uses Spring Bootโ€™s PropertiesLauncher, you can add proprietary drivers or custom extensions(Actions or Functions) at runtime by dropping jars into a directory and pointing to it:

1
2
3
4
5
# JVM system property
java -Dloader.path=lib -jar chutney-server-<version>-boot.jar

# or environment variable
LOADER_PATH=lib java -jar chutney-server-<version>-boot.jar

Everything under ./lib is added to the classpath automatically.