Skip to main content

Configuration Reference

Ice Flow is configured via environment variables, application properties, or JVM system properties, or passed as JVM flags with -D.


Extension Properties

PropertyEnv variableDescriptionRequired
SYMPHONY_TOKENAuthentication token for the extension service.Yes

JVM Flags

FlagDescription
-Djdbc.extra.driver.jars=<paths>Comma-separated list of absolute paths to additional JDBC driver JAR files for database-backed catalogs. Example: -Djdbc.extra.driver.jars=/opt/drivers/postgresql.jar
-Dsun.security.krb5.debug=trueEnable detailed Kerberos debug logging for troubleshooting authentication issues
--add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMEDRequired for Kerberos catalogs. Lets Ice Flow refresh the JVM's Kerberos config singleton when catalog snippets change. The shipped RPM and Docker images set this automatically; custom launchers must include it or the Authentication page will report that JGSS is using stale realm data.

Deployment Options

Bare Metal / VM (systemd)

Installed via RPM package. Configuration files:

FilePurpose
/etc/cirata/symphony/extensions/iceflow/iceflow.envEnvironment variables (SYMPHONY_TOKEN, JVM_XMS, JVM_XMX)
/etc/cirata/symphony/extensions/iceflow/application.propertiesSpring Boot properties
/etc/cirata/symphony/extensions/iceflow/logback.xmlLogging configuration

Service management:

systemctl start cirata-iceflow
systemctl stop cirata-iceflow
systemctl status cirata-iceflow
journalctl -u cirata-iceflow -f

Docker

SettingDefault
Base imagegcr.io/distroless/java17-debian12:nonroot
JVM heap-Xms512m -Xmx2g
Config directory/etc/cirata/
Usernonroot
docker run -e SYMPHONY_TOKEN=<token> cirata/iceflow:latest

Kubernetes (Helm)

Key Helm values:

ValueDefaultDescription
image.repositorycirata/iceflowContainer image
image.taglatestImage tag
symphony.hostnamesymphony.cirata.comSymphony hostname (from JWT token)
symphony.serviceNamesymphony-serviceIn-cluster Symphony service (empty to skip)
symphony.token""API token for registration
symphony.existingSecret""Name of existing Secret with token
jvm.xms512mJVM minimum heap
jvm.xmx2gJVM maximum heap
jvm.extraArgs""Additional JVM arguments
healthCheck.enabledfalseEnable liveness/readiness probes
resources.requests.memory768MiMemory request
resources.limits.memory2560MiMemory limit
tls.caSecretName""Secret with ca.crt for custom CA
helm install my-iceflow iceflow-0.1.0.tgz \
--set symphony.token=<token>

Logging

Ice Flow uses structured JSON logging. Each log entry includes:

FieldDescription
timestampISO 8601 timestamp (UTC)
messageLog message
logger_nameJava logger name
levelLog level (ERROR, WARN, INFO, DEBUG)
extensionAlways iceflow
versionExtension version

Customise logging by providing a logback.xml file. The RPM and Docker deployments include a default configuration.