Swarm Builder
This tool is used to fully automate swarm creation, based on node roles.
Objective
- With a pool of compute instances, create a complete swarm with everything needed to run services
- All nodes are created in parallel, when possible. (masters must be started before slaves)
Syntax
All recipes are described in Javascript. This is more powerful than describing using YML or JSON. The swarm-builder provides high-level constructs to easily describe every nodes.
-
meta: docker-version
-
node ip: ssh-Key ssh-username
roles: one or more node roles (ex: swarm-master, swarm-slave, mongodb-replicaset)
Roles are defined in their own files
Sample command
swb env -s dev mongodb.transaction mongodb://localhost:27017/transaction
swb deploy -s dev --image dockerdev.hubgroup.com/customer:DEV-897867 customer-1-0
swb update -s dev --image dockerdev.hubgroup.com/customer:DEV-897867 customer-1-1
swb volume sync proxy_deployments --folder ./volumes/deployments
swb volume create -s dev --name docker_registry_data --mountpoint /repo --node app2,app1,app3
swb facade create --name car_demo --role app-worker --mountpoint /home/dock-dev/demo_facade -s dev --folder ./facades/car_demo
swb volume ls -s dev web1,web2