Skip to content

🐛 fix(backup): preserve effective config#230

Merged
gaborbernat merged 1 commit into
tox-dev:mainfrom
gaborbernat:fix/backup-effective-config
Jul 13, 2026
Merged

🐛 fix(backup): preserve effective config#230
gaborbernat merged 1 commit into
tox-dev:mainfrom
gaborbernat:fix/backup-effective-config

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Jul 13, 2026

Copy link
Copy Markdown
Member

Backup snapshots serialized only a subset of the resolved configuration, so restoring one could change an OCI index to PyPI and discard the remaining operator settings. This closes #197.

The snapshot now serializes every resolved field and preserves each secret source. It borrows resolved values where possible, and exhaustive destructuring makes future configuration additions a compile error until backup serialization handles them.

@gaborbernat gaborbernat added bug Something isn't working priority:P0 Correctness, security, or client-visible failure type:bug Incorrect behavior or missing validation area:security Path, URL, integrity, or access safety area:cli CLI commands and operator workflows area:management Index, user, ACL, and server management labels Jul 13, 2026
@gaborbernat gaborbernat self-assigned this Jul 13, 2026
@read-the-docs-community

read-the-docs-community Bot commented Jul 13, 2026

Copy link
Copy Markdown

@codspeed-hq

codspeed-hq Bot commented Jul 13, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 30 untouched benchmarks
⏩ 91 skipped benchmarks1


Comparing gaborbernat:fix/backup-effective-config (6ff6477) with main (019049d)

Open in CodSpeed

Footnotes

  1. 91 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@gaborbernat gaborbernat force-pushed the fix/backup-effective-config branch from daa1c67 to 26451f9 Compare July 13, 2026 16:13
@gaborbernat gaborbernat force-pushed the fix/backup-effective-config branch 3 times, most recently from 6ff6477 to 179dccf Compare July 13, 2026 21:19
Backup snapshots omitted most resolved settings. Restoring the file could
change an OCI index into PyPI or discard its private-read controls.

Serialize the resolved configuration while retaining each secret source.
Exhaustive destructuring makes configuration additions fail compilation until
the snapshot format handles them.

Fixes tox-dev#197
@gaborbernat gaborbernat force-pushed the fix/backup-effective-config branch from 179dccf to 79e605f Compare July 13, 2026 21:26
@gaborbernat gaborbernat marked this pull request as ready for review July 13, 2026 21:26
@gaborbernat gaborbernat enabled auto-merge (squash) July 13, 2026 21:26
@gaborbernat gaborbernat disabled auto-merge July 13, 2026 21:27
@gaborbernat gaborbernat merged commit 622fd02 into tox-dev:main Jul 13, 2026
12 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:cli CLI commands and operator workflows area:management Index, user, ACL, and server management area:security Path, URL, integrity, or access safety bug Something isn't working priority:P0 Correctness, security, or client-visible failure type:bug Incorrect behavior or missing validation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(backup): preserve effective configuration

1 participant