fix(helm): Respect global registry in sidecar image (#18246) (#19347)

Signed-off-by: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com>
Signed-off-by: J Stickler <julie.stickler@grafana.com>
Co-authored-by: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com>
Co-authored-by: J Stickler <julie.stickler@grafana.com>
Co-authored-by: Jayclifford345 <jay.clifford@grafana.com>
pull/20367/head
Florian Bütler 2 days ago committed by GitHub
parent 1f820867f3
commit 79eae2ca25
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 11
      docs/sources/setup/install/helm/reference.md
  2. 9
      docs/sources/setup/upgrade/_index.md
  3. 2
      production/helm/loki/CHANGELOG.md
  4. 2
      production/helm/loki/README.md
  5. 26
      production/helm/loki/templates/_helpers.tpl
  6. 4
      production/helm/loki/templates/backend/statefulset-backend.yaml
  7. 2
      production/helm/loki/templates/compactor/_helpers-compactor.tpl
  8. 2
      production/helm/loki/templates/gateway/_helpers-gateway.tpl
  9. 2
      production/helm/loki/templates/index-gateway/_helpers-index-gateway.tpl
  10. 2
      production/helm/loki/templates/loki-canary/_helpers.tpl
  11. 2
      production/helm/loki/templates/provisioner/_helpers.yaml
  12. 2
      production/helm/loki/templates/query-scheduler/_helpers-query-scheduler.tpl
  13. 2
      production/helm/loki/templates/ruler/_helpers-ruler.tpl
  14. 4
      production/helm/loki/templates/ruler/statefulset-ruler.yaml
  15. 4
      production/helm/loki/templates/single-binary/statefulset-recreate-job.yaml
  16. 4
      production/helm/loki/templates/single-binary/statefulset.yaml
  17. 2
      production/helm/loki/templates/tests/_helpers.tpl
  18. 3
      production/helm/loki/values.yaml

@ -12490,6 +12490,15 @@ false
<td><pre lang="json">
"IfNotPresent"
</pre>
</td>
</tr>
<tr>
<td>sidecar.image.registry</td>
<td>string</td>
<td></td>
<td><pre lang="json">
"docker.io"
</pre>
</td>
</tr>
<tr>
@ -12497,7 +12506,7 @@ false
<td>string</td>
<td>The Docker registry and image for the k8s sidecar</td>
<td><pre lang="json">
"docker.io/kiwigrid/k8s-sidecar"
"kiwigrid/k8s-sidecar"
</pre>
</td>
</tr>

@ -45,6 +45,15 @@ Supported clients should check the configuration options for max send message si
## Helm Chart Upgrades
### Helm Chart 6.46.1 - Respect the global registry in the sidecar image
If you prefixed the sidecar container with a private registry (`sidecar.image.repository`), this is no longer necessary and is deprecated as the global registry is used starting with Helm chart 6.46.1. Therefore please use `global.imageRegistry` or alternatively, `sidecar.image.registry` for more fine-grained control.
### Helm Chart 6.46.1 - Uniform naming for image digest also in the sidecar image
For most images used in the helm chart, a `.digest` is available to pin an image to a specific hash. The sidecar images diverges from this convention by introducing a `.tag`.
Starting with Helm chart 6.46.1, the `.tag` is deprecated and `.digest` should be used.
### Helm Chart 6.34.0 - Zone-aware Ingester Breaking Change
{{< admonition type="warning" >}}

@ -13,6 +13,8 @@ Entries should include a reference to the pull request that introduced the chang
## Unreleased
- [BUGFIX] Respect global registry in sidecar image [#19347](https://github.com/grafana/loki/pull/19347).
## 6.49.0
- [CHANGE] Updated version of Grafana Loki to 3.6.3

@ -16,7 +16,7 @@ Helm chart for Grafana Loki and Grafana Enterprise Logs supporting monolithic, s
|------------|------|---------|
| https://charts.min.io/ | minio(minio) | 5.4.0 |
| https://grafana.github.io/helm-charts | grafana-agent-operator(grafana-agent-operator) | 0.5.2 |
| https://grafana.github.io/helm-charts | rollout_operator(rollout-operator) | 0.38.2 |
| https://grafana.github.io/helm-charts | rollout_operator(rollout-operator) | 0.40.0 |
Find more information in the Loki Helm Chart [documentation](https://grafana.com/docs/loki/latest/setup/install/helm/).

@ -163,23 +163,30 @@ Create the name of the service account to use
{{/*
Base template for building docker image reference
Determines the final image name, respecting the global registry if defined, unless the local repository
already contains a full registry (indicated by a dot '.') for backwards-compatibility.
It also respects `.digest` as well as `.sha` (deprecated).
*/}}
{{- define "loki.baseImage" }}
{{- $registry := .global.imageRegistry | default ((.global.image).registry) | default .global.registry | default .service.registry | default "" -}}
{{- $repository := .service.repository | default "" -}}
{{- $ref := ternary (printf ":%s" (.service.tag | default .defaultVersion | toString)) (printf "@%s" .service.digest) (empty .service.digest) -}}
{{- if and $registry $repository -}}
{{- printf "%s/%s%s" $registry $repository $ref -}}
{{- else -}}
{{- printf "%s%s%s" $registry $repository $ref -}}
{{- $sha := and .service.sha (printf "@sha256:%s" .service.sha) | default "" -}}
{{- $digest := and .service.digest (printf "@%s" .service.digest) | default $sha -}}
{{- $ref := ternary (printf ":%s" (.service.tag | default .defaultVersion | toString)) ($digest) (empty $digest) -}}
{{- $prefix := "" -}}
{{- if and $registry (not (contains "." $repository)) -}}
{{- $prefix = printf "%s/" $registry -}}
{{- end -}}
{{- printf "%s%s%s" $prefix $repository $ref -}}
{{- end -}}
{{/*
Docker image name for Loki
*/}}
{{- define "loki.lokiImage" -}}
{{- $dict := dict "service" .Values.loki.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}}
{{- $dict := dict "service" .Values.loki.image "global" .Values.global "defaultVersion" .Chart.AppVersion -}}
{{- include "loki.baseImage" $dict -}}
{{- end -}}
@ -187,7 +194,7 @@ Docker image name for Loki
Docker image name for enterprise logs
*/}}
{{- define "loki.enterpriseImage" -}}
{{- $dict := dict "service" .Values.enterprise.image "global" .Values.global.image "defaultVersion" .Values.enterprise.version -}}
{{- $dict := dict "service" .Values.enterprise.image "global" .Values.global "defaultVersion" .Values.enterprise.version -}}
{{- include "loki.baseImage" $dict -}}
{{- end -}}
@ -198,7 +205,6 @@ Docker image name
{{- if .Values.enterprise.enabled -}}{{- include "loki.enterpriseImage" . -}}{{- else -}}{{- include "loki.lokiImage" . -}}{{- end -}}
{{- end -}}
{{/*
Generated storage config for loki common config
*/}}
@ -514,7 +520,7 @@ configMap:
Memcached Docker image
*/}}
{{- define "loki.memcachedImage" -}}
{{- $dict := dict "service" .Values.memcached.image "global" .Values.global.image -}}
{{- $dict := dict "service" .Values.memcached.image "global" .Values.global -}}
{{- include "loki.image" $dict -}}
{{- end }}
@ -522,7 +528,7 @@ Memcached Docker image
Memcached Exporter Docker image
*/}}
{{- define "loki.memcachedExporterImage" -}}
{{- $dict := dict "service" .Values.memcachedExporter.image "global" .Values.global.image -}}
{{- $dict := dict "service" .Values.memcachedExporter.image "global" .Values.global -}}
{{- include "loki.image" $dict -}}
{{- end }}

