Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions client/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: client
description: A unified Helm chart for tracebloc on AKS, EKS, bare-metal, and OpenShift
type: application
version: 1.9.14
appVersion: "1.9.14"
version: 1.9.15
appVersion: "1.9.15"
keywords:
- tracebloc
- kubernetes
Expand Down
8 changes: 5 additions & 3 deletions client/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -315,9 +315,11 @@ Usage: {{ include "tracebloc.ingestorDigest" . }}
Precedence, mirroring tracebloc.ingestorDigest:
1. `images.ingestor.tag` explicit override, any environment
2. `images.ingestor.channelTags[CLIENT_ENV]` per-environment channel
3. "0.7" last-resort literal, so a release that
3. "0.8" last-resort literal, so a release that
predates these keys still renders under
`--reuse-values`
`--reuse-values`. Track the current prod
line: an older literal here would spawn a
pre-D16 ingestor on such a release.

Only consulted when no digest applies: jobs-manager builds `repo@digest`
when tracebloc.ingestorDigest is non-empty, and `repo:tag` otherwise
Expand All @@ -338,7 +340,7 @@ Usage: {{ include "tracebloc.ingestorDigest" . }}
{{- if $channel -}}
{{- $channel -}}
{{- else -}}
{{- "0.7" -}}
{{- "0.8" -}}
{{- end -}}
{{- end -}}
{{- end }}
Expand Down
14 changes: 7 additions & 7 deletions client/tests/ingestor_channel_tag_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_TAG
value: "0.7"
value: "0.8"

- it: defaults to the prod float when CLIENT_ENV is unset
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_TAG
value: "0.7"
value: "0.8"

- it: an explicit tag override wins over the channel for every environment
set:
Expand All @@ -65,7 +65,7 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_TAG
value: "0.7"
value: "0.8"

- it: renders for a release predating channelTags (--reuse-values replay)
set:
Expand All @@ -76,7 +76,7 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_TAG
value: "0.7"
value: "0.8"

- it: prod still pins by digest, so the tag is not the spawn target there
set:
Expand All @@ -86,7 +86,7 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_DIGEST
value: "sha256:9098b3c9b83951f825e262d6ff1e9c47c46c5b5cafbfc8fef1ed82ccbadebb24"
value: "sha256:05e124945a2ef61868661a9137abb5e75dac96a090cb41a7b4e8be520c4b5873"

- it: dev gets no digest, so it spawns by the floating channel tag
set:
Expand Down Expand Up @@ -130,7 +130,7 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_TAG
value: "0.7"
value: "0.8"

- it: the "production" alias keeps the prod reproducibility pin
# Bugbot catch (#494): the first alias fix normalized inside
Expand All @@ -146,4 +146,4 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_DIGEST
value: "sha256:9098b3c9b83951f825e262d6ff1e9c47c46c5b5cafbfc8fef1ed82ccbadebb24"
value: "sha256:05e124945a2ef61868661a9137abb5e75dac96a090cb41a7b4e8be520c4b5873"
6 changes: 3 additions & 3 deletions client/tests/jobs_manager_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,12 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_TAG
value: "0.7"
value: "0.8"
- contains:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_DIGEST
value: "sha256:9098b3c9b83951f825e262d6ff1e9c47c46c5b5cafbfc8fef1ed82ccbadebb24"
value: "sha256:05e124945a2ef61868661a9137abb5e75dac96a090cb41a7b4e8be520c4b5873"

- it: keeps the ingestor floating on dev (CLIENT_ENV=dev => no digest, :dev channel)
# Since backend#1360 the dev float is the per-environment INTERNAL
Expand Down Expand Up @@ -179,7 +179,7 @@ tests:
path: spec.template.spec.containers[0].env
content:
name: INGESTOR_IMAGE_DIGEST
value: "sha256:9098b3c9b83951f825e262d6ff1e9c47c46c5b5cafbfc8fef1ed82ccbadebb24"
value: "sha256:05e124945a2ef61868661a9137abb5e75dac96a090cb41a7b4e8be520c4b5873"

- it: prodPin=false floats a canary prod edge while the fleet stays pinned
set:
Expand Down
17 changes: 12 additions & 5 deletions client/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,13 @@ images:
channelTags:
dev: "dev"
stg: "stg"
prod: "0.7"
# 0.8 line: carries the ds_<hex> per-ingestion write path (D16,
# data-ingestors#408, first released as v0.8.0 on 2026-07-30; line currently
# at v0.8.2, 2026-08-04). A prod edge left on 0.7 spawns a pre-D16 ingestor
# and silently falls back to the legacy tables even with
# `perIngestionTables` on (found on staging). Verified multi-arch against
# ghcr.io 2026-08-04 (linux/amd64 + linux/arm64 OCI image index).
prod: "0.8"

# -- PROD REPRODUCIBILITY PIN — the digest prod edges run.
#
Expand All @@ -449,10 +455,11 @@ images:
# unbumped refresh reaches nobody — and commit. CI's `ingestor-multiarch`
# job validates this value on every PR.
#
# ghcr.io/tracebloc/ingestor multi-arch index for the 0.7 line, == the
# published `tag` above — VERIFIED against ghcr.io 2026-07-25 (linux/amd64 +
# linux/arm64 OCI image index). The `VERIFIED` note is the audit trail.
prodDigest: "sha256:9098b3c9b83951f825e262d6ff1e9c47c46c5b5cafbfc8fef1ed82ccbadebb24"
# ghcr.io/tracebloc/ingestor multi-arch index for the 0.8 line (v0.8.2), ==
# the `channelTags.prod` float above — VERIFIED against ghcr.io 2026-08-04
# (linux/amd64 + linux/arm64 OCI image index; matches the v0.8.2 GitHub
# Release digest). The `VERIFIED` note is the audit trail.
prodDigest: "sha256:05e124945a2ef61868661a9137abb5e75dac96a090cb41a7b4e8be520c4b5873"

# -- Whether `prodDigest` applies on this edge. Default true, which means
# "pin on prod only": it takes effect when the resolved CLIENT_ENV is "prod"
Expand Down
Loading