Skip to content

Commit 6ed92b2

Browse files
mo-getterclaude
andcommitted
refactor: align telemetry-sidecar image versioning with other voxel51 images
Tie the sidecar tag to the chart appVersion via the same `repository`/`tag` split used by `appSettings.image` et al., and wire it into the existing bump-fixtures helm script so releases bump it in lockstep with the rest. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent c12f85e commit 6ed92b2

19 files changed

Lines changed: 86 additions & 93 deletions

docker/common-services.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ services:
225225
# target's PID namespace so the sidecar can read /proc/<pid>/fd/1 and
226226
# psutil can see the target's process.
227227
fiftyone-app-telemetry-common:
228-
image: ${TELEMETRY_SIDECAR_IMAGE:-us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62}
228+
image: voxel51/telemetry-sidecar:v2.19.0
229229
pid: "service:fiftyone-app"
230230
cap_add:
231231
- SYS_PTRACE
@@ -246,7 +246,7 @@ services:
246246
restart: always
247247

248248
teams-api-telemetry-common:
249-
image: ${TELEMETRY_SIDECAR_IMAGE:-us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62}
249+
image: voxel51/telemetry-sidecar:v2.19.0
250250
pid: "service:teams-api"
251251
cap_add:
252252
- SYS_PTRACE
@@ -267,7 +267,7 @@ services:
267267
restart: always
268268

269269
teams-plugins-telemetry-common:
270-
image: ${TELEMETRY_SIDECAR_IMAGE:-us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62}
270+
image: voxel51/telemetry-sidecar:v2.19.0
271271
pid: "service:teams-plugins"
272272
cap_add:
273273
- SYS_PTRACE
@@ -288,7 +288,7 @@ services:
288288
restart: always
289289

290290
teams-do-telemetry-common:
291-
image: ${TELEMETRY_SIDECAR_IMAGE:-us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62}
291+
image: voxel51/telemetry-sidecar:v2.19.0
292292
pid: "service:teams-do"
293293
cap_add:
294294
- SYS_PTRACE

docker/docs/configuring-telemetry.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ All knobs live in your `.env` — see `env.template` for the full list:
152152
| Variable | Default | Purpose |
153153
| ---------------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------- |
154154
| `FIFTYONE_TELEMETRY_REDIS_URL` | `redis://telemetry-redis:6379` | Override to point at an external Redis if desired |
155-
| `TELEMETRY_SIDECAR_IMAGE` | (Voxel51 GAR — see note below) | Same default image as the helm chart. External consumers without GAR access must override. |
156155
| `TELEMETRY_REDIS_IMAGE` | `redis:7-alpine` | Alternate redis image |
157156
| `TELEMETRY_REDIS_MAXMEMORY` | `400mb` | Redis maxmemory budget |
158157
| `TELEMETRY_REDIS_MAXMEMORY_POLICY` | `allkeys-lru` | Redis eviction policy (mirrors helm `telemetry.redis.maxmemoryPolicy`) |
@@ -165,9 +164,6 @@ All knobs live in your `.env` — see `env.template` for the full list:
165164
| `NVIDIA_VISIBLE_DEVICES` | `all` | Pass-through to teams-do-gpu / sidecar |
166165
| `NVIDIA_DRIVER_CAPABILITIES` | `compute,utility` | Must include `utility` so NVML is available |
167166

168-
Default `TELEMETRY_SIDECAR_IMAGE`:
169-
`us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62`
170-
171167
## Resource limits
172168

173169
Telemetry containers ship with conservative CPU and memory limits that

docker/internal-auth/compose.delegated-operators.gpu.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ services:
4949
restart: always
5050

5151
teams-do-gpu-telemetry:
52-
image: ${TELEMETRY_SIDECAR_IMAGE:-us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62}
52+
image: voxel51/telemetry-sidecar:v2.19.0
5353
pid: "service:teams-do-gpu"
5454
profiles: ["gpu"]
5555
cap_add:

docker/internal-auth/env.template

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,6 @@ FIFTYONE_DELEGATED_OPERATOR_WORKER_REPLICAS=3
112112
# Override to point at a managed Redis (e.g. ElastiCache, MemoryStore).
113113
# FIFTYONE_TELEMETRY_REDIS_URL=
114114

115-
# Sidecar image. Default is the internal Voxel51 GAR image — same default
116-
# as the helm chart's `telemetry.sidecar.image`. External consumers
117-
# without GAR access must override this with an image they can pull.
118-
# Update compose and helm in lockstep when bumping the tag.
119-
# TELEMETRY_SIDECAR_IMAGE=us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62
120-
121115
# Redis image, max memory, and eviction policy for the bundled telemetry
122116
# backend. The defaults mirror the helm `telemetry.redis.*` settings.
123117
# TELEMETRY_REDIS_IMAGE=redis:7-alpine

