Search code examples
gittravis-cicontinuous-deploymentsalt-projectcontinuous-delivery

Using SaltStack, How to Communicate with External Build Tool


When code is committed to GitHub, the system has a web-hook which causes Travis CI to start the build process.

Given the build machine is outside of the the salt master's reins, what is the best way (and most secure) for the salt master to know if/when build is successful, so that automatic provisioning with salt-cloud can start?

If this approach to Continuous Delivery with Salt is incorrect, what convention is most standard in doing this process?

Configuration Notes

  • Configuration Management Tool: Salt master & provisioning with salt-cloud
  • Build Server/Tool: Travis CI
  • VCS System: GitHub

Solution

  • The Salt documentation contains a short example on how to add a web hook to the Salt Master and how to call it from Travis CI.

    Once the Webhook is triggered, you'll have an event in Salt Reactor. From there you can trigger Salt Cloud.

    You can configure it to be a public web hook, but then you must not send any sensitive information.

    Or you add SSL and use user/password to login (using Salt's external auth).