diff --git a/cli/src/cmd/flags/flags.go b/cli/src/cmd/flags/flags.go index 1954f9c..ae949f9 100644 --- a/cli/src/cmd/flags/flags.go +++ b/cli/src/cmd/flags/flags.go @@ -40,4 +40,5 @@ func setCommonActionFlags(cmd *cobra.Command) { flags.StringSliceVar(&state.EnvFiles, "env-file", nil, "env file") flags.StringVar(&state.ConfigFile, "config", "", "config file (default is $WORKING_DIR/config.yaml)") flags.StringSliceP("env-var", "e", nil, "Env var(s) to set or overwrite") + flags.StringP("concurrency", "", "", "The concurrency level to use for executing actions on packages (default 5)") } diff --git a/cli/src/core/parse/command.go b/cli/src/core/parse/command.go index 3887685..6e49364 100644 --- a/cli/src/core/parse/command.go +++ b/cli/src/core/parse/command.go @@ -26,6 +26,10 @@ func GetInstantCommand(packageSpec core.PackageSpec) []string { instantCommand = append(instantCommand, "--only") } + if packageSpec.Concurrency != "" { + instantCommand = append(instantCommand, "--concurrency", packageSpec.Concurrency) + } + instantCommand = append(instantCommand, packageSpec.Packages...) for _, customPackage := range packageSpec.CustomPackages { diff --git a/cli/src/core/parse/packageSpec.go b/cli/src/core/parse/packageSpec.go index 1680095..9efdaa3 100644 --- a/cli/src/core/parse/packageSpec.go +++ b/cli/src/core/parse/packageSpec.go @@ -53,6 +53,10 @@ func getPackageSpecFromParams(cmd *cobra.Command, config *core.Config) (*core.Pa if err != nil { return nil, errors.Wrap(err, "") } + concurrency, err := cmd.Flags().GetString("concurrency") + if err != nil { + return nil, errors.Wrap(err, "") + } var envVariables []string if cmd.Flags().Changed("env-file") { @@ -77,6 +81,7 @@ func getPackageSpecFromParams(cmd *cobra.Command, config *core.Config) (*core.Pa IsDev: isDev, IsOnly: isOnly, DeployCommand: cmd.Use, + Concurrency: concurrency, } return &packageSpec, nil diff --git a/cli/src/core/types.go b/cli/src/core/types.go index 3a6b6f5..08430b5 100644 --- a/cli/src/core/types.go +++ b/cli/src/core/types.go @@ -32,6 +32,7 @@ type PackageSpec struct { CustomPackages []CustomPackage ImageVersion string TargetLauncher string + Concurrency string } type GeneratePackageSpec struct {