lib/gdk/services/siphon_clickhouse_consumer.rb (28 lines of code) (raw):

# frozen_string_literal: true require 'pathname' module GDK module Services class SiphonClickhouseConsumer < Base def name 'siphon-clickhouse-consumer' end def command 'siphon/cmd/clickhouse_consumer/clickhouse_consumer --config siphon/consumer.yml' end def ready_message "Siphon ClickHouse consumer is listening for data from configured tables: #{config.siphon.tables.join(', ')}" end def validate! return unless config.siphon.enabled? return if config.clickhouse.enabled? && config.nats.enabled? raise GDK::ConfigSettings::UnsupportedConfiguration, <<~MSG.strip Running Siphon without ClickHouse and NATS is not possible. Enable ClickHouse and NATS in your GDK or disable Siphon to continue. MSG end def enabled? return false unless config.clickhouse.enabled? && config.nats.enabled? config.siphon.enabled? end end end end