StackStorm / st2

StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, incident responses, troubleshooting, deployments, and more for DevOps and SREs. Includes rules engine, workflow, 160 integration packs with 6000+ actions (see https://exchange.stackstorm.org) and ChatOps. Installer at https://docs.stackstorm.com/install/index.html
https://stackstorm.com/
Apache License 2.0
6.1k stars 746 forks source link

pants-plugins/uses_services: respect `ST2_DATABASE__*` vars #6278

Closed cognifloyd closed 3 days ago

cognifloyd commented 1 week ago

This PR's commits were extracted from #6273 where I'm working on getting pants+pytest to run integration tests.

This lightly refactors pants-plugins/uses_services to make it easier to mention the ST2_* conf vars (introduced in #6277) in the instructions messages that the plugin prints when a service isn't running.

Then this PR updates the mongo rules to make use of the ST2_DATABASE__* conf vars if present. Thus, people can use ST2_DATABASE__* both in production and when testing to use whatever database they choose.

This only passes a subset of the possible ST2_DATABASE__* vars to tests. If anyone wants to add others, they need to review the tests to see if the tests override that setting or not. This is the config that tells pants to pass these vars to pytest:

https://github.com/StackStorm/st2/blob/5c384d9abcb12679e242a46bfba59a12a0349f72/pants.toml#L238-L249

For background context on pants-plugins/uses_services see: