@@ -27,6 +27,8 @@ const (
2727 StatelessPlatformCommand string = "stateless-platform"
2828 swarm string = "swarm"
2929 mesos string = "mesos"
30+ // DefaultRouterMeshSize defines the default number of routers to be loaded when installing the platform.
31+ DefaultRouterMeshSize uint8 = 3
3032)
3133
3234// ListUnits prints a list of installed units.
@@ -45,6 +47,9 @@ var Stdout io.Writer = os.Stderr
4547// Location to write standard error information. By default, this is the os.Stderr.
4648var Stderr io.Writer = os .Stdout
4749
50+ // Number of routers to be installed. By default, it's DefaultRouterMeshSize.
51+ var RouterMeshSize = DefaultRouterMeshSize
52+
4853// Scale grows or shrinks the number of running components.
4954// Currently "router", "registry" and "store-gateway" are the only types that can be scaled.
5055func Scale (targets []string , b backend.Backend ) error {
@@ -319,11 +324,19 @@ func installDefaultServices(b backend.Backend, stateless bool, wg *sync.WaitGrou
319324 wg .Wait ()
320325
321326 fmt .Fprintln (out , "Routing mesh..." )
322- b .Create ([] string { "router@1" , "router@2" , "router@3" } , wg , out , err )
327+ b .Create (getRouters () , wg , out , err )
323328 wg .Wait ()
324329
325330}
326331
332+ func getRouters () []string {
333+ routers := make ([]string , RouterMeshSize )
334+ for i := uint8 (0 ); i < RouterMeshSize ; i ++ {
335+ routers [i ] = fmt .Sprintf ("router@%d" , i + 1 )
336+ }
337+ return routers
338+ }
339+
327340// Uninstall unloads the definitions of the specified components.
328341// After Uninstall, the components will be unavailable until Install is called.
329342func Uninstall (targets []string , b backend.Backend ) error {
0 commit comments