Documentation
¶
Index ¶
- Variables
- type ControlServer
- type Scenario
- func (s *Scenario) CountTailscale() int
- func (s *Scenario) CreateHeadscaleEnv(users map[string]int, tsOpts []tsic.Option, opts ...hsic.Option) error
- func (s *Scenario) CreatePreAuthKey(user string, reusable bool, ephemeral bool) (*v1.PreAuthKey, error)
- func (s *Scenario) CreateTailscaleNodesInUser(userStr string, requestedVersion string, count int, opts ...tsic.Option) error
- func (s *Scenario) CreateUser(user string) error
- func (s *Scenario) GetClients(user string) ([]TailscaleClient, error)
- func (s *Scenario) GetIPs(user string) ([]netip.Addr, error)
- func (s *Scenario) Headscale(opts ...hsic.Option) (ControlServer, error)
- func (s *Scenario) ListTailscaleClients(users ...string) ([]TailscaleClient, error)
- func (s *Scenario) ListTailscaleClientsFQDNs(users ...string) ([]string, error)
- func (s *Scenario) ListTailscaleClientsIPs(users ...string) ([]netip.Addr, error)
- func (s *Scenario) RunTailscaleUp(userStr, loginServer, authKey string) error
- func (s *Scenario) Shutdown() error
- func (s *Scenario) Users() []string
- func (s *Scenario) WaitForTailscaleLogout()
- func (s *Scenario) WaitForTailscaleSync() error
- type TailscaleClient
- type User
Constants ¶
This section is empty.
Variables ¶
View Source
var (
TailscaleVersions = append(
tailscaleVersions2021,
tailscaleVersions2019...,
)
)
Functions ¶
This section is empty.
Types ¶
type ControlServer ¶
type ControlServer interface {
Shutdown() error
Execute(command []string) (string, error)
GetHealthEndpoint() string
GetEndpoint() string
WaitForReady() error
CreateUser(user string) error
CreateAuthKey(user string, reusable bool, ephemeral bool) (*v1.PreAuthKey, error)
ListMachinesInUser(user string) ([]*v1.Machine, error)
GetCert() []byte
GetHostname() string
GetIP() string
}
type Scenario ¶
type Scenario struct {
// contains filtered or unexported fields
}
TODO(kradalby): make control server configurable, test correctness with Tailscale SaaS.
func NewScenario ¶
func (*Scenario) CountTailscale ¶
func (*Scenario) CreateHeadscaleEnv ¶
func (s *Scenario) CreateHeadscaleEnv( users map[string]int, tsOpts []tsic.Option, opts ...hsic.Option, ) error
CreateHeadscaleEnv is a conventient method returning a set up Headcale test environment with nodes of all versions, joined to the server with X users.
func (*Scenario) CreatePreAuthKey ¶
func (*Scenario) CreateTailscaleNodesInUser ¶ added in v0.19.0
func (*Scenario) CreateUser ¶ added in v0.19.0
func (*Scenario) GetClients ¶
func (s *Scenario) GetClients(user string) ([]TailscaleClient, error)
func (*Scenario) Headscale ¶
func (s *Scenario) Headscale(opts ...hsic.Option) (ControlServer, error)
TODO(kradalby): make port and headscale configurable, multiple instances support?
func (*Scenario) ListTailscaleClients ¶
func (s *Scenario) ListTailscaleClients(users ...string) ([]TailscaleClient, error)
func (*Scenario) ListTailscaleClientsFQDNs ¶
func (*Scenario) ListTailscaleClientsIPs ¶
func (*Scenario) RunTailscaleUp ¶
func (*Scenario) WaitForTailscaleLogout ¶ added in v0.18.0
func (s *Scenario) WaitForTailscaleLogout()
func (*Scenario) WaitForTailscaleSync ¶
type TailscaleClient ¶
type TailscaleClient interface {
Hostname() string
Shutdown() error
Version() string
Execute(command []string) (string, string, error)
Up(loginServer, authKey string) error
UpWithLoginURL(loginServer string) (*url.URL, error)
Logout() error
IPs() ([]netip.Addr, error)
FQDN() (string, error)
Status() (*ipnstate.Status, error)
WaitForReady() error
WaitForLogout() error
WaitForPeers(expected int) error
Ping(hostnameOrIP string) error
ID() string
}
nolint
type User ¶ added in v0.19.0
type User struct {
Clients map[string]TailscaleClient
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.