Add direct relationship between job and environment
What does this MR do and why?
Currently environment options for a CI job are stored within the job metadata. This is not suitable because some environment options must be kept permanently as there are features that rely on them, and metadata is intended for short term storage.
Instead we will store these environment options in a new table, which removes the dependency on metadata records and allows them to be deleted as required.
For an example of how this table will be used, see !198638 (merged) (based on these changes). The three attributes we need to store (permanently) are:
environment.action
environment.deployment_tier
environment.kubernetes.namespace
These can be seen in the schema validation for the options column.
References
Screenshots or screen recordings
Before | After |
---|---|
How to set up and validate locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.