diff --git a/cmd/argocd/commands/admin/dashboard.go b/cmd/argocd/commands/admin/dashboard.go index 52a14a42d7a63..06ced1631e2dc 100644 --- a/cmd/argocd/commands/admin/dashboard.go +++ b/cmd/argocd/commands/admin/dashboard.go @@ -26,9 +26,13 @@ func NewDashboardCommand() *cobra.Command { Run: func(cmd *cobra.Command, args []string) { ctx := cmd.Context() + var disableDefaultProjectCreation bool + + cmd.Flags().BoolVar(&disableDefaultProjectCreation, "disable-default-project-creation", false, "Disable default project creation") + compression, err := cache.CompressionTypeFromString(compressionStr) errors.CheckError(err) - errors.CheckError(headless.StartLocalServer(ctx, &argocdclient.ClientOptions{Core: true}, initialize.RetrieveContextIfChanged(cmd.Flag("context")), &port, &address, compression)) + errors.CheckError(headless.StartLocalServer(ctx, &argocdclient.ClientOptions{Core: true}, initialize.RetrieveContextIfChanged(cmd.Flag("context")), &port, &address, compression, disableDefaultProjectCreation)) println(fmt.Sprintf("Argo CD UI is available at http://%s:%d", address, port)) <-ctx.Done() }, diff --git a/cmd/argocd/commands/headless/headless.go b/cmd/argocd/commands/headless/headless.go index d0885990fe747..ae6a4f5252136 100644 --- a/cmd/argocd/commands/headless/headless.go +++ b/cmd/argocd/commands/headless/headless.go @@ -147,7 +147,7 @@ func testAPI(ctx context.Context, clientOpts *apiclient.ClientOptions) error { // StartLocalServer allows executing command in a headless mode: on the fly starts Argo CD API server and // changes provided client options to use started API server port -func StartLocalServer(ctx context.Context, clientOpts *apiclient.ClientOptions, ctxStr string, port *int, address *string, compression cache.RedisCompressionType) error { +func StartLocalServer(ctx context.Context, clientOpts *apiclient.ClientOptions, ctxStr string, port *int, address *string, compression cache.RedisCompressionType, disableDefaultProjectCreation bool) error { flags := pflag.NewFlagSet("tmp", pflag.ContinueOnError) clientConfig := cli.AddKubectlFlagsToSet(flags) startInProcessAPI := clientOpts.Core @@ -222,7 +222,7 @@ func StartLocalServer(ctx context.Context, clientOpts *apiclient.ClientOptions, ListenHost: *address, RepoClientset: &forwardRepoClientset{namespace: namespace, context: ctxStr, repoServerName: clientOpts.RepoServerName}, EnableProxyExtension: false, - DisableDefaultProjectCreation: true, + DisableDefaultProjectCreation: disableDefaultProjectCreation, }) srv.Init(ctx) @@ -251,8 +251,12 @@ func StartLocalServer(ctx context.Context, clientOpts *apiclient.ClientOptions, func NewClientOrDie(opts *apiclient.ClientOptions, c *cobra.Command) apiclient.Client { ctx := c.Context() + var disableDefaultProjectCreation bool + + c.Flags().BoolVar(&disableDefaultProjectCreation, "disable-default-project-creation", false, "Disable default project creation") + ctxStr := initialize.RetrieveContextIfChanged(c.Flag("context")) - err := StartLocalServer(ctx, opts, ctxStr, nil, nil, cache.RedisCompressionNone) + err := StartLocalServer(ctx, opts, ctxStr, nil, nil, cache.RedisCompressionNone, disableDefaultProjectCreation) if err != nil { log.Fatal(err) }