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.