mirror of
https://github.com/cozystack/cozystack.git
synced 2026-10-30 08:37:31 +09:00
source-watcher builds an ArtifactGenerator from the spec it read when
its reconcile started, but its final status patch re-reads the live
object and marks Ready with the live generation. If the spec changes
during a build, which an upgrade does as it rolls out a new packages
source and new copy rules within seconds of each other, the generator
reports the new generation as built while its artifacts come from the
old one, and source-watcher never rebuilds them. A chart can then ship
without a library its templates now require.
The generator status cannot tell a stale build from a good one, so the
operator forces one rebuild of every changed generation once it
reports Ready, through the existing force-drift path. An unchanged spec
rebuilds to the same digest, so nothing downstream moves. The recovery
messages no longer name one upstream race, since they now serve two.
Upstream: fluxcd/source-watcher#384.
The conflict was in the test file only: main appends the new tests
right after TestReconcileArtifactGeneratorsLayersValuesFiles, which
this branch does not have and this change does not touch, so the
hunk is resolved to the new tests alone and that test is left out.
Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
(cherry picked from commit adc2dcb5ca)
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>