zlh-agent/internal/provision/addons/codeserver/install.go
2026-03-20 23:17:19 +00:00

36 lines
724 B
Go

package codeserver
import (
"fmt"
"strconv"
"zlh-agent/internal/provision/executil"
"zlh-agent/internal/state"
)
func launchEnv(cfg state.Config) []string {
extraEnv := []string{
"CODE_SERVER_PORT=8080",
"CODE_SERVER_WORKSPACE=/home/dev/workspace",
}
if cfg.VMID != 0 {
extraEnv = append(
extraEnv,
"VMID="+strconv.Itoa(cfg.VMID),
)
}
return extraEnv
}
func Install(cfg state.Config) error {
if Running() {
if err := Stop(); err != nil {
return fmt.Errorf("codeserver stop failed before install: %w", err)
}
}
if err := executil.RunEmbeddedScript("addons/codeserver/install.sh", launchEnv(cfg)...); err != nil {
return fmt.Errorf("codeserver install failed: %w", err)
}
return nil
}