mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-27 01:13:05 +00:00
48 lines
1,009 B
Go
48 lines
1,009 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"log"
|
||
|
|
||
|
"github.com/juanfont/headscale/integration"
|
||
|
"github.com/juanfont/headscale/integration/tsic"
|
||
|
"github.com/ory/dockertest/v3"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
log.Printf("creating docker pool")
|
||
|
pool, err := dockertest.NewPool("")
|
||
|
if err != nil {
|
||
|
log.Fatalf("could not connect to docker: %s", err)
|
||
|
}
|
||
|
|
||
|
log.Printf("creating docker network")
|
||
|
network, err := pool.CreateNetwork("docker-integration-net")
|
||
|
if err != nil {
|
||
|
log.Fatalf("failed to create or get network: %s", err)
|
||
|
}
|
||
|
|
||
|
for _, version := range integration.TailscaleVersions {
|
||
|
log.Printf("creating container image for Tailscale (%s)", version)
|
||
|
|
||
|
tsClient, err := tsic.New(
|
||
|
pool,
|
||
|
version,
|
||
|
network,
|
||
|
)
|
||
|
if err != nil {
|
||
|
log.Fatalf("failed to create tailscale node: %s", err)
|
||
|
}
|
||
|
|
||
|
err = tsClient.Shutdown()
|
||
|
if err != nil {
|
||
|
log.Fatalf("failed to shut down container: %s", err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
network.Close()
|
||
|
err = pool.RemoveNetwork(network)
|
||
|
if err != nil {
|
||
|
log.Fatalf("failed to remove network: %s", err)
|
||
|
}
|
||
|
}
|