github.com/ali-iotechsys/cli@v20.10.0+incompatible/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  }