salt
salt copied to clipboard
WIP: new: salt.sqlalchemy base implementation (+ returner & cache)
What does this PR do?
this is the foundation for a shared sqlalchemy model that can be used across (at least, from current testing) postgresql, mysql, sqlite. The eventual goal would be to deprecate the redundant mysql, pgjsonb, postgres returners & cache implementations. In the longer future, possibly defaulting to sqlite and removing file based cache & returner mechanisms could lead to simplifying the salt codebase, but thats a much larger discussion.
NOTE: this PR is rebased on https://github.com/saltstack/salt/pull/68039 and https://github.com/saltstack/salt/pull/68030 , please merge them first, thanks 👍
I've got a separate changeset that implements sql optimizations for salt.key/salt.utils.minions, I'll be working on that next
Merge requirements satisfied?
[NOTICE] Bug fixes or features added to Salt require tests.
- [x] Docs
- [x] Changelog - https://docs.saltproject.io/en/master/topics/development/changelog.html
- [x] Tests written/updated
Commits signed with GPG?
Yes