Skip to content

bundle: route config remote sync edits to source YAML - #6096

Draft
ilyakuz-db wants to merge 4 commits into
mainfrom
fix/config-remote-sync-provenance
Draft

bundle: route config remote sync edits to source YAML#6096
ilyakuz-db wants to merge 4 commits into
mainfrom
fix/config-remote-sync-provenance

Conversation

@ilyakuz-db

@ilyakuz-db ilyakuz-db commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Problem

bundle config-remote-sync compares remote changes with the merged bundle configuration, then writes the original YAML files. When a resource is split across files or target overrides, merged list positions can point to the wrong YAML file or list item. Sync can also replace ${var...} references with resolved values.

Solution

Track where configuration values came from and route each edit back to the correct file, block, and list position. Handle keyed and positional lists, keep related rename and reference changes together, and preserve variable references when writing YAML.

Tests

Acceptance tests cover split keyed edits and renames, included files, positional list changes, and shifted variable references under both deployment engines. Unit tests cover routing and variable-restoration edge cases.

Limitation

If several source elements are indistinguishable, the current remote change data does not identify which one was edited.

@ilyakuz-db ilyakuz-db changed the title bundle: route config remote sync write-back by source provenance bundle: route config remote sync edits to source YAML Jul 29, 2026
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 287afc4

Run: 30543915089

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 337 1065 6:39
💚​ aws windows 4 4 324 1068 6:27
💚​ azure linux 4 4 337 1064 7:26
💚​ azure windows 4 4 324 1067 4:55
💚​ gcp linux 1 5 336 1066 7:37
💚​ gcp windows 1 5 323 1069 6:12
8 interesting tests: 4 RECOVERED, 4 SKIP
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R
Top 3 slowest tests (at least 2 minutes):
duration env testname
5:10 aws windows TestAccept
5:02 gcp windows TestAccept
3:02 azure windows TestAccept

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants