Skip to content

Proposal - Loki - Change global.image.registry to global.imageRegistry for compatability with other Helm charts #12202

@johnswarbrick-napier

Description

@johnswarbrick-napier

Describe the feature:

Many Helm charts allow the image registry to be configured globally, most through a value called global.imageRegistry:

https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml#L3
https://github.com/grafana/helm-charts/blob/main/charts/promtail/values.yaml#L9
https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml#L223

Loki currently uses a different value global.image.registry which is inconsistent and leads to duplication when Loki is deployed from a private registry.

The proposal is that global.image.registry is changed to global.imageRegistry in the Loki Helm chart.

Describe a specific use case for the feature:

It is common to deploy Loki alongside other monitoring applications by including them in a Chart.yaml, for example:

  - name: kube-prometheus-stack
    version: "55.7.1"
    repository: "https://prometheus-community.github.io/helm-charts"

  - name: loki
    version: "5.41.5"
    repository: "https://grafana.github.io/helm-charts"
    condition: loki.enabled

  - name: "promtail"
    version: "6.15.3"
    repository: "https://grafana.github.io/helm-charts"
    condition: promtail.enabled

  - name: "grafana"
    version: "7.1.0"
    repository: "https://grafana.github.io/helm-charts"

In this scenario, a single values.yaml is used to selectively override the defaults in the subcharts.

It is common to want to override the image registry hostname to support a privately history registry or "mirror" server. For example:

##
## Global configuration for all subcharts
##
global:

  # Set private image registry for all subcharts EXCEPT Loki
  imageRegistry: private.registry.internal:8443

  image:
    # Set private image registry for Loki as it uses a different naming convention
    registry: private.registry.internal:8443

However in this example Loki needs a special override due to the different naming convention.

Loki should use the standard naming of global.imageRegistry to avoid "special case" exceptions as seen above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions