o/devicestate: add seed allowlist to recovery-system creation - #17410
o/devicestate: add seed allowlist to recovery-system creation#17410andrewphelpsj wants to merge 3 commits into
Conversation
b903b4e to
a312da3
Compare
|
Fri Jul 24 21:21:14 UTC 2026 No spread failures reported |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #17410 +/- ##
==========================================
- Coverage 78.90% 78.83% -0.08%
==========================================
Files 1393 1405 +12
Lines 196467 196821 +354
Branches 2462 2462
==========================================
+ Hits 155026 155165 +139
- Misses 32113 32309 +196
- Partials 9328 9347 +19
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
andrewphelpsj
left a comment
There was a problem hiding this comment.
Working on a spread test, will add that when finished.
| LocalComponents []snapstate.PathComponent `json:"local-components,omitempty"` | ||
| // SeedAllowlist identifies the snaps and components that may be used | ||
| // to create the recovery system. | ||
| SeedAllowlist *SeedAllowlist `json:"seed-allowlist,omitempty"` |
There was a problem hiding this comment.
Using nil here enables other callers to not have to provide a full allowlist. This keeps remodeling working.
a63363f to
d504d29
Compare
|
|
||
| model_json="$(pwd)/model.json" | ||
| sed \ | ||
| -e "s/@@VERSION@@/${version}/g" \ |
There was a problem hiding this comment.
This is nice! I'll be inspired by this for the other spread test.
d504d29 to
fd881cd
Compare
Let seed-refresh preserve the current seed's optional snap and component membership instead of adding every installed optional container.
fd881cd to
db5e584
Compare
We need to enable
seed-refreshto tellcreate-recovery-systemthat it shouldn't include some snaps/components in the seed, even if it technically could. This allowlist concept enables that.I've split this into two commits to make things easier on reviewers. First commit is only additive, then I clean up some dead code in the final commit.