An application that continuously checks the desired state of a cluster and deploys the new/changed services to the Fleet cluster.
Building
#Build go bin
go get
CGO_ENABLED=0 go build -a -installsuffix cgo -o coco-fleet-deployer .
#Build the docker image
docker build -t coco/coco-fleet-deployer .
identify changes made manually in the cluster and restore the wanted state - this used to be the case before the cache was introduced (don't think of the deployer as puppet)
set the /ft/config/deployer/is-debug to true and restart the deployer - it should now show debug logs (see Debug log enabled. log on startup)
to disable, delete the key or set it to false
see the code for examples on how to add you own debug logs!
in case of failure during deploy, to make debugging easier, the app will sleep for a certain number of seconds (60 by default) before exit. The number of seconds to sleep before exit can be set in etcd using the key: /ft/config/deployer/no-of-secs-to-sleep-before-restart
if you increase the node count in the services.yaml, deployer will create the extra nodes
if you decrease the node count in the services.yaml, deployer will deleted the extra nodes, in reverse numerical order
for the deleted nodes, you may have to manually delete the healthcheck entries from etcd /ft/services/${SERVICE}/healthcheck so they drop off the agg-hc