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
|
// Accepts JSON-RPC 2.0 connections. Executes tool calls in a sandboxed
|
||||||
// environment. Used both locally (spawned by olliesrv) and remotely
|
// environment. Used both locally (spawned by olliesrv) and remotely
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
//
|
//
|
||||||
// Usage:
|
// 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.
|
// When --listen is provided, accepts connections on a Unix socket.
|
||||||
// Otherwise, serves a single session over stdin/stdout (bootstrap mode).
|
// Otherwise, serves a single session over stdin/stdout (bootstrap mode).
|
||||||
|
|
@ -33,7 +33,7 @@ var (
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if len(os.Args) < 2 || os.Args[1] != "serve" {
|
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)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
flag.CommandLine.Parse(os.Args[2:])
|
flag.CommandLine.Parse(os.Args[2:])
|
||||||
16
justfile
16
justfile
|
|
@ -22,9 +22,9 @@ kf5: build-kf5 install-kf5
|
||||||
|
|
||||||
# === Build targets ===
|
# === 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:
|
core:
|
||||||
@echo === Building ollie-core ===
|
@echo === Building ollie-core ===
|
||||||
|
|
@ -61,9 +61,9 @@ lsp-tools:
|
||||||
go build -o {{cfg}}/tools/lsp_diagnostics ./tools/lsp/cmd/lsp_diagnostics/
|
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
|
install -m644 ./tools/lsp/cmd/lsp_diagnostics/lsp_diagnostics.meta {{cfg}}/tools/lsp_diagnostics.meta
|
||||||
|
|
||||||
ollie-remote:
|
toolsrv:
|
||||||
@echo === Building ollie-remote ===
|
@echo === Building toolsrv ===
|
||||||
go build -buildvcs=false -o {{bin}}/ollie-remote ./cmd/ollie-remote/
|
go build -buildvcs=false -o {{bin}}/toolsrv ./cmd/toolsrv/
|
||||||
|
|
||||||
kde:
|
kde:
|
||||||
@echo === Building ollie-kde ===
|
@echo === Building ollie-kde ===
|
||||||
|
|
@ -92,7 +92,7 @@ install-el:
|
||||||
migrate-bin:
|
migrate-bin:
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
old="$HOME/bin"
|
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
|
if [ -f "$old/$f" ]; then
|
||||||
echo " removing stale $old/$f"
|
echo " removing stale $old/$f"
|
||||||
rm -f "$old/$f"
|
rm -f "$old/$f"
|
||||||
|
|
@ -259,8 +259,8 @@ test-9p:
|
||||||
go test ./fs/...
|
go test ./fs/...
|
||||||
|
|
||||||
test-remote:
|
test-remote:
|
||||||
@echo === Testing ollie-remote ===
|
@echo === Testing toolsrv ===
|
||||||
go build ./cmd/ollie-remote/...
|
go build ./cmd/toolsrv/...
|
||||||
|
|
||||||
# === Clean ===
|
# === 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
|
// The returned Process owns the subprocess lifecycle. Callers connect
|
||||||
// via Dial(LocalAddr(proc.Socket)).
|
// via Dial(LocalAddr(proc.Socket)).
|
||||||
func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) {
|
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
|
}, 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.
|
// socket forwarding, and returns a Process with the local forwarded socket.
|
||||||
func SpawnRemote(ctx context.Context, cfg RemoteConfig) (*Process, error) {
|
func SpawnRemote(ctx context.Context, cfg RemoteConfig) (*Process, error) {
|
||||||
StreamOutput(ctx, fmt.Sprintf("[toolsrv] dialing %s (cwd: %s)...\n", cfg.SSHTarget, cfg.CWD))
|
StreamOutput(ctx, fmt.Sprintf("[toolsrv] dialing %s (cwd: %s)...\n", cfg.SSHTarget, cfg.CWD))
|
||||||
|
|
|
||||||
|
|
@ -30,13 +30,13 @@ type transport struct {
|
||||||
cleanup func()
|
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.
|
// socket, waits for it to be ready, and returns the socket path.
|
||||||
func localDial(ctx context.Context, cwd string, opts ...Option) (*transport, error) {
|
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()
|
binPath, err := findLocalBinary()
|
||||||
if err != nil {
|
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().
|
// 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
|
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
|
// with --listen mode, sets up SSH Unix socket forwarding, and returns
|
||||||
// a transport connected to the forwarded local socket.
|
// a transport connected to the forwarded local socket.
|
||||||
//
|
//
|
||||||
|
|
@ -152,7 +152,7 @@ tar xzf - -C "$CACHE_DIR"
|
||||||
# $XDG_CONFIG_HOME/ollie resolves to it.
|
# $XDG_CONFIG_HOME/ollie resolves to it.
|
||||||
export XDG_CONFIG_HOME="$(dirname "$CACHE_DIR")"
|
export XDG_CONFIG_HOME="$(dirname "$CACHE_DIR")"
|
||||||
export PATH="$CACHE_DIR/bin:$PATH"
|
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))
|
`, shellEscape(cfg.CWD), shellEscape(remoteSock))
|
||||||
|
|
||||||
sshArgs := []string{
|
sshArgs := []string{
|
||||||
|
|
@ -257,22 +257,22 @@ func writeTarball(w io.Writer, dir string) error {
|
||||||
return cmd.Run()
|
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) {
|
func findLocalBinary() (string, error) {
|
||||||
home, _ := os.UserHomeDir()
|
home, _ := os.UserHomeDir()
|
||||||
candidates := []string{
|
candidates := []string{
|
||||||
filepath.Join(home, "bin", "ollie-remote"),
|
filepath.Join(home, "bin", "toolsrv"),
|
||||||
filepath.Join(home, ".local", "bin", "ollie-remote"),
|
filepath.Join(home, ".local", "bin", "toolsrv"),
|
||||||
}
|
}
|
||||||
for _, p := range candidates {
|
for _, p := range candidates {
|
||||||
if _, err := os.Stat(p); err == nil {
|
if _, err := os.Stat(p); err == nil {
|
||||||
return p, 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 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.
|
// shellEscape escapes a string for safe use in a shell command.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue