From 2f24dbd48964de62d4ffe82aab1f71bd251c9252 Mon Sep 17 00:00:00 2001 From: Zach Langbert Date: Thu, 13 Nov 2025 12:52:57 -0500 Subject: [PATCH] make fleet id optional and rely on backend for default fleet selection --- internal/commands/deploy.go | 16 ------------- internal/commands/deployment.go | 42 --------------------------------- 2 files changed, 58 deletions(-) diff --git a/internal/commands/deploy.go b/internal/commands/deploy.go index c8160b1..a7955b6 100644 --- a/internal/commands/deploy.go +++ b/internal/commands/deploy.go @@ -53,18 +53,6 @@ var Deploy = &cli.Command{ deploy.Merge(res, cmd.IsSet(idleTimeoutFlag.Name)) } - // If we didn't get a fleet ID from either its flag or the latest deployment, - // fallback to the org's default fleet ID. - if deploy.FleetId == "" { - defaultFleetId, err := getOrgDefaultFleetId(ctx, deploy.SDK, deploy.AppID) - if err != nil { - return fmt.Errorf("failed to get default fleet ID: %w", err) - } - if defaultFleetId != "" { - deploy.FleetId = defaultFleetId - } - } - if err := deploy.Validate(); err != nil { //nolint:errcheck cli.ShowSubcommandHelp(cmd) @@ -201,10 +189,6 @@ func (c *DeployConfig) Validate() error { err = errors.Join(err, missingRequiredFlag(appIDFlag.Name)) } - if c.FleetId == "" { - err = errors.Join(err, missingRequiredFlag(fleetIdFlag.Name)) - } - if c.RoomsPerProcess == 0 { err = errors.Join(err, missingRequiredFlag(roomsPerProcessFlag.Name)) } diff --git a/internal/commands/deployment.go b/internal/commands/deployment.go index 168ddeb..a5bd780 100644 --- a/internal/commands/deployment.go +++ b/internal/commands/deployment.go @@ -162,18 +162,6 @@ var Deployment = &cli.Command{ deployment.Merge(res) } - // If we didn't get a fleet ID from either its flag or the latest deployment, - // fallback to the org's default fleet ID. - if deployment.FleetId == "" { - defaultFleetId, err := getOrgDefaultFleetId(ctx, deployment.SDK, deployment.AppID) - if err != nil { - return fmt.Errorf("failed to get default fleet ID: %w", err) - } - if defaultFleetId != "" { - deployment.FleetId = defaultFleetId - } - } - if err := deployment.Validate(); err != nil { //nolint:errcheck cli.ShowSubcommandHelp(cmd) @@ -624,10 +612,6 @@ func (c *CreateDeploymentConfig) Validate() error { err = errors.Join(err, missingRequiredFlag(buildIDFlag.Name)) } - if c.FleetId == "" { - err = errors.Join(err, missingRequiredFlag(fleetIdFlag.Name)) - } - if c.RoomsPerProcess == 0 { err = errors.Join(err, missingRequiredFlag(roomsPerProcessFlag.Name)) } @@ -678,29 +662,3 @@ func (c *CreateDeploymentConfig) New() LoadableConfig { func CreateDeploymentConfigFrom(cmd *cli.Command) (*CreateDeploymentConfig, error) { return ConfigFromCLI[*CreateDeploymentConfig](createDeploymentConfigKey, cmd) } - -func getOrgDefaultFleetId(ctx context.Context, sdk *sdk.HathoraCloud, appID *string) (string, error) { - if appID == nil || *appID == "" { - return "", fmt.Errorf("app ID is required") - } - - app, err := sdk.AppsV2.GetApp(ctx, appID) - if err != nil { - return "", fmt.Errorf("failed to get org: %w", err) - } - - orgs, err := sdk.OrganizationsV1.GetOrgs(ctx) - if err != nil { - return "", fmt.Errorf("failed to get orgs: %w", err) - } - for _, org := range orgs.Orgs { - if app.OrgID == org.OrgID { - if org.DefaultFleetID == nil { - return "", nil - } - return *org.DefaultFleetID, nil - } - } - - return "", fmt.Errorf("app %s organization not found", *appID) -}