@ -144,11 +144,7 @@ spec:
{{- if .Values.sidecar.rules.enabled }}
- name: loki-sc-rules
{{- $dict := dict "service" .Values.sidecar.image "global" .Values.global }}
{{- if .Values.sidecar.image.sha }}
image: "{{ include "loki.baseImage" $dict }}@sha256:{{ .Values.sidecar.image.sha }}"
{{- else }}
image: {{ include "loki.baseImage" $dict }}
{{- end }}
imagePullPolicy: {{ .Values.sidecar.image.pullPolicy }}
env:
- name: METHOD

@ -25,7 +25,7 @@ app.kubernetes.io/component: compactor
compactor image
*/}}
{{- define "loki.compactorImage" -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.compactor.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.compactor.image "global" .Values.global "defaultVersion" .Chart.AppVersion -}}
{{- include "loki.lokiImage" $dict -}}
{{- end }}

@ -32,7 +32,7 @@ gateway auth secret name
gateway Docker image
*/}}
{{- define "loki.gatewayImage" -}}
{{- $dict := dict "service" .Values.gateway.image "global" .Values.global.image -}}
{{- $dict := dict "service" .Values.gateway.image "global" .Values.global -}}
{{- include "loki.baseImage" $dict -}}
{{- end }}

@ -25,7 +25,7 @@ app.kubernetes.io/component: index-gateway
index-gateway image
*/}}
{{- define "loki.indexGatewayImage" -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.indexGateway.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.indexGateway.image "global" .Values.global "defaultVersion" .Chart.AppVersion -}}
{{- include "loki.lokiImage" $dict -}}
{{- end }}

@ -25,7 +25,7 @@ app.kubernetes.io/component: canary
Docker image name for loki-canary
*/}}
{{- define "loki-canary.image" -}}
{{- $dict := dict "service" .Values.lokiCanary.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}}
{{- $dict := dict "service" .Values.lokiCanary.image "global" .Values.global "defaultVersion" .Chart.AppVersion -}}
{{- include "loki.baseImage" $dict -}}
{{- end -}}

