Stream collector docker image customise config file

Hi @pramod.niralakeri, by system properties I meant the using the -D command line flag. This is a standard flag for setting what in java applications are called system properties.

So in my example in my previous comment, -Dcollector.port=80 means set the collector.port system property to 80.

Alternatively, there is a way of using environment variables instead of system properties:

docker run \
  -e "CONFIG_FORCE_collector_interface=0.0.0.0" \
  -e "CONFIG_FORCE_collector_port=80" \
  -e "CONFIG_FORCE_collector_streams_good=goodstream" \
  -e "CONFIG_FORCE_collector_streams_bad=badstream" \
  -e "CONFIG_FORCE_collector_streams_sink_brokers=localhost:9092" \
  snowplow/scala-stream-collector-kafka:2.4.1 \
  -Dconfig.override_with_env_vars=true

The syntax is slightly awkward, but it is standard behaviour described in the readme of this config-parsing library. Note it still requires the -Dconfig.override_with_env_vars=true to make it work. Personally I prefer the syntax in my earlier post using just system properties.

1 Like