Client CLI
Language
- Go.
Runtime Context
- Client compiled binary.
- Cobra-based CLI command tree.
Purpose
- Provides the
nixstasisexecutable for registration, polling, and script management.
Key Files
packages/client/cmd/nixstasis/main.gopackages/client/cmd/nixstasis/register.gopackages/client/cmd/nixstasis/poll.gopackages/client/cmd/nixstasis/script.gopackages/client/cmd/nixstasis/install_script.gopackages/client/cmd/nixstasis/list_scripts.gopackages/client/cmd/nixstasis/remove_script.gopackages/client/cmd/nixstasis/test_script.gopackages/client/cmd/nixstasis/repl.go
Public Interfaces
- CLI commands:
nixstasis registernixstasis pollnixstasis script install <path>nixstasis script listnixstasis script removenixstasis script testnixstasis script repl
- Go functions:
mainrunMainrunshouldSkipConfigrunRegisterrunPollpollOncepollInterval
Dependencies
Internal
internal/configinternal/logginginternal/identityinternal/transportinternal/scriptinternal/frpinternal/commandsinternal/telemetry
External
github.com/spf13/cobragithub.com/spf13/viper- Go
runtime/traceflight recorder.
Client-Server Interaction Details
registercalls the transport client registration endpoint.pollsends telemetry heartbeats, processes server commands, sends command results, and starts/stops FRPC based on the heartbeat response.
Traceable references:
packages/client/cmd/nixstasis/main.go:20-98packages/client/cmd/nixstasis/register.go:16-93packages/client/cmd/nixstasis/poll.go:21-249packages/client/cmd/nixstasis/script.go:5-12