mirror of
https://github.com/jetkvm/kvm.git
synced 2026-05-21 05:20:35 +00:00
5b143578d6
Move types, parsing, exec, and control-URL logic from the root kvm package into internal/tailscale/ so go test ./... no longer tries to link ARM-only CGO libraries on x86_64 hosts.
39 lines
881 B
Go
39 lines
881 B
Go
package kvm
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/jetkvm/kvm/internal/tailscale"
|
|
)
|
|
|
|
func rpcGetTailscaleStatus() (*tailscale.Status, error) {
|
|
ensureConfigLoaded()
|
|
return tailscale.GetStatus(config.TailscaleControlURL, func(err error) {
|
|
tailscaleLogger.Warn().Err(err).Msg("failed to get tailscale status")
|
|
})
|
|
}
|
|
|
|
func rpcGetTailscaleControlURL() (string, error) {
|
|
ensureConfigLoaded()
|
|
return tailscale.EffectiveControlURL(config.TailscaleControlURL), nil
|
|
}
|
|
|
|
func rpcSetTailscaleControlURL(controlURL string) error {
|
|
ensureConfigLoaded()
|
|
|
|
previousURL := config.TailscaleControlURL
|
|
|
|
normalized, err := tailscale.SetControlURL(controlURL)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
config.TailscaleControlURL = normalized
|
|
if err := SaveConfig(); err != nil {
|
|
config.TailscaleControlURL = previousURL
|
|
return fmt.Errorf("failed to save tailscale control URL: %w", err)
|
|
}
|
|
|
|
return nil
|
|
}
|