Upgrade all dependencies to latest versions - #86
Open
kondratyevd wants to merge 11 commits into
Open
Conversation
- Triton server: 26.04 -> 26.08 (default image, SDK test jobs, site values) - Envoy: v1.30.9 -> v1.39.1 - Grafana chart: 8.9.0 -> 10.5.15 (Grafana 12.3.1) - Prometheus chart: 27.3.0 -> 29.27.0 (Prometheus v3.14.0) - Tempo chart: 1.18.2 -> 1.24.4 (Tempo 2.9.0) - OpenTelemetry Collector chart: 0.115.0 -> 0.172.0, contrib image 0.120.0 -> 0.159.0 - Python helper images: 3.11-slim -> 3.14-slim Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tempo chart 1.24 moved the HTTP listen/service port from 3100 to Tempo's standard 3200; update the Grafana datasource URL and Prometheus scrape config accordingly. Also dump pod state and logs in ci-full when a step fails, so readiness timeouts are debuggable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tempo 2.9 rejects the flat metrics_generator_processors key inside
overrides.defaults ("field defaults not found in type
overrides.legacyConfig"), causing a CrashLoopBackOff. Use the nested
metrics_generator.processors form expected by the new overrides format.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Fail fast with a migration message when site values still use the legacy tempo.tempo.overrides.defaults.metrics_generator_processors key, which Tempo 2.9 rejects at startup after helm merges it into the new-format defaults. - Rename otel-collector exporters otlp/otlphttp -> otlp_grpc/otlp_http (chart 0.172 rewrites the old names only via a shim scheduled for removal) and migrate spanmetrics dimensions_cache_size to aggregation_cardinality_limit. - Migrate Envoy removal-track fields: admin.access_log_path -> admin.access_log, cluster-level http2_protocol_options -> typed_extension_protocol_options (template + external-config test). - Pin the Tempo HTTP port via tempo.tempo.server.http_listen_port and read it in the Prometheus scrape config, so a tempo chart default change can no longer silently desync the port. - Single-source the python helper image: metricsCollector.image value replaces the hardcoded template pin, and the dead template-side default for scaleFromZero.admissionImage is removed. - Pin metrics-collector requirements (flask 3.1.3, requests 2.34.2, gunicorn 26.2.0) and add a CI readiness wait for its pod. - Harden the CI diagnostics step (no early abort under bash -e, use events instead of describe, silence --previous errors) and run Cleanup with if: always(). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- spanmetrics: aggregation_cardinality_limit 1000 -> 0; the migrated key is a hard cardinality cap (overflow folding), not a cache like the old dimensions_cache_size, so 0 preserves pre-migration behavior. - Validate tempo port consistency: fail render when tempo.tempo.server.http_listen_port != 3200 (the tempo subchart hardcodes Service/probes to 3200) or when the Grafana tempo datasource URL uses another port; drop the dead `default 3200` in the scrape template and document the constraint. - Add a /health readinessProbe to the metrics-collector so its CI readiness wait (and production rollouts) actually gate on the runtime pip install + gunicorn startup. - Fail fast with `required` when admission/metrics-collector images are set to empty strings. - Move metrics-collector requirements to cfg/requirements.txt (loaded via .Files.Get like serve.py, visible to dependency tooling) and pin the full transitive closure. - Deduplicate the Envoy HttpProtocolOptions block behind a named template; comment the deliberate dns_refresh_rate scope cut. - Extract failure diagnostics into a reusable composite action (.github/actions/k8s-diagnostics) with per-container termination reasons and KEDA state; use it in ci-full and ci-external-config, and make ci-external-config cleanup run with if: always(). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Fix the tempo datasource validator both ways: only datasources pointing at this chart's tempo service are validated, and those must match the exact expected URL (substring check passed :32000 and external Tempo URLs were wrongly rejected). - Gate the legacy-overrides guard on tempo.enabled so stale values keys no longer fail renders for disabled Tempo. - Remove the must-be-3200 http_listen_port pseudo-knob from values: the port is now a supersonic.tempoHttpPort template constant consumed by the scrape config, with a guard kept for values passed straight to the subchart; validator messages reduced to one line each. - k8s-diagnostics action: add Deployment status dump (restores the describe-deploy signal), split so/hpa queries so a missing KEDA CRD no longer swallows HPA output, stop suppressing their stderr; mirror the same diagnostics in ci-local.sh; ci-installation Cleanup now runs with if: always(). - Add __pycache__/ to .helmignore; note in cfg/requirements.txt that the runtime pip install is a stopgap (bake a metricsCollector.image for air-gapped/production use). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The 26.08-py3-sdk image pull alone can exceed 5 minutes on a cold runner (observed via the new failure diagnostics); ci-full already uses 800s for the same job. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades all pinned SuperSONIC dependencies to their latest released versions (as of 2026-09-01).
Component images
Helm chart dependencies
Chart.lockregenerated withhelm dependency update.Not changed:
fastml/triton-torchgeoreferences stay at26.04-py3-geometric— that is still the newest published tag.Compatibility notes
serverFilesscrape configs to a newscrapeConfigsmap — does not affect us, since SuperSONIC supplies its entire Prometheus config viaconfigMapOverrideName. Our scrape config is compatible with Prometheus 3.x, anduseExistingClusterRoleName/releaseNamespace/configMapOverrideNameall still exist in chart 29.alerting.*.files, which we do not use.helm lint,helm templatewith default values, and a full render withvalues-minimal-full.yaml(all components enabled) — new image tags appear correctly in the rendered manifests.🤖 Generated with Claude Code