fix(agent/windows): named pipe Tailscale + hideWindow + logs

- Use Windows named pipe \.\pipe\studioe5-tailscaled instead of Unix socket
- Apply hideWindow to all child processes (tailscale, podman, docker, browser)
- Redirect agent logs to <data-dir>/agent.log and tailscaled logs to tailscaled.log
- Fix double tailscale/ tailscale dir path in startTailscaleAndReport
- Remove --operator=root on Windows
- Bump agent version to 0.3.1
This commit is contained in:
EduBox Dev
2026-06-23 18:18:26 +00:00
parent 03b2f1267d
commit d090f67bff
10 changed files with 121 additions and 37 deletions
+16 -14
View File
@@ -39,27 +39,33 @@ func writeCompose(dataDir, instanceID, compose string, port int) error {
return os.WriteFile(f, []byte(compose), 0644)
}
func configureEngineCmd(cmd *exec.Cmd, dir string) {
hideWindow(cmd)
logPath := filepath.Join(dir, "compose.log")
if f, err := os.OpenFile(logPath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644); err == nil {
cmd.Stdout = f
cmd.Stderr = f
}
}
func dockerComposeUp(dataDir, instanceID string) error {
dir := instanceDir(dataDir, instanceID)
cmd := exec.Command(getContainerEngine(), "compose", "-f", filepath.Join(dir, "docker-compose.yml"), "up", "-d")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
configureEngineCmd(cmd, dir)
return cmd.Run()
}
func dockerComposeDown(dataDir, instanceID string) error {
dir := instanceDir(dataDir, instanceID)
cmd := exec.Command(getContainerEngine(), "compose", "-f", filepath.Join(dir, "docker-compose.yml"), "down")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
configureEngineCmd(cmd, dir)
return cmd.Run()
}
func dockerComposeRm(dataDir, instanceID string) error {
dir := instanceDir(dataDir, instanceID)
cmd := exec.Command(getContainerEngine(), "compose", "-f", filepath.Join(dir, "docker-compose.yml"), "down", "-v")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
configureEngineCmd(cmd, dir)
if err := cmd.Run(); err != nil {
return err
}
@@ -104,15 +110,13 @@ fi
defer os.Remove(scriptPath)
cpCmd := exec.Command(engine, "compose", "-f", composeFile, "cp", scriptPath, "app:/tmp/update-wp-urls.sh")
cpCmd.Stdout = os.Stdout
cpCmd.Stderr = os.Stderr
configureEngineCmd(cpCmd, dir)
if err := cpCmd.Run(); err != nil {
return err
}
execCmd := exec.Command(engine, "compose", "-f", composeFile, "exec", "-T", "app", "sh", "/tmp/update-wp-urls.sh")
execCmd.Stdout = os.Stdout
execCmd.Stderr = os.Stderr
configureEngineCmd(execCmd, dir)
return execCmd.Run()
}
@@ -141,14 +145,12 @@ fi
defer os.Remove(scriptPath)
cpCmd := exec.Command(engine, "compose", "-f", composeFile, "cp", scriptPath, "app:/tmp/strip-wp-urls.sh")
cpCmd.Stdout = os.Stdout
cpCmd.Stderr = os.Stderr
configureEngineCmd(cpCmd, dir)
if err := cpCmd.Run(); err != nil {
return err
}
execCmd := exec.Command(engine, "compose", "-f", composeFile, "exec", "-T", "app", "sh", "/tmp/strip-wp-urls.sh")
execCmd.Stdout = os.Stdout
execCmd.Stderr = os.Stderr
configureEngineCmd(execCmd, dir)
return execCmd.Run()
}