[jobs-api] save business models in a DB
global: add storage layer to business models
This creates a new module storages with a k8s implementation, that
adds a storage layer using CRDs.
There's a configuration value enable_storage that is disabled by
default, that will make the storage the source of truth when enabled,
so we can deploy it disabled, allow it to create the storage objects
and migrate all the jobs, and then enable once we have tested and have
all the jobs migrated.
The CRDs need to be deployed before manually from this branch.
Note that one-off jobs are not stored, as they are considered ephemeral, but we might want to change that at some point.
Depends-On: !91 (merged)
Depends-On: !101 (closed)
Depends-On: !154 (merged)
Depends-On: toolforge-weld!75 (merged)
Depends-On: components-api!140 (merged)
Bug: T359650
Signed-off-by: raymond-ndibe rndibe@wikimedia.org
Signed-off-by: David Caro dcaro@wikimedia.org