@@ -52,6 +52,8 @@ type cloudRunServiceFlags struct {
5252 webui bool // enable webui or not
5353 pubsub bool // enable pubsub trigger or not
5454 pubsubTrigger triggerConfigFlags
55+ eventarc bool // enable eventarc trigger or not
56+ eventarcTrigger triggerConfigFlags
5557}
5658
5759type localProxyFlags struct {
@@ -113,6 +115,11 @@ func init() {
113115 cloudrunCmd .PersistentFlags ().DurationVar (& flags .cloudRun .pubsubTrigger .baseDelay , "pubsub_base_delay" , 1 * time .Second , "Base delay for PubSub trigger retry exponential backoff" )
114116 cloudrunCmd .PersistentFlags ().DurationVar (& flags .cloudRun .pubsubTrigger .maxDelay , "pubsub_max_delay" , 10 * time .Second , "Maximum delay for PubSub trigger retry exponential backoff" )
115117 cloudrunCmd .PersistentFlags ().IntVar (& flags .cloudRun .pubsubTrigger .maxRuns , "pubsub_max_concurrent_runs" , 100 , "Maximum concurrent PubSub trigger runs" )
118+ cloudrunCmd .PersistentFlags ().BoolVar (& flags .cloudRun .eventarc , "eventarc" , false , "Enable Eventarc subrouter" )
119+ cloudrunCmd .PersistentFlags ().IntVar (& flags .cloudRun .eventarcTrigger .maxRetries , "eventarc_max_retries" , 3 , "Maximum retries for HTTP 429 errors from Eventarc triggers" )
120+ cloudrunCmd .PersistentFlags ().DurationVar (& flags .cloudRun .eventarcTrigger .baseDelay , "eventarc_base_delay" , 1 * time .Second , "Base delay for Eventarc trigger retry exponential backoff" )
121+ cloudrunCmd .PersistentFlags ().DurationVar (& flags .cloudRun .eventarcTrigger .maxDelay , "eventarc_max_delay" , 10 * time .Second , "Maximum delay for Eventarc trigger retry exponential backoff" )
122+ cloudrunCmd .PersistentFlags ().IntVar (& flags .cloudRun .eventarcTrigger .maxRuns , "eventarc_max_concurrent_runs" , 100 , "Maximum concurrent Eventarc trigger runs" )
116123}
117124
118125// computeFlags uses command line arguments to create a full config
@@ -217,6 +224,13 @@ CMD ["/app/` + f.build.execFile + `", "web", "-port", "` + strconv.Itoa(flags.cl
217224 b .WriteString (fmt .Sprintf (`, "--trigger_max_delay", "%s"` , flags .cloudRun .pubsubTrigger .maxDelay .String ()))
218225 b .WriteString (fmt .Sprintf (`, "--trigger_max_concurrent_runs", "%d"` , flags .cloudRun .pubsubTrigger .maxRuns ))
219226 }
227+ if flags .cloudRun .eventarc {
228+ b .WriteString (`, "eventarc"` )
229+ b .WriteString (fmt .Sprintf (`, "--trigger_max_retries", "%d"` , flags .cloudRun .eventarcTrigger .maxRetries ))
230+ b .WriteString (fmt .Sprintf (`, "--trigger_base_delay", "%s"` , flags .cloudRun .eventarcTrigger .baseDelay .String ()))
231+ b .WriteString (fmt .Sprintf (`, "--trigger_max_delay", "%s"` , flags .cloudRun .eventarcTrigger .maxDelay .String ()))
232+ b .WriteString (fmt .Sprintf (`, "--trigger_max_concurrent_runs", "%d"` , flags .cloudRun .eventarcTrigger .maxRuns ))
233+ }
220234 b .WriteString (`]` )
221235 return os .WriteFile (f .build .dockerfileBuildPath , []byte (b .String ()), 0o600 )
222236 })
0 commit comments