Skip to content

Commit 34625e9

Browse files
committed
Fix feedback
1 parent e482c0a commit 34625e9

File tree

5 files changed

+29
-34
lines changed

5 files changed

+29
-34
lines changed

internal/boxcli/services.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func (flags *serviceUpFlags) register(cmd *cobra.Command) {
4040
cmd.Flags().StringArrayVar(
4141
&flags.processComposeFlags, "pcflags", []string{}, "pass flags directly to process compose")
4242
cmd.Flags().IntVarP(
43-
&flags.pcport, "pcport", "p", 0, "specify the port for process-compose to use. You can also set the pcport by exporting PC_PORT_NUM")
43+
&flags.pcport, "pcport", "p", 0, "specify the port for process-compose to use. You can also set the pcport by exporting DEVBOX_PC_PORT_NUM")
4444
}
4545

4646
func (flags *serviceStopFlags) register(cmd *cobra.Command) {
@@ -268,9 +268,9 @@ func startProcessManager(
268268
servicesFlags.runInCurrentShell,
269269
args,
270270
devopt.ProcessComposeOpts{
271-
Background: flags.background,
272-
ExtraFlags: flags.processComposeFlags,
273-
PCPort: flags.pcport,
271+
Background: flags.background,
272+
ExtraFlags: flags.processComposeFlags,
273+
ProcessComposePort: flags.pcport,
274274
},
275275
)
276276
}

internal/devbox/devopt/devboxopts.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ type Opts struct {
1818
}
1919

2020
type ProcessComposeOpts struct {
21-
ExtraFlags []string
22-
Background bool
23-
PCPort int
21+
ExtraFlags []string
22+
Background bool
23+
ProcessComposePort int
2424
}
2525

2626
type GenerateOpts struct {

internal/devbox/services.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ func (d *Devbox) StartProcessManager(
218218
for _, flag := range processComposeOpts.ExtraFlags {
219219
args = append(args, "--pcflags", flag)
220220
}
221-
if processComposeOpts.PCPort != 0 {
222-
args = append(args, "--pcport", strconv.Itoa(processComposeOpts.PCPort))
221+
if processComposeOpts.ProcessComposePort != 0 {
222+
args = append(args, "--pcport", strconv.Itoa(processComposeOpts.ProcessComposePort))
223223
}
224224

225225
return d.runDevboxServicesScript(ctx, args)
@@ -258,10 +258,10 @@ func (d *Devbox) StartProcessManager(
258258
svcs,
259259
d.projectDir,
260260
services.ProcessComposeOpts{
261-
BinPath: processComposeBinPath,
262-
Background: processComposeOpts.Background,
263-
ExtraFlags: processComposeOpts.ExtraFlags,
264-
PCPort: processComposeOpts.PCPort,
261+
BinPath: processComposeBinPath,
262+
Background: processComposeOpts.Background,
263+
ExtraFlags: processComposeOpts.ExtraFlags,
264+
ProcessComposePort: processComposeOpts.ProcessComposePort,
265265
},
266266
)
267267
}

internal/services/manager.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ type globalProcessComposeConfig struct {
4141
}
4242

4343
type ProcessComposeOpts struct {
44-
BinPath string
45-
ExtraFlags []string
46-
Background bool
47-
PCPort int
44+
BinPath string
45+
ExtraFlags []string
46+
Background bool
47+
ProcessComposePort int
4848
}
4949

5050
func newGlobalProcessComposeConfig() *globalProcessComposeConfig {
@@ -129,15 +129,11 @@ func StartProcessManager(
129129
config := readGlobalProcessComposeJSON(configFile)
130130
config.File = configFile
131131

132-
port, err := selectPort(processComposeConfig.PCPort)
132+
port, err := selectPort(processComposeConfig.ProcessComposePort)
133133
if err != nil {
134134
return fmt.Errorf("failed to select port: %v", err)
135135
}
136136

137-
if !isPortAvailable(port) {
138-
return fmt.Errorf("port %d is already in use", port)
139-
}
140-
141137
// Start building the process-compose command
142138
flags := []string{"-p", strconv.Itoa(port)}
143139
upCommand := []string{"up"}

internal/services/ports.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,11 @@ func getAvailablePort() (int, error) {
4141
return 0, errors.WithStack(err)
4242
}
4343

44-
l, err := net.ListenTCP("tcp", addr)
45-
if err != nil {
44+
if isPortAvailable(addr.Port) != nil {
4645
return 0, errors.WithStack(err)
4746
}
48-
defer l.Close()
49-
return l.Addr().(*net.TCPAddr).Port, nil
47+
48+
return addr.Port, nil
5049
}
5150

5251
for range 1000 {
@@ -65,18 +64,18 @@ func getAvailablePort() (int, error) {
6564

6665
func selectPort(configPort int) (int, error) {
6766
if configPort != 0 {
68-
return configPort, nil
67+
return configPort, isPortAvailable(configPort)
6968
}
7069

71-
if portStr, exists := os.LookupEnv("PC_PORT_NUM"); exists {
70+
if portStr, exists := os.LookupEnv("DEVBOX_PC_PORT_NUM"); exists {
7271
port, err := strconv.Atoi(portStr)
7372
if err != nil {
74-
return 0, fmt.Errorf("invalid PC_PORT_NUM environment variable: %v", err)
73+
return 0, fmt.Errorf("invalid DEVBOX_PC_PORT_NUM environment variable: %v", err)
7574
}
7675
if port <= 0 {
77-
return 0, fmt.Errorf("invalid PC_PORT_NUM environment variable: ports cannot be less than 0")
76+
return 0, fmt.Errorf("invalid DEVBOX_PC_PORT_NUM environment variable: ports cannot be less than 0")
7877
}
79-
return port, nil
78+
return port, isPortAvailable(port)
8079
}
8180

8281
return getAvailablePort()
@@ -86,11 +85,11 @@ func isAllowed(port int) bool {
8685
return port > 1024 && disallowedPorts[port] == ""
8786
}
8887

89-
func isPortAvailable(port int) bool {
88+
func isPortAvailable(port int) error {
9089
ln, err := net.Listen("tcp", fmt.Sprintf(":%d", port))
9190
if err != nil {
92-
return false
91+
return fmt.Errorf("port %d is already in use", port)
9392
}
9493
ln.Close()
95-
return true
94+
return nil
9695
}

0 commit comments

Comments
 (0)