Configuration
In a production environment, your application server would typically be run containerized in a Docker or Kubernetes
context. As such, environment variables would either be set by your Docker Compose files, or Kubernetes deployment
manifests.
Service Environment Variables
The following is the list of environment variables used by the SDS service.
| Environment Variable | Example Value |
|---|---|
LOG_LEVEL | debug |
HTTP_PORT | 5080 |
TCP_PORT | 5333 |
DB_ADDR | valkey:6379 |
TEMP_TTL | 60s |
KEYCLOAK_ADDR | http://iams-keycloak:8080 |
KEYCLOAK_REALM | master |
KEYCLOAK_CLIENTID | sds-client |
KEYCLOAK_CLIENTSECRET | your-client-secret |
CRON_INTERVAL | 10s |
LOG_LEVEL
The log level to use
This currently only accepts "debug". If set to debug, the logger will be configured to run at "development" mode, which essentially logs at debug level. Any other value will cause it to run at "production" mode, which logs at the info level.
HTTP_PORT
The server HTTP port to serve requests on
This should be any valid port number (1 to 65536).
TCP_PORT
The server TCP port to serve requests on
This should be any valid port number (1 to 65536). Used for TCP-based communication with SDS client library.
DB_ADDR
The database connection address
The address and port of the database server (typically Valkey/Redis). Format should be hostname:port.
TEMP_TTL
Time-to-live for temporary data
Duration that temporary data should be retained before expiration. Accepts time formats like 60s, 5m, 1h.
KEYCLOAK_ADDR
The Keycloak server address
The full URL of the Keycloak authentication server including protocol and port.
KEYCLOAK_REALM
The Keycloak realm name
The name of the Keycloak realm that contains the client configuration for this service.
KEYCLOAK_CLIENTID
The Keycloak client identifier
The client ID configured in Keycloak for this service to authenticate against.
KEYCLOAK_CLIENTSECRET
The Keycloak client secret
The client secret configured in Keycloak for this service. This should be kept secure and not exposed in logs.
CRON_INTERVAL
The interval for cron job execution
How frequently cron jobs for synchronize keycloak active session with SDS store should run. Accepts time
formats like 10s, 1m, 5m.