Martin Vogel
3401def5ba
fix(deploy): coarse rule for Helm changes not run, BasePath includes, render memory
...
Review round 3 of #2677 . The user decided on a rule sound by construction:
a change of maps the render does not run exactly leaves every later image
of that render UNKNOWN, with no exemption.
Changes of maps (helm_template.c):
- Under UNKNOWN control -- a skipped if / with / range body, the rest of a
loop an UNKNOWN break / continue may leave, an include or template not
run, a tpl not run -- any set / unset / merge (the must* forms too), any
tpl, and any include / template of a name not known, of no define or
template file of the chart, or of one that may change maps, leaves the
images after it UNKNOWN.
- An executed set / merge does too unless its target is a known map that
is poisoned exactly; a merge also for a target already poisoned, the
.Values root, or a map not known within it. The own provenance and the
freshness scan are gone.
- .Template.BasePath is modelled as Helm sets it: <chart path>/templates,
the top chart's name, then /charts/<alias or name> per subchart
(pass_k8s.c). An include naming one of the chart's template files by it
(the checksum idiom) is scanned with the same rule; a file reached again
while scanned, or no such file, may change maps.
Bounds (helm_template.c):
- A capture's keys are a hash set and its mark is built in one pass (one
sort for the prefix check), its steps charged.
- Each render works in an arena of its own; the caller keeps its results
only.
- The trip reason is recorded where a budget trips: an output trip is
logged as output.
Releases (pass_terraform.c, pass_k8s.c):
- Any set_sensitive leaves the release without an image of its own (the
name-overlap check is gone), and so does a postrender written as a
dynamic block or an attribute.
Cost on the 20 infra corpora against 5c5964ef : 20 Image edges lost, 0
added, no budget trip. 5 are changes the rule rightly cannot follow (a
second mustMerge into a poisoned values map; a skipped part that may
change maps), 15 come from checksum-included files that hold a tpl. Two
controls of rounds 1-3 now read UNKNOWN; their tests say so.
Tests: one per item, each failing on 5c5964ef by its assertion (the
BasePath ones also on the coarse rule without it); the wrong-image
scenarios of rounds 2 and 3 stay as tests.
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-10-19 01:59:48 +02:00
..
2026-10-18 21:08:20 +02:00
2026-09-18 23:27:23 +02:00
2026-10-14 04:08:22 +02:00
2026-10-15 18:07:25 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-06-05 21:53:25 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-09-05 06:05:08 +02:00
2026-07-13 01:50:03 +02:00
2026-03-15 22:37:34 +01:00
2026-09-12 16:50:42 +02:00
2026-08-11 13:37:32 +02:00
2026-09-28 00:30:10 +02:00
2026-09-04 21:45:24 +07:00
2026-10-11 20:16:34 +02:00
2026-09-18 03:31:22 +02:00
2026-10-01 19:59:02 +02:00
2026-06-29 09:45:28 -06:00
2026-07-22 17:48:20 +02:00
2026-10-13 18:33:40 +02:00
2026-07-18 15:52:50 +02:00
2026-10-01 00:10:39 +02:00
2026-10-13 19:35:11 +02:00
2026-10-13 00:33:09 +02:00
2026-10-13 18:33:40 +02:00
2026-09-11 23:26:33 +02:00
2026-09-08 02:04:51 +02:00
2026-10-04 16:22:57 +02:00
2026-09-25 22:56:39 +02:00
2026-10-14 22:09:37 +02:00
2026-08-04 16:37:06 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 03:19:38 +02:00
2026-10-06 03:19:38 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-06-06 22:16:04 +02:00
2026-10-10 15:24:17 +02:00
2026-08-14 06:46:05 -04:00
2026-07-18 15:52:50 +02:00
2026-10-14 21:05:58 +02:00
2026-10-14 22:54:02 +02:00
2026-10-05 18:52:26 +02:00
2026-09-25 23:03:56 +02:00
2026-09-30 23:33:54 +02:00
2026-08-09 13:06:42 +02:00
2026-07-18 11:48:59 +02:00
2026-10-11 16:57:48 +02:00
2026-08-11 13:37:32 +02:00
2026-09-28 00:01:56 +02:00
2026-09-06 16:23:45 +02:00
2026-08-13 14:04:51 +02:00
2026-09-05 06:05:08 +02:00
2026-10-11 12:00:31 +02:00
2026-10-12 19:07:09 +02:00
2026-10-09 02:55:23 +02:00
2026-10-11 12:43:35 +02:00
2026-10-09 02:55:23 +02:00
2026-10-10 23:13:18 +02:00
2026-10-11 02:09:04 +02:00
2026-10-12 19:11:19 +02:00
2026-10-11 12:43:35 +02:00
2026-10-11 16:46:52 +02:00
2026-10-11 02:09:04 +02:00
2026-10-11 02:09:04 +02:00
2026-10-10 11:34:47 +02:00
2026-10-11 02:09:04 +02:00
2026-10-09 18:24:01 +02:00
2026-09-22 08:48:33 +02:00
2026-06-23 06:38:45 +09:00
2026-08-27 10:15:09 +02:00
2026-03-25 09:28:11 +01:00
2026-10-13 00:02:21 +02:00
2026-10-09 01:56:17 +02:00
2026-10-09 01:54:53 +02:00
2026-10-13 00:31:54 +02:00
2026-08-18 15:56:41 +08:00
2026-10-13 18:47:51 +02:00
2026-10-12 20:18:19 +02:00
2026-10-11 11:42:35 +02:00
2026-10-01 22:56:52 +02:00
2026-10-14 20:18:55 +02:00
2026-09-30 23:50:03 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-09-01 15:51:50 +08:00
2026-08-26 22:51:29 +02:00
2026-10-11 02:08:58 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-27 16:23:26 +02:00
2026-06-07 20:05:24 +02:00
2026-10-19 01:59:48 +02:00
2026-10-10 15:40:21 +02:00
2026-08-28 21:30:06 +02:00
2026-10-10 17:19:41 +02:00
2026-10-14 22:54:02 +02:00
2026-10-05 18:52:31 +02:00
2026-10-06 03:19:38 +02:00
2026-09-18 23:27:23 +02:00
2026-09-30 23:50:03 +02:00
2026-08-17 22:07:11 +03:00
2026-10-11 20:16:34 +02:00
2026-08-28 20:56:33 +02:00
2026-09-26 07:14:58 +02:00
2026-10-16 02:10:53 +02:00
2026-09-09 16:06:59 +08:00
2026-10-02 20:51:31 +02:00
2026-09-26 07:14:58 +02:00
2026-10-13 00:33:07 +02:00
2026-07-18 13:48:06 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 18:07:16 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 18:07:16 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-06-02 18:52:37 +02:00
2026-07-18 15:52:50 +02:00
2026-07-18 15:52:50 +02:00
2026-10-05 18:52:31 +02:00
2026-10-05 18:52:31 +02:00
2026-10-10 13:37:44 +02:00
2026-09-10 10:21:35 +02:00
2026-10-11 22:11:56 +02:00
2026-09-04 15:42:15 +02:00
2026-09-05 07:59:14 +02:00
2026-08-29 17:30:00 +02:00
2026-03-15 22:37:34 +01:00
2026-10-14 22:19:02 +02:00
2026-07-18 01:26:08 +02:00
2026-06-08 22:55:23 +02:00
2026-07-18 15:52:50 +02:00
2026-10-14 18:26:57 +02:00
2026-09-04 22:02:47 +02:00
2026-08-11 17:01:24 +02:00
2026-09-18 23:27:23 +02:00
2026-10-14 22:54:02 +02:00
2026-09-13 13:52:08 +03:00
2026-06-12 02:17:39 +02:00
2026-08-20 21:20:44 +02:00
2026-10-11 02:08:58 +02:00
2026-09-28 19:45:45 +02:00
2026-10-13 00:02:21 +02:00
2026-09-06 13:12:20 +08:00
2026-10-12 20:23:13 +02:00
2026-10-02 05:34:41 +02:00
2026-07-18 15:52:50 +02:00
2026-10-13 00:02:21 +02:00
2026-10-05 02:15:08 +02:00
2026-10-05 23:55:25 +02:00
2026-10-19 01:59:48 +02:00
2026-10-10 15:40:21 +02:00
2026-07-18 01:26:08 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-07-18 01:26:08 +02:00
2026-08-10 16:40:31 +02:00
2026-10-12 21:29:00 +02:00
2026-05-09 14:16:15 +02:00
2026-10-13 00:33:09 +02:00
2026-10-13 18:33:39 +02:00
2026-08-11 17:01:24 +02:00
2026-09-04 22:02:47 +02:00
2026-08-18 22:30:28 +02:00
2026-06-23 13:52:08 -03:00
2026-10-03 18:37:19 +02:00
2026-10-15 18:07:25 +02:00
2026-07-18 15:52:50 +02:00
2026-09-28 00:13:39 +02:00
2026-08-03 15:42:32 +02:00
2026-10-11 20:42:19 +02:00
2026-10-03 18:37:19 +02:00
2026-09-13 01:27:43 +02:00
2026-10-15 03:18:42 +02:00
2026-10-11 18:23:58 +02:00
2026-08-08 17:35:05 +02:00
2026-09-30 23:46:46 +02:00
2026-10-11 15:46:00 +02:00
2026-10-02 06:50:04 +02:00
2026-09-18 03:31:42 +02:00
2026-09-18 23:27:23 +02:00
2026-06-28 21:57:35 -06:00
2026-09-30 23:21:43 +02:00
2026-09-21 11:29:04 +03:00
2026-07-25 00:37:05 +02:00
2026-09-13 13:52:00 +03:00
2026-08-07 14:58:22 +02:00
2026-10-06 02:44:56 +02:00
2026-09-25 18:37:16 +02:00
2026-08-10 12:57:34 +01:00
2026-10-14 21:20:07 +02:00
2026-03-20 20:32:38 +01:00
2026-10-07 19:20:08 +02:00
2026-07-03 20:16:39 +02:00
2026-10-05 23:55:25 +02:00
2026-10-13 18:33:40 +02:00
2026-10-14 21:05:58 +02:00
2026-10-14 18:26:57 +02:00
2026-10-03 23:55:18 +02:00
2026-10-14 21:20:07 +02:00
2026-03-24 23:48:23 +01:00
2026-09-21 20:29:27 +02:00
2026-10-11 20:16:34 +02:00
2026-10-05 02:15:08 +02:00
2026-10-05 18:52:26 +02:00
2026-10-03 23:55:18 +02:00
2026-10-05 02:15:08 +02:00
2026-10-13 18:33:40 +02:00
2026-10-09 01:59:34 +02:00
2026-10-03 23:55:18 +02:00
2026-10-05 02:15:08 +02:00
2026-10-05 02:15:08 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-09-30 23:29:52 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-13 18:33:40 +02:00
2026-10-05 18:52:31 +02:00
2026-10-06 18:07:16 +02:00
2026-10-06 05:58:39 +02:00
2026-10-06 03:53:49 +02:00
2026-09-18 23:26:05 +02:00
2026-09-02 21:55:30 -04:00
2026-10-03 20:16:31 +02:00
2026-06-10 12:11:02 +02:00
2026-07-21 15:32:15 +02:00
2026-10-13 20:57:12 +02:00
2026-10-11 23:14:24 +02:00
2026-10-03 23:55:18 +02:00
2026-08-08 17:35:05 +02:00
2026-10-07 18:20:52 +02:00
2026-09-04 09:41:30 +02:00
2026-10-16 18:09:06 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 03:36:33 +02:00
2026-10-06 03:36:33 +02:00
2026-08-08 17:35:05 +02:00
2026-06-05 21:53:25 +02:00
2026-08-14 00:21:31 +02:00
2026-08-14 04:40:07 +02:00
2026-08-14 12:48:40 +02:00
2026-10-03 18:37:19 +02:00
2026-10-11 16:57:48 +02:00
2026-09-12 16:21:30 +02:00
2026-10-03 23:55:18 +02:00
2026-09-09 16:06:59 +08:00
2026-06-06 19:48:48 +02:00
2026-09-20 21:40:37 +02:00
2026-09-09 16:06:59 +08:00
2026-10-04 19:08:28 +02:00
2026-03-24 23:48:23 +01:00
2026-04-15 23:56:03 +02:00