chore: reorganize go code

This commit is contained in:
Aarnav Tale
2025-06-08 08:59:33 -04:00
parent 7a6ad8d2d5
commit 0f9bf73b82
28 changed files with 796 additions and 220 deletions
+37
View File
@@ -0,0 +1,37 @@
package main
import (
_ "github.com/joho/godotenv/autoload"
"github.com/tale/headplane/agent/internal/config"
"github.com/tale/headplane/agent/internal/hpagent"
"github.com/tale/headplane/agent/internal/sshutil"
"github.com/tale/headplane/agent/internal/tsnet"
"github.com/tale/headplane/agent/internal/util"
)
type Register struct {
Type string
ID string
}
func main() {
log := util.GetLogger()
cfg, err := config.Load()
if err != nil {
log.Fatal("Failed to load config: %s", err)
}
log.SetDebug(cfg.Debug)
agent := tsnet.NewAgent(cfg)
agent.Connect()
defer agent.Shutdown()
log.Msg(&Register{
Type: "register",
ID: agent.ID,
})
sshutil.DispatchSSHStdin()
hpagent.FollowMaster(agent)
}
+30 -4
View File
@@ -3,6 +3,7 @@
package main
import (
"context"
"log"
"syscall/js"
@@ -10,14 +11,39 @@ import (
)
func main() {
js.Global().Set("newIPN", js.FuncOf(func(this js.Value, args []js.Value) any {
if len(args) != 1 {
log.Fatal("Usage: newIPN(config)")
log.Printf("Loading WASM Headplane SSH module")
js.Global().Set("TsWasmNet", js.FuncOf(func(this js.Value, args []js.Value) any {
if len(args) != 2 {
log.Fatal("Usage: TsWasmNet(config, callbacks)")
return nil
}
return hp_ipn.NewIPN(args[0])
options, err := hp_ipn.ParseTsWasmNetOptions(args[0])
if err != nil {
log.Fatal("Error parsing options:", err)
return nil
}
callbacks, err := hp_ipn.ParseTsWasmNetCallbacks(args[1])
if err != nil {
log.Fatal("Error parsing callbacks:", err)
return nil
}
ipn, err := hp_ipn.NewTsWasmIpn(options, callbacks)
if err != nil {
log.Fatal("Error creating TsWasmIpn:", err)
return nil
}
return map[string]any{
"Start": js.FuncOf(func(this js.Value, args []js.Value) any {
ipn.Start(context.Background())
return nil
}),
}
}))
log.Printf("WASM Headplane SSH module loaded successfully")
<-make(chan bool)
}