github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/cli/internal/test/builders/swarm.go (about) 1 package builders 2 3 import ( 4 "time" 5 6 "github.com/docker/docker/api/types/swarm" 7 ) 8 9 // Swarm creates a swarm with default values. 10 // Any number of swarm function builder can be pass to augment it. 11 func Swarm(swarmBuilders ...func(*swarm.Swarm)) *swarm.Swarm { 12 t1 := time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC) 13 swarm := &swarm.Swarm{ 14 ClusterInfo: swarm.ClusterInfo{ 15 ID: "swarm", 16 Meta: swarm.Meta{ 17 CreatedAt: t1, 18 }, 19 Spec: swarm.Spec{}, 20 }, 21 JoinTokens: swarm.JoinTokens{ 22 Worker: "worker-join-token", 23 Manager: "manager-join-token", 24 }, 25 } 26 27 for _, builder := range swarmBuilders { 28 builder(swarm) 29 } 30 31 return swarm 32 } 33 34 // Autolock set the swarm into autolock mode 35 func Autolock() func(*swarm.Swarm) { 36 return func(swarm *swarm.Swarm) { 37 swarm.Spec.EncryptionConfig.AutoLockManagers = true 38 } 39 }