@@ -735,6 +735,14 @@ fn build_server_rolegroup_daemonset(
735735 . rolegroup ( rolegroup_ref)
736736 . context ( InternalOperatorFailureSnafu ) ?;
737737
738+ let merged_cli_overrides = {
739+ let role_cli_overrides: & BTreeMap < String , String > = & role. config . cli_overrides ;
740+ let rolegroup_cli_overrides: & BTreeMap < String , String > = & role_group. config . cli_overrides ;
741+ let mut merged = role_cli_overrides. clone ( ) ;
742+ merged. extend ( rolegroup_cli_overrides. clone ( ) ) ;
743+ merged
744+ } ;
745+
738746 let env = server_config
739747 . get ( & PropertyNameKind :: Env )
740748 . iter ( )
@@ -846,6 +854,7 @@ fn build_server_rolegroup_daemonset(
846854 merged_config,
847855 & opa_container_name,
848856 opa. spec. cluster_config. tls_enabled( ) ,
857+ & merged_cli_overrides,
849858 ) ] )
850859 . add_env_vars ( env)
851860 . add_env_var (
@@ -1206,6 +1215,7 @@ fn build_opa_start_command(
12061215 merged_config : & v1alpha1:: OpaConfig ,
12071216 container_name : & str ,
12081217 tls_enabled : bool ,
1218+ cli_overrides : & BTreeMap < String , String > ,
12091219) -> String {
12101220 let mut file_log_level = DEFAULT_FILE_LOG_LEVEL ;
12111221 let mut console_log_level = DEFAULT_CONSOLE_LOG_LEVEL ;
@@ -1267,13 +1277,19 @@ fn build_opa_start_command(
12671277 "&> >(CONSOLE_LEVEL={console_log_level} FILE_LEVEL={file_log_level} DECISION_LEVEL={decision_log_level} SERVER_LEVEL={server_log_level} OPA_ROLLING_LOG_FILE_SIZE_BYTES={OPA_ROLLING_LOG_FILE_SIZE_BYTES} OPA_ROLLING_LOG_FILES={OPA_ROLLING_LOG_FILES} STACKABLE_LOG_DIR={STACKABLE_LOG_DIR} CONTAINER_NAME={container_name} process-logs)"
12681278 ) ;
12691279
1280+ let extra_cli_args = cli_overrides
1281+ . iter ( )
1282+ . map ( |( key, value) | format ! ( "{key} {value}" ) )
1283+ . collect :: < Vec < _ > > ( )
1284+ . join ( " " ) ;
1285+
12701286 // TODO: Think about adding --shutdown-wait-period, as suggested by https://github.com/open-policy-agent/opa/issues/2764
12711287 formatdoc ! { "
12721288 {COMMON_BASH_TRAP_FUNCTIONS}
12731289 {remove_vector_shutdown_file_command}
12741290 prepare_signal_handlers
12751291 containerdebug --output={STACKABLE_LOG_DIR}/containerdebug-state.json --loop &
1276- opa run -s -a 0.0.0.0:{bind_port} -c {CONFIG_DIR}/{CONFIG_FILE} -l {opa_log_level} --shutdown-grace-period {shutdown_grace_period_s} --disable-telemetry {tls_flags} {logging_redirects} &
1292+ opa run -s -a 0.0.0.0:{bind_port} -c {CONFIG_DIR}/{CONFIG_FILE} -l {opa_log_level} --shutdown-grace-period {shutdown_grace_period_s} --disable-telemetry {tls_flags} {extra_cli_args} { logging_redirects} &
12771293 wait_for_termination $!
12781294 {create_vector_shutdown_file_command}
12791295 " ,
@@ -1282,7 +1298,8 @@ fn build_opa_start_command(
12821298 create_vector_shutdown_file_command =
12831299 create_vector_shutdown_file_command( STACKABLE_LOG_DIR ) ,
12841300 shutdown_grace_period_s = merged_config. graceful_shutdown_timeout. unwrap_or( DEFAULT_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT ) . as_secs( ) ,
1285- opa_log_level = [ console_log_level, file_log_level] . iter( ) . min( ) . unwrap_or( & LogLevel :: INFO ) . to_opa_literal( )
1301+ opa_log_level = [ console_log_level, file_log_level] . iter( ) . min( ) . unwrap_or( & LogLevel :: INFO ) . to_opa_literal( ) ,
1302+ extra_cli_args = extra_cli_args
12861303 }
12871304}
12881305
0 commit comments