rename ollie-remote to toolsrv
- cmd/ollie-remote -> cmd/toolsrv - Update all references in toolsrv package - Update justfile build targets - Binary now installed as ~/.local/bin/toolsrv
This commit is contained in:
parent
ced1389549
commit
1cd158926a
|
|
@ -1,4 +1,4 @@
|
|||
// ollie-remote — tool execution server.
|
||||
// toolsrv — tool execution server.
|
||||
//
|
||||
// Accepts JSON-RPC 2.0 connections. Executes tool calls in a sandboxed
|
||||
// environment. Used both locally (spawned by olliesrv) and remotely
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
// Usage:
|
||||
//
|
||||
// ollie-remote serve --cwd /path/to/project [--listen /path/to/sock] [--yolo]
|
||||
// toolsrv serve --cwd /path/to/project [--listen /path/to/sock] [--yolo]
|
||||
//
|
||||
// When --listen is provided, accepts connections on a Unix socket.
|
||||
// Otherwise, serves a single session over stdin/stdout (bootstrap mode).
|
||||
|
|
@ -33,7 +33,7 @@ var (
|
|||
|
||||
func main() {
|
||||
if len(os.Args) < 2 || os.Args[1] != "serve" {
|
||||
fmt.Fprintln(os.Stderr, "usage: ollie-remote serve --cwd <path> [--listen <socket>]")
|
||||
fmt.Fprintln(os.Stderr, "usage: toolsrv serve --cwd <path> [--listen <socket>]")
|
||||
os.Exit(1)
|
||||
}
|
||||
flag.CommandLine.Parse(os.Args[2:])
|
||||
16
justfile
16
justfile
|
|
@ -22,9 +22,9 @@ kf5: build-kf5 install-kf5
|
|||
|
||||
# === Build targets ===
|
||||
|
||||
build: core ninep lib9p ollie-remote lsp-tools kde
|
||||
build: core ninep lib9p toolsrv lsp-tools kde
|
||||
|
||||
build-kf5: core ninep lib9p ollie-remote kde-kf5
|
||||
build-kf5: core ninep lib9p toolsrv kde-kf5
|
||||
|
||||
core:
|
||||
@echo === Building ollie-core ===
|
||||
|
|
@ -61,9 +61,9 @@ lsp-tools:
|
|||
go build -o {{cfg}}/tools/lsp_diagnostics ./tools/lsp/cmd/lsp_diagnostics/
|
||||
install -m644 ./tools/lsp/cmd/lsp_diagnostics/lsp_diagnostics.meta {{cfg}}/tools/lsp_diagnostics.meta
|
||||
|
||||
ollie-remote:
|
||||
@echo === Building ollie-remote ===
|
||||
go build -buildvcs=false -o {{bin}}/ollie-remote ./cmd/ollie-remote/
|
||||
toolsrv:
|
||||
@echo === Building toolsrv ===
|
||||
go build -buildvcs=false -o {{bin}}/toolsrv ./cmd/toolsrv/
|
||||
|
||||
kde:
|
||||
@echo === Building ollie-kde ===
|
||||
|
|
@ -92,7 +92,7 @@ install-el:
|
|||
migrate-bin:
|
||||
#!/usr/bin/env sh
|
||||
old="$HOME/bin"
|
||||
for f in olliesrv ollie-9p ollie-remote ollie-gui ollie-remount logseq-cli o; do
|
||||
for f in olliesrv ollie-9p ollie-remote toolsrv ollie-gui ollie-remount logseq-cli o; do
|
||||
if [ -f "$old/$f" ]; then
|
||||
echo " removing stale $old/$f"
|
||||
rm -f "$old/$f"
|
||||
|
|
@ -259,8 +259,8 @@ test-9p:
|
|||
go test ./fs/...
|
||||
|
||||
test-remote:
|
||||
@echo === Testing ollie-remote ===
|
||||
go build ./cmd/ollie-remote/...
|
||||
@echo === Testing toolsrv ===
|
||||
go build ./cmd/toolsrv/...
|
||||
|
||||
# === Clean ===
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ func (p *Process) Close() {
|
|||
}
|
||||
}
|
||||
|
||||
// Spawn starts a local ollie-remote subprocess listening on a Unix socket.
|
||||
// Spawn starts a local toolsrv subprocess listening on a Unix socket.
|
||||
// The returned Process owns the subprocess lifecycle. Callers connect
|
||||
// via Dial(LocalAddr(proc.Socket)).
|
||||
func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) {
|
||||
|
|
@ -50,7 +50,7 @@ func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) {
|
|||
}, nil
|
||||
}
|
||||
|
||||
// SpawnRemote starts ollie-remote on a remote host via SSH, sets up Unix
|
||||
// SpawnRemote starts toolsrv on a remote host via SSH, sets up Unix
|
||||
// socket forwarding, and returns a Process with the local forwarded socket.
|
||||
func SpawnRemote(ctx context.Context, cfg RemoteConfig) (*Process, error) {
|
||||
StreamOutput(ctx, fmt.Sprintf("[toolsrv] dialing %s (cwd: %s)...\n", cfg.SSHTarget, cfg.CWD))
|
||||
|
|
|
|||
|
|
@ -30,13 +30,13 @@ type transport struct {
|
|||
cleanup func()
|
||||
}
|
||||
|
||||
// localDial spawns ollie-remote as a local subprocess listening on a Unix
|
||||
// localDial spawns toolsrv as a local subprocess listening on a Unix
|
||||
// socket, waits for it to be ready, and returns the socket path.
|
||||
func localDial(ctx context.Context, cwd string, opts ...Option) (*transport, error) {
|
||||
// Bootstrap: verify ollie-remote binary is present.
|
||||
// Bootstrap: verify toolsrv binary is present.
|
||||
binPath, err := findLocalBinary()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("bootstrap: ollie-remote not found")
|
||||
return nil, fmt.Errorf("bootstrap: toolsrv not found")
|
||||
}
|
||||
|
||||
// Verify tools directory is accessible via ToolsPath().
|
||||
|
|
@ -124,7 +124,7 @@ func localDial(ctx context.Context, cwd string, opts ...Option) (*transport, err
|
|||
return &transport{r: conn, w: conn, sockPath: sockPath, cleanup: cleanup}, nil
|
||||
}
|
||||
|
||||
// sshDial connects to a remote host via SSH, bootstraps ollie-remote
|
||||
// sshDial connects to a remote host via SSH, bootstraps toolsrv
|
||||
// with --listen mode, sets up SSH Unix socket forwarding, and returns
|
||||
// a transport connected to the forwarded local socket.
|
||||
//
|
||||
|
|
@ -152,7 +152,7 @@ tar xzf - -C "$CACHE_DIR"
|
|||
# $XDG_CONFIG_HOME/ollie resolves to it.
|
||||
export XDG_CONFIG_HOME="$(dirname "$CACHE_DIR")"
|
||||
export PATH="$CACHE_DIR/bin:$PATH"
|
||||
exec "$CACHE_DIR/bin/ollie-remote" serve --cwd %s --listen %s
|
||||
exec "$CACHE_DIR/bin/toolsrv" serve --cwd %s --listen %s
|
||||
`, shellEscape(cfg.CWD), shellEscape(remoteSock))
|
||||
|
||||
sshArgs := []string{
|
||||
|
|
@ -257,22 +257,22 @@ func writeTarball(w io.Writer, dir string) error {
|
|||
return cmd.Run()
|
||||
}
|
||||
|
||||
// findLocalBinary locates the ollie-remote binary on the local system.
|
||||
// findLocalBinary locates the toolsrv binary on the local system.
|
||||
func findLocalBinary() (string, error) {
|
||||
home, _ := os.UserHomeDir()
|
||||
candidates := []string{
|
||||
filepath.Join(home, "bin", "ollie-remote"),
|
||||
filepath.Join(home, ".local", "bin", "ollie-remote"),
|
||||
filepath.Join(home, "bin", "toolsrv"),
|
||||
filepath.Join(home, ".local", "bin", "toolsrv"),
|
||||
}
|
||||
for _, p := range candidates {
|
||||
if _, err := os.Stat(p); err == nil {
|
||||
return p, nil
|
||||
}
|
||||
}
|
||||
if p, err := exec.LookPath("ollie-remote"); err == nil {
|
||||
if p, err := exec.LookPath("toolsrv"); err == nil {
|
||||
return p, nil
|
||||
}
|
||||
return "", fmt.Errorf("ollie-remote not found (checked %s)", strings.Join(candidates, ", "))
|
||||
return "", fmt.Errorf("toolsrv not found (checked %s)", strings.Join(candidates, ", "))
|
||||
}
|
||||
|
||||
// shellEscape escapes a string for safe use in a shell command.
|
||||
|
|
|
|||
Loading…
Reference in New Issue