tenant-observability-stack: Make images configurable for ARM support
Problem statement
The tenant-observability-config-manager image is currently hardcoded in the terraform-modules/observability/tenant-observability-stack module at config-manager.tf line 58:
resource "kubernetes_job" "tenant_observability_config_manager" {
# ...
spec {
# ...
template {
# ...
spec {
container {
name = "tenant-observability-config-manager"
image = "registry.gitlab.com/gitlab-com/gl-infra/observability/tenant-observability/config-manager:v1.9.11"
# ...
}
}
}
}
}
This hardcoded image makes it impossible to specify an alternative image (such as an ARM-compatible one) when using the module, forcing users to resort to workarounds like forking the module for ARM support.
Proposed solution
Make the image configurable by adding a variable to the module. If there are other relevant pieces like Tamland - please consider parametrizing this as well.
Additional information
During ARM implementation work for the 3k reference architecture, we encountered this limitation and had to create a custom branch (arm-2.10.0) to modify the hardcoded image to use an ARM variant.
This issue was encountered during work tracked in - https://gitlab.com/gitlab-com/gl-infra/gitlab-dedicated/instrumentor/-/merge_requests/5242#note_2438317227