For machines nobody here can log into. It reads the GPUs and their nvidia-smi topology, NVSwitch and the fabric manager, every InfiniBand and RoCE port with its counters and RoCE v2 GID, the RDMA and GPUDirect kernel modules, the agent's declared fabrics against the adapters, the management interface NCCL will bootstrap over, the agent unit's memlock limit and the engines installed - and says what is wrong and how to fix it, most serious first, with the NCCL environment a shard on each fabric would be given. --json writes every fact it concluded from, to send back. It exits non-zero when something fails. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
// Package cli builds llmgw's command line surface.
|
|
package cli
|
|
|
|
import (
|
|
"log/slog"
|
|
|
|
"github.com/spf13/cobra"
|
|
|
|
"gitea.mynodes.xyz/ilker/llmgw/internal/obs"
|
|
"gitea.mynodes.xyz/ilker/llmgw/internal/version"
|
|
)
|
|
|
|
type globalFlags struct {
|
|
logLevel string
|
|
logFormat string
|
|
}
|
|
|
|
var global globalFlags
|
|
|
|
// Root returns the root command with all subcommands attached.
|
|
func Root() *cobra.Command {
|
|
root := &cobra.Command{
|
|
Use: "llmgw",
|
|
Short: "LLM gateway for multi-fabric InfiniBand and heterogeneous GPU clusters",
|
|
Long: "llmgw serves LLMs running on your own GPU servers behind a single\n" +
|
|
"OpenAI-compatible endpoint. One binary, different roles per subcommand.",
|
|
Version: version.Version,
|
|
SilenceUsage: true,
|
|
SilenceErrors: true,
|
|
PersistentPreRun: func(_ *cobra.Command, _ []string) {
|
|
obs.Setup(obs.Options{Level: global.logLevel, Format: global.logFormat})
|
|
},
|
|
}
|
|
|
|
pf := root.PersistentFlags()
|
|
pf.StringVar(&global.logLevel, "log-level", "info", "log level: debug|info|warn|error")
|
|
pf.StringVar(&global.logFormat, "log-format", "text", "log format: text|json")
|
|
|
|
root.AddCommand(
|
|
newServerCmd(),
|
|
newAgentCmd(),
|
|
newCtlCmd(),
|
|
newTenancyCmd(),
|
|
newUsersCmd(),
|
|
newOrgCmd(),
|
|
newMirrorCmd(),
|
|
newSimEngineCmd(),
|
|
newDoctorCmd(),
|
|
)
|
|
return root
|
|
}
|
|
|
|
func logger() *slog.Logger { return slog.Default() }
|