2022-10-21 13:17:38 +02:00
|
|
|
package integration
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/netip"
|
2022-11-03 16:56:19 +01:00
|
|
|
"net/url"
|
2022-10-21 13:17:38 +02:00
|
|
|
|
|
|
|
"tailscale.com/ipn/ipnstate"
|
|
|
|
)
|
|
|
|
|
2022-12-19 18:15:31 +00:00
|
|
|
// nolint
|
2022-10-21 13:17:38 +02:00
|
|
|
type TailscaleClient interface {
|
|
|
|
Hostname() string
|
|
|
|
Shutdown() error
|
|
|
|
Version() string
|
2022-11-03 17:00:23 +01:00
|
|
|
Execute(command []string) (string, string, error)
|
2022-10-21 13:17:38 +02:00
|
|
|
Up(loginServer, authKey string) error
|
2022-11-03 16:56:19 +01:00
|
|
|
UpWithLoginURL(loginServer string) (*url.URL, error)
|
2022-12-21 22:29:52 +00:00
|
|
|
Logout() error
|
2022-10-21 13:17:38 +02:00
|
|
|
IPs() ([]netip.Addr, error)
|
2022-10-23 11:55:37 +02:00
|
|
|
FQDN() (string, error)
|
2022-10-21 13:17:38 +02:00
|
|
|
Status() (*ipnstate.Status, error)
|
2022-11-13 13:06:53 +01:00
|
|
|
WaitForReady() error
|
2022-12-19 18:15:31 +00:00
|
|
|
WaitForLogout() error
|
2022-10-21 13:17:38 +02:00
|
|
|
WaitForPeers(expected int) error
|
2022-10-21 14:07:46 +02:00
|
|
|
Ping(hostnameOrIP string) error
|
2022-11-08 15:09:52 +00:00
|
|
|
ID() string
|
2022-10-21 13:17:38 +02:00
|
|
|
}
|