Commit 0bea785
committed
feat(validator): add AICR_VALIDATOR_IMAGE_TAG env-var override
Running `aicr validate` from a feature-branch dev build fails with
ImagePullBackOff on every validator pod because on-push.yaml only
pushes `:sha-<commit>` images for commits merged to `main`, while
PR #655 (rightly) made non-release builds resolve to `:sha-<commit>`
instead of `:latest`. Contributors dog-fooding a PR before merge hit
a "NotFound" dead-end with no escape hatch.
This adds AICR_VALIDATOR_IMAGE_TAG as an opt-in override. When set,
the resolved tag is replaced on every validator image — including
explicit catalog tags like `:v1.2.3` — so a feature-branch build can
point at a known-published tag:
AICR_VALIDATOR_IMAGE_TAG=latest aicr validate --phase performance ...
Default behavior is unchanged: release builds still resolve to
`:v<version>`, main-branch dev builds still resolve to `:sha-<commit>`,
and reproducibility for CI paths is preserved. The override is strictly
additive and strictly opt-in.
The override is forwarded from the CLI invocation into the validator
container (alongside AICR_CLI_VERSION, AICR_CLI_COMMIT, and
AICR_VALIDATOR_IMAGE_REGISTRY), so validators that resolve inner
workload images at runtime (inference-perf's AIPerf benchmark Job)
apply the same semantics as catalog.Load. Without this, the outer
validator pod would get `:latest` while the inner benchmark pod
would still resolve to the same unpublished `:sha-<commit>` and
ImagePullBackOff — defeating the motivating feature-branch workflow.
Digest-pinned references (`name@sha256:…`) are preserved verbatim. A
tag override is meaningless against a content-addressable pin, and
naive last-colon splitting would corrupt the digest hash into the
tag slot. replaceTag detects the `@` separator and returns the image
unchanged; the registry override still applies to digest refs.
Tests:
- catalog_test.go: 10 new cases covering the tag-override escape
hatch, composition with registry override, the no-tag-append case,
the empty-env-var no-op, the localhost:5001 port-preservation
edge case, digest-only and mixed `name:tag@digest` forms
- deployer_test.go: 2 new cases asserting the env var is forwarded
into the validator container when set, and strictly omitted when
unset (so the default release / main-branch paths are untouched)
- docs/contributor/validator.md updated with the resolution order,
digest behavior, and env-var forwarding1 parent 9d57dfb commit 0bea785
5 files changed
Lines changed: 251 additions & 15 deletions
File tree
- docs/contributor
- pkg/validator
- catalog
- job
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| 139 | + | |
139 | 140 | | |
140 | 141 | | |
141 | 142 | | |
| |||
227 | 228 | | |
228 | 229 | | |
229 | 230 | | |
230 | | - | |
231 | | - | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
232 | 241 | | |
233 | 242 | | |
234 | 243 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
107 | 111 | | |
108 | | - | |
| 112 | + | |
| 113 | + | |
109 | 114 | | |
110 | 115 | | |
111 | 116 | | |
| |||
131 | 136 | | |
132 | 137 | | |
133 | 138 | | |
134 | | - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
135 | 144 | | |
136 | 145 | | |
137 | 146 | | |
| |||
141 | 150 | | |
142 | 151 | | |
143 | 152 | | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
144 | 156 | | |
145 | 157 | | |
146 | 158 | | |
| |||
192 | 204 | | |
193 | 205 | | |
194 | 206 | | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
195 | 236 | | |
196 | 237 | | |
197 | 238 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
492 | 492 | | |
493 | 493 | | |
494 | 494 | | |
| 495 | + | |
495 | 496 | | |
496 | 497 | | |
497 | 498 | | |
| |||
642 | 643 | | |
643 | 644 | | |
644 | 645 | | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
645 | 747 | | |
646 | 748 | | |
647 | 749 | | |
| |||
651 | 753 | | |
652 | 754 | | |
653 | 755 | | |
| 756 | + | |
654 | 757 | | |
655 | 758 | | |
656 | 759 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
228 | 233 | | |
229 | 234 | | |
230 | 235 | | |
| |||
234 | 239 | | |
235 | 240 | | |
236 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
237 | 245 | | |
238 | 246 | | |
239 | 247 | | |
| |||
281 | 289 | | |
282 | 290 | | |
283 | 291 | | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
284 | 298 | | |
285 | 299 | | |
286 | 300 | | |
| |||
289 | 303 | | |
290 | 304 | | |
291 | 305 | | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
292 | 310 | | |
293 | 311 | | |
294 | 312 | | |
| |||
0 commit comments