Implement the changes necessary for dedicated to deploy internal packages

Context

Based on the findings from understanding the Dedicated impact of tagging a package with a new notation, we need to make sure the changes are reflected on the necessary components for dedicated. Thus, this issue is to track these changes.

Proposal

The Dedicated offering has many components. The components that require changes to accept the new packages easily are:

These are the only components that require changes. This issue will be the governing issue for the three implementation issues.

Tenant model schema changes

This is a JSON schema for the Gitlab Dedicated tenant model, generated by another component called switchboard; we need to adapt the schema to accept the new notation and not throw errors (while maintaining fallback for regular packages ?).

https://gitlab.com/gitlab-com/gl-infra/gitlab-dedicated/tenant-model-schema/-/blob/main/json-schemas/tenant-model.json?ref_type=heads#L250-267

Instrumentor changes

This is the component needed to provision and configure the tenant, we need to adapt some parts that accepts the images/package to be fetched.

https://gitlab.com/gitlab-com/gl-infra/gitlab-dedicated/instrumentor/-/blob/main/common/jsonnet/gitlab-release-utils.libsonnet?ref_type=heads#L22-33

Switchboard

This is the component that generates the tenant model based on user input.

https://gitlab.com/gitlab-com/gl-infra/gitlab-dedicated/switchboard/-/blob/main/app/models/concerns/version_validations.rb#L7-9

Important points to consider

Exit criteria

  • Instrumentor change issue created.
  • Tenant model schema change issue created.
  • Switchboard change with issue created.
Edited by Ahmad Tolba