docker/legacy-auth/compose.delegated-operators.gpu.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ services:
4949
restart: always
5050

5151
teams-do-gpu-telemetry:
52-
image: ${TELEMETRY_SIDECAR_IMAGE:-us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62}
52+
image: voxel51/telemetry-sidecar:v2.19.0
5353
pid: "service:teams-do-gpu"
5454
profiles: ["gpu"]
5555
cap_add:

docker/legacy-auth/env.template

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,6 @@ FIFTYONE_DELEGATED_OPERATOR_WORKER_REPLICAS=3
117117
# Override to point at a managed Redis (e.g. ElastiCache, MemoryStore).
118118
# FIFTYONE_TELEMETRY_REDIS_URL=
119119

120-
# Sidecar image. Default is the internal Voxel51 GAR image — same default
121-
# as the helm chart's `telemetry.sidecar.image`. External consumers
122-
# without GAR access must override this with an image they can pull.
123-
# Update compose and helm in lockstep when bumping the tag.
124-
# TELEMETRY_SIDECAR_IMAGE=us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62
125-
126120
# Redis image, max memory, and eviction policy for the bundled telemetry
127121
# backend. The defaults mirror the helm `telemetry.redis.*` settings.
128122
# TELEMETRY_REDIS_IMAGE=redis:7-alpine

helm/fiftyone-teams-app/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1104,8 +1104,9 @@ If pods show unhealthy states (e.g., `0/1`, `CrashLoopBackOff`, `Pending`):
11041104
| telemetry.redis.persistence.storageClass | string | `""` | `StorageClass` name for the telemetry Redis `PersistentVolumeClaim`. Leave unset to use the cluster's default `StorageClass`. |
11051105
| telemetry.redis.resources | object | `{"limits":{"cpu":"250m","memory":"512Mi"},"requests":{"cpu":"100m","memory":"256Mi"}}` | Resource requests/limits for the telemetry Redis container. [Reference][resources]. |
11061106
| telemetry.serviceAccounts | list | `[]` | ServiceAccount names (in `namespace.name`) bound to the telemetry pod-logs Role. Each entry becomes a `ServiceAccount` subject on the generated RoleBinding. When empty, the RoleBinding subjects default to the chart's main app service account and the teams-api RBAC service account so auto-injected sidecars can read their target's logs. |
1107-
| telemetry.sidecar.image | string | `"us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62"` | Container image for the auto-injected `telemetry-sidecar` containers. The image is built and published from voxel51/fiftyone-teams `sidecar/` to the internal Voxel51 GAR. Override for environments without access to that registry (e.g. external chart consumers). |
1108-
| telemetry.sidecar.imagePullPolicy | string | `"Always"` | Pull policy for the sidecar image. |
1107+
| telemetry.sidecar.image.pullPolicy | string | `"Always"` | Instruct when the kubelet should pull (download) the specified image. One of `IfNotPresent`, `Always` or `Never`. [Reference][image-pull-policy]. |
1108+
| telemetry.sidecar.image.repository | string | `"voxel51/telemetry-sidecar"` | Container image for `telemetry-sidecar`. |
1109+
| telemetry.sidecar.image.tag | string | `""` | Image tag for `telemetry-sidecar`. Defaults to the chart version. |
11091110
| telemetry.sidecar.resources | object | `{"limits":{"cpu":"100m","memory":"512Mi"},"requests":{"cpu":"100m","memory":"512Mi"}}` | Resource requests/limits for each auto-injected sidecar container. |
11101111
<!-- markdownlint-enable MD060 -->
11111112