@ -25,7 +25,7 @@ app.kubernetes.io/component: provisioner
provisioner image name
*/}}
{{- define "enterprise-logs.provisionerImage" -}}
{{- $dict := dict "service" .Values.enterprise.provisioner.image "global" .Values.global.image "defaultVersion" "latest" -}}
{{- $dict := dict "service" .Values.enterprise.provisioner.image "global" .Values.global "defaultVersion" "latest" -}}
{{- include "loki.baseImage" $dict -}}
{{- end -}}

@ -25,7 +25,7 @@ app.kubernetes.io/component: query-scheduler
query-scheduler image
*/}}
{{- define "loki.querySchedulerImage" -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.queryScheduler.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.queryScheduler.image "global" .Values.global "defaultVersion" .Chart.AppVersion -}}
{{- include "loki.lokiImage" $dict -}}
{{- end }}

@ -25,7 +25,7 @@ app.kubernetes.io/component: ruler
ruler image
*/}}
{{- define "loki.rulerImage" -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.ruler.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}}
{{- $dict := dict "loki" .Values.loki.image "service" .Values.ruler.image "global" .Values.global "defaultVersion" .Chart.AppVersion -}}
{{- include "loki.lokiImage" $dict -}}
{{- end }}

@ -126,11 +126,7 @@ spec:
{{- if and .Values.sidecar.rules.enabled .Values.ruler.sidecar }}
- name: loki-sc-rules
{{- $dict := dict "service" .Values.sidecar.image "global" .Values.global }}
{{- if .Values.sidecar.image.sha }}
image: "{{ include "loki.baseImage" $dict }}@sha256:{{ .Values.sidecar.image.sha }}"
{{- else }}
image: {{ include "loki.baseImage" $dict }}
{{- end }}
imagePullPolicy: {{ .Values.sidecar.image.pullPolicy }}
env:
- name: METHOD

@ -52,7 +52,7 @@ spec:
serviceAccountName: {{ $newStatefulSet.metadata.name }}-recreate
containers:
- name: recreate-statefulset
image: {{ include "loki.baseImage" (dict "service" (dict "registry" "docker.io" "repository" "rancher/kubectl" "tag" (.Capabilities.KubeVersion.Version | default "v1.33.0")) "global" .Values.global.image) }}
image: {{ include "loki.baseImage" (dict "service" (dict "registry" "docker.io" "repository" "rancher/kubectl" "tag" (.Capabilities.KubeVersion.Version | default "v1.33.0")) "global" .Values.global) }}
command:
- delete
- statefulset
@ -62,7 +62,7 @@ spec:
{{- range $index := until (int $currentStatefulset.spec.replicas) }}
{{- range $template, $size := $templates }}
- name: patch-pvc-{{ $template }}-{{ $index }}
image: {{ include "loki.baseImage" (dict "service" (dict "registry" "docker.io" "repository" "rancher/kubectl" "tag" ($.Capabilities.KubeVersion.Version | default "v1.33.0")) "global" $.Values.global.image) }}
image: {{ include "loki.baseImage" (dict "service" (dict "registry" "docker.io" "repository" "rancher/kubectl" "tag" ($.Capabilities.KubeVersion.Version | default "v1.33.0")) "global" $.Values.global) }}
command:
- patch
- pvc

@ -158,11 +158,7 @@ spec:
{{- if .Values.sidecar.rules.enabled }}
- name: loki-sc-rules
{{- $dict := dict "service" .Values.sidecar.image "global" .Values.global }}
{{- if .Values.sidecar.image.sha }}
image: "{{ include "loki.baseImage" $dict }}@sha256:{{ .Values.sidecar.image.sha }}"
{{- else }}
image: {{ include "loki.baseImage" $dict }}
{{- end }}
imagePullPolicy: {{ .Values.sidecar.image.pullPolicy }}
env:
- name: METHOD

@ -2,7 +2,7 @@
Docker image name for loki helm test
*/}}
{{- define "loki.helmTestImage" -}}
{{- $dict := dict "service" .Values.test.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}}
{{- $dict := dict "service" .Values.test.image "global" .Values.global "defaultVersion" .Chart.AppVersion -}}
{{- include "loki.baseImage" $dict -}}
{{- end -}}

@ -4076,8 +4076,9 @@ extraObjects: null
sidecar:
image:
registry: docker.io
# -- The Docker registry and image for the k8s sidecar
repository: docker.io/kiwigrid/k8s-sidecar
repository: kiwigrid/k8s-sidecar
# -- Docker image tag
tag: 1.30.9
# -- Docker image sha. If empty, no sha will be used

Loading…
Cancel
Save