Automating sensucli publishing

Thinking in a strategy to get continuous delivery with sensu alerts. Having a repo with alerts and handlers’ definition, committing into that repo and tag as RELEASE_XX should update config automatically

1- Obvious solution would be to create a Teamcity task that gets the yaml templates and do sensuctl for each file. this has a couple of problems.

  • if you rename an entity or check, you have the old and new definition at the same time. either calculate the difference (complex) or delete all entities before each deploy (slow).

  • For non-prod Teamcity can reach the env, but for staging and production, granting access to TC worker has security implications. and setting up jenkins servers on each env sounds like an overkill.

2- Use artifactory to deploy each time a new check bundle is deployed.

  • this sounds a little better but each sensu server needs a cron to check for a new artifact, download it and validate. then update the bundle.

Do you have a recommended strategy/idea to streamline config ?

1 Like

Great post! I don’t have any direct recommendations or comments at this time, other than to share that this is a pattern we’ve seen implemented elsewhere (i.e. a lightweight CI pipeline w/o traditional configuration management).

What I did want to share are a few related topics/resources:

I hope this helps!