Internal releases - Dedicated: Adapt tenant model schema to accept internal packages
Context
Part of Implement the changes necessary for dedicated to deploy internal packages . This issue focuses on the changes required for Tenant Model Schema
The adaption of Dedicated includes three parts for tenant-model-schema, Instrumentor and Switchboard.
flowchart RL
A[Switchboard] -->|Define parameters and trigger| B[Instrumentor]
B -->|Use schema| C[tenant-model-schema]
Proposal
Tenant Model Schema has a change process listed in: https://gitlab.com/gitlab-com/gl-infra/gitlab-dedicated/tenant-model-schema#change-process
We could potentially change Instrumentor and Switchboard in parallel but it's safer if we change the schema model first
"gitlab_version": {
"type": "string",
"pattern": "^[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{1,2}$"
},
"prerelease_version": {
"oneOf": [
{
"type": "string",
"pattern": "^[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{12}-[0-9a-f]{11}\\.[0-9a-f]{11}$",
"description": "A tagged pre-release version to install from the pre_release repo on packages.gitlab.com and images on dev.gitlab.org. Must match the major/minor version of gitlab_version. Incompatible with `enable_fips`"
},
{
"type": "string",
"pattern": "^[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{1,2}$",
"description": "A simple pre-release version to install from the pre_release repo on packages.gitlab.com and images on dev.gitlab.org. Must match the major/minor version of gitlab_version. Incompatible with `enable_fips`"
}
]
},
We must maintain backward compatibility so these changes should be an addition to what's already there.
Important points to consider
- The omnibus package and the CNG package should be the same. For example, the sandbox got tested with different package name than the CNG one, hence changes in multiple places in Instrumentor
- We need to guarantee compatibility with regular packages (from patches) and internal packages (from internal releases)
Exit Criteria
-
Tenant schema model adapted to accept the new notation. -
Dedicated team reviews this change.
Edited by Dat Tang