helm/fiftyone-teams-app/templates/_telemetry.tpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ Inputs: same dict as telemetry.sidecar-env.
129129
*/}}
130130
{{- define "telemetry.sidecar" -}}
131131
- name: telemetry-sidecar
132-
image: {{ .ctx.Values.telemetry.sidecar.image | default "us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62" | quote }}
133-
imagePullPolicy: {{ .ctx.Values.telemetry.sidecar.imagePullPolicy | default "Always" }}
132+
image: "{{ .ctx.Values.telemetry.sidecar.image.repository }}:{{ .ctx.Values.telemetry.sidecar.image.tag | default .ctx.Chart.AppVersion }}"
133+
imagePullPolicy: {{ .ctx.Values.telemetry.sidecar.image.pullPolicy | default "Always" }}
134134
env:
135135
{{- include "telemetry.sidecar-env" . | nindent 4 }}
136136
{{- with .ctx.Values.telemetry.sidecar.resources }}
@@ -160,8 +160,8 @@ not exit would block Job completion.
160160
*/}}
161161
{{- define "telemetry.native-sidecar" -}}
162162
- name: telemetry-sidecar
163-
image: {{ .ctx.Values.telemetry.sidecar.image | default "us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62" | quote }}
164-
imagePullPolicy: {{ .ctx.Values.telemetry.sidecar.imagePullPolicy | default "Always" }}
163+
image: "{{ .ctx.Values.telemetry.sidecar.image.repository }}:{{ .ctx.Values.telemetry.sidecar.image.tag | default .ctx.Chart.AppVersion }}"
164+
imagePullPolicy: {{ .ctx.Values.telemetry.sidecar.image.pullPolicy | default "Always" }}
165165
restartPolicy: Always
166166
env:
167167
{{- include "telemetry.sidecar-env" . | nindent 4 }}

helm/fiftyone-teams-app/values.schema.json

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4139,16 +4139,39 @@
41394139
"sidecar": {
41404140
"properties": {
41414141
"image": {
4142-
"default": "us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62",
4143-
"description": "Container image for the auto-injected `telemetry-sidecar` containers.\nThe image is built and published from voxel51/fiftyone-teams `sidecar/`\nto the internal Voxel51 GAR. Override for environments without access\nto that registry (e.g. external chart consumers).",
4142+
"properties": {
4143+
"pullPolicy": {
4144+
"default": "Always",
4145+
"description": "Instruct when the kubelet should pull (download) the specified image.\nOne of `IfNotPresent`, `Always` or `Never`. [Reference][image-pull-policy].",
4146+
"oneOf": [
4147+
{
4148+
"enum": [
4149+
"Always",
4150+
"IfNotPresent",
4151+
"Never"
4152+
],
4153+
"required": []
4154+
}
4155+
],
4156+
"required": [],
4157+
"title": "pullPolicy"
4158+
},
4159+
"repository": {
4160+
"default": "voxel51/telemetry-sidecar",
4161+
"description": "Container image for `telemetry-sidecar`.",
4162+
"title": "repository",
4163+
"type": "string"
4164+
},
4165+
"tag": {
4166+
"default": "",
4167+
"description": "Image tag for `telemetry-sidecar`. Defaults to the chart version.",
4168+
"title": "tag",
4169+
"type": "string"
4170+
}
4171+
},
4172+
"required": [],
41444173
"title": "image",
4145-
"type": "string"
4146-
},
4147-
"imagePullPolicy": {
4148-
"default": "Always",
4149-
"description": "Pull policy for the sidecar image.",
4150-
"title": "imagePullPolicy",
4151-
"type": "string"
4174+
"type": "object"
41524175
},
41534176
"resources": {
41544177
"description": "Resource requests/limits for each auto-injected sidecar container.",

helm/fiftyone-teams-app/values.yaml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1697,13 +1697,18 @@ telemetry:
16971697
# (e.g. `redis://my-redis.example.com:6379`).
16981698
url: ""
16991699
sidecar:
1700-
# -- Container image for the auto-injected `telemetry-sidecar` containers.
1701-
# The image is built and published from voxel51/fiftyone-teams `sidecar/`
1702-
# to the internal Voxel51 GAR. Override for environments without access
1703-
# to that registry (e.g. external chart consumers).
1704-
image: us-central1-docker.pkg.dev/computer-vision-team/dev-docker/fiftyone-telemetry-sidecar:v0.1.62
1705-
# -- Pull policy for the sidecar image.
1706-
imagePullPolicy: Always
1700+
image:
1701+
# @schema
1702+
# oneOf:
1703+
# - enum: ["Always", "IfNotPresent", "Never"]
1704+
# @schema
1705+
# -- Instruct when the kubelet should pull (download) the specified image.
1706+
# One of `IfNotPresent`, `Always` or `Never`. [Reference][image-pull-policy].
1707+
pullPolicy: Always
1708+
# -- Container image for `telemetry-sidecar`.
1709+
repository: voxel51/telemetry-sidecar
1710+
# -- Image tag for `telemetry-sidecar`. Defaults to the chart version.
1711+
tag: ""
17071712
# -- Resource requests/limits for each auto-injected sidecar container.
17081713
resources:
17091714
requests:

0 commit comments

Comments
 (0)