@@ -135,6 +135,29 @@ func init() {
135135 rootCmd .PersistentFlags ().Int ("storage-main-kafka-redis-port" , 6379 , "Redis port for Kafka main storage metadata" )
136136 rootCmd .PersistentFlags ().String ("storage-main-kafka-redis-password" , "" , "Redis password for Kafka main storage metadata" )
137137 rootCmd .PersistentFlags ().Int ("storage-main-kafka-redis-db" , 0 , "Redis database number for Kafka main storage metadata" )
138+ // Storage type selection flags
139+ rootCmd .PersistentFlags ().String ("storage-staging-type" , "auto" , "Storage type for staging (auto, clickhouse, postgres, kafka, badger, s3)" )
140+ rootCmd .PersistentFlags ().String ("storage-main-type" , "auto" , "Storage type for main (auto, clickhouse, postgres, kafka, badger, s3)" )
141+ rootCmd .PersistentFlags ().String ("storage-orchestrator-type" , "auto" , "Storage type for orchestrator (auto, clickhouse, postgres, badger)" )
142+ // BadgerDB flags for staging storage
143+ rootCmd .PersistentFlags ().String ("storage-staging-badger-path" , "" , "BadgerDB path for staging storage" )
144+ // BadgerDB flags for orchestrator storage
145+ rootCmd .PersistentFlags ().String ("storage-orchestrator-badger-path" , "" , "BadgerDB path for orchestrator storage" )
146+ // S3 flags for main storage
147+ rootCmd .PersistentFlags ().String ("storage-main-s3-bucket" , "" , "S3 bucket for main storage" )
148+ rootCmd .PersistentFlags ().String ("storage-main-s3-region" , "" , "S3 region for main storage" )
149+ rootCmd .PersistentFlags ().String ("storage-main-s3-prefix" , "" , "S3 key prefix for main storage" )
150+ rootCmd .PersistentFlags ().String ("storage-main-s3-accessKeyId" , "" , "S3 access key ID for main storage" )
151+ rootCmd .PersistentFlags ().String ("storage-main-s3-secretAccessKey" , "" , "S3 secret access key for main storage" )
152+ rootCmd .PersistentFlags ().String ("storage-main-s3-endpoint" , "" , "S3 endpoint URL for main storage (for S3-compatible services)" )
153+ rootCmd .PersistentFlags ().String ("storage-main-s3-format" , "parquet" , "S3 storage format for main storage (parquet or json)" )
154+ rootCmd .PersistentFlags ().Int64 ("storage-main-s3-bufferSizeMB" , 1024 , "S3 buffer size in MB before flush for main storage" )
155+ rootCmd .PersistentFlags ().Int ("storage-main-s3-bufferTimeoutSeconds" , 300 , "S3 buffer timeout in seconds before flush for main storage" )
156+ rootCmd .PersistentFlags ().Int ("storage-main-s3-maxBlocksPerFile" , 0 , "S3 max blocks per file for main storage (0 = no limit)" )
157+ // S3 Parquet configuration
158+ rootCmd .PersistentFlags ().String ("storage-main-s3-parquet-compression" , "snappy" , "Parquet compression type for S3 main storage" )
159+ rootCmd .PersistentFlags ().Int64 ("storage-main-s3-parquet-rowGroupSize" , 256 , "Parquet row group size in MB for S3 main storage" )
160+ rootCmd .PersistentFlags ().Int64 ("storage-main-s3-parquet-pageSize" , 8192 , "Parquet page size in KB for S3 main storage" )
138161 rootCmd .PersistentFlags ().String ("api-host" , "localhost:3000" , "API host" )
139162 rootCmd .PersistentFlags ().String ("api-basicAuth-username" , "" , "API basic auth username" )
140163 rootCmd .PersistentFlags ().String ("api-basicAuth-password" , "" , "API basic auth password" )
@@ -260,11 +283,29 @@ func init() {
260283 viper .BindPFlag ("storage.main.kafka.brokers" , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-brokers" ))
261284 viper .BindPFlag ("storage.main.kafka.username" , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-username" ))
262285 viper .BindPFlag ("storage.main.kafka.password" , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-password" ))
263- viper .BindPFlag ("storage.main.kafka.enable_tls " , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-enable-tls" ))
286+ viper .BindPFlag ("storage.main.kafka.enableTLS " , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-enable-tls" ))
264287 viper .BindPFlag ("storage.main.kafka.redis.host" , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-redis-host" ))
265288 viper .BindPFlag ("storage.main.kafka.redis.port" , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-redis-port" ))
266289 viper .BindPFlag ("storage.main.kafka.redis.password" , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-redis-password" ))
267290 viper .BindPFlag ("storage.main.kafka.redis.db" , rootCmd .PersistentFlags ().Lookup ("storage-main-kafka-redis-db" ))
291+ viper .BindPFlag ("storage.staging.type" , rootCmd .PersistentFlags ().Lookup ("storage-staging-type" ))
292+ viper .BindPFlag ("storage.main.type" , rootCmd .PersistentFlags ().Lookup ("storage-main-type" ))
293+ viper .BindPFlag ("storage.orchestrator.type" , rootCmd .PersistentFlags ().Lookup ("storage-orchestrator-type" ))
294+ viper .BindPFlag ("storage.staging.badger.path" , rootCmd .PersistentFlags ().Lookup ("storage-staging-badger-path" ))
295+ viper .BindPFlag ("storage.orchestrator.badger.path" , rootCmd .PersistentFlags ().Lookup ("storage-orchestrator-badger-path" ))
296+ viper .BindPFlag ("storage.main.s3.bucket" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-bucket" ))
297+ viper .BindPFlag ("storage.main.s3.region" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-region" ))
298+ viper .BindPFlag ("storage.main.s3.prefix" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-prefix" ))
299+ viper .BindPFlag ("storage.main.s3.accessKeyId" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-accessKeyId" ))
300+ viper .BindPFlag ("storage.main.s3.secretAccessKey" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-secretAccessKey" ))
301+ viper .BindPFlag ("storage.main.s3.endpoint" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-endpoint" ))
302+ viper .BindPFlag ("storage.main.s3.format" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-format" ))
303+ viper .BindPFlag ("storage.main.s3.bufferSizeMB" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-bufferSizeMB" ))
304+ viper .BindPFlag ("storage.main.s3.bufferTimeoutSeconds" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-bufferTimeoutSeconds" ))
305+ viper .BindPFlag ("storage.main.s3.maxBlocksPerFile" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-maxBlocksPerFile" ))
306+ viper .BindPFlag ("storage.main.s3.parquet.compression" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-parquet-compression" ))
307+ viper .BindPFlag ("storage.main.s3.parquet.rowGroupSize" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-parquet-rowGroupSize" ))
308+ viper .BindPFlag ("storage.main.s3.parquet.pageSize" , rootCmd .PersistentFlags ().Lookup ("storage-main-s3-parquet-pageSize" ))
268309 viper .BindPFlag ("api.host" , rootCmd .PersistentFlags ().Lookup ("api-host" ))
269310 viper .BindPFlag ("api.basicAuth.username" , rootCmd .PersistentFlags ().Lookup ("api-basicAuth-username" ))
270311 viper .BindPFlag ("api.basicAuth.password" , rootCmd .PersistentFlags ().Lookup ("api-basicAuth-password" ))
@@ -280,7 +321,7 @@ func init() {
280321 viper .BindPFlag ("publisher.brokers" , rootCmd .PersistentFlags ().Lookup ("publisher-brokers" ))
281322 viper .BindPFlag ("publisher.username" , rootCmd .PersistentFlags ().Lookup ("publisher-username" ))
282323 viper .BindPFlag ("publisher.password" , rootCmd .PersistentFlags ().Lookup ("publisher-password" ))
283- viper .BindPFlag ("publisher.enable_tls " , rootCmd .PersistentFlags ().Lookup ("publisher-enable-tls" ))
324+ viper .BindPFlag ("publisher.enableTLS " , rootCmd .PersistentFlags ().Lookup ("publisher-enable-tls" ))
284325 viper .BindPFlag ("publisher.blocks.enabled" , rootCmd .PersistentFlags ().Lookup ("publisher-blocks-enabled" ))
285326 viper .BindPFlag ("publisher.blocks.topicName" , rootCmd .PersistentFlags ().Lookup ("publisher-blocks-topicName" ))
286327 viper .BindPFlag ("publisher.transactions.enabled" , rootCmd .PersistentFlags ().Lookup ("publisher-transactions-enabled" ))
0 commit comments