Documentation
¶
Overview ¶
Package tsric provides a TailscaleRustInContainer (tsric) implementation that runs the tailscale-rs axum example inside a Docker container for integration testing with headscale.
Unlike tsic (which runs the official Tailscale client), tsric runs a Rust implementation of a Tailscale node. It does not have the `tailscale` CLI, so verification is done externally via headscale API and peer connectivity.
Index ¶
- type Option
- type TailscaleRustInContainer
- func (t *TailscaleRustInContainer) ContainerID() string
- func (t *TailscaleRustInContainer) Execute(command []string, options ...dockertestutil.ExecuteCommandOption) (string, string, error)
- func (t *TailscaleRustInContainer) Hostname() string
- func (t *TailscaleRustInContainer) SaveLog(path string) (string, string, error)
- func (t *TailscaleRustInContainer) Shutdown() (string, string, error)
- func (t *TailscaleRustInContainer) WriteFile(path string, data []byte) error
- func (t *TailscaleRustInContainer) WriteLogs(stdout, stderr io.Writer) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option = func(c *TailscaleRustInContainer)
Option represents optional settings for a TailscaleRustInContainer instance.
func WithAuthKey ¶
WithAuthKey sets the pre-authentication key for joining the tailnet.
func WithCACert ¶
WithCACert adds a CA certificate to the trusted certificates of the container.
func WithExtraHosts ¶
WithExtraHosts adds extra /etc/hosts entries to the container.
func WithHeadscaleURL ¶
WithHeadscaleURL sets the headscale control server URL.
func WithNetwork ¶
func WithNetwork(network *dockertest.Network) Option
WithNetwork sets the Docker dockertest.Network.
type TailscaleRustInContainer ¶
type TailscaleRustInContainer struct {
// contains filtered or unexported fields
}
TailscaleRustInContainer runs the tailscale-rs axum example as an integration test peer.
func New ¶
func New( pool *dockertest.Pool, opts ...Option, ) (*TailscaleRustInContainer, error)
New creates and starts a new TailscaleRustInContainer instance.
func (*TailscaleRustInContainer) ContainerID ¶
func (t *TailscaleRustInContainer) ContainerID() string
ContainerID returns the Docker container ID.
func (*TailscaleRustInContainer) Execute ¶
func (t *TailscaleRustInContainer) Execute( command []string, options ...dockertestutil.ExecuteCommandOption, ) (string, string, error)
Execute runs a command inside the container.
func (*TailscaleRustInContainer) Hostname ¶
func (t *TailscaleRustInContainer) Hostname() string
Hostname returns the hostname of the TailscaleRustInContainer instance.
func (*TailscaleRustInContainer) SaveLog ¶
func (t *TailscaleRustInContainer) SaveLog(path string) (string, string, error)
SaveLog saves the current container logs to the given path.
func (*TailscaleRustInContainer) Shutdown ¶
func (t *TailscaleRustInContainer) Shutdown() (string, string, error)
Shutdown stops and cleans up the container.