Skip to content

Edge Sync updates#561

Merged
amrc-benmorrow merged 10 commits intomainfrom
bmz/edge-sync
Jan 27, 2026
Merged

Edge Sync updates#561
amrc-benmorrow merged 10 commits intomainfrom
bmz/edge-sync

Conversation

@amrc-benmorrow
Copy link
Copy Markdown
Contributor

@amrc-benmorrow amrc-benmorrow commented Sep 2, 2025

  • Track ConfigDB changes via WebSocket.

This is more reliable.

  • Reconcile k8s resources with apply-patch.

Merge-patch will not delete fields. This is the only reliable method of update and is recommended by the k8s docs.

  • Track changes to Helm Chart templates.

This will redeploy edge deployments when the Helm chart template changes.

  • Update the @kubernetes/client-node library.

The update is incompatible.

@amrc-benmorrow amrc-benmorrow force-pushed the bmz/auth-rx-client branch 3 times, most recently from 6f309a5 to 307027e Compare October 1, 2025 07:29
Base automatically changed from bmz/auth-rx-client to main December 4, 2025 15:37
@amrc-benmorrow amrc-benmorrow force-pushed the bmz/edge-sync branch 2 times, most recently from f84e31e to 859c180 Compare December 8, 2025 16:08
@amrc-benmorrow amrc-benmorrow marked this pull request as ready for review January 22, 2026 09:54
@amrc-benmorrow amrc-benmorrow self-assigned this Jan 22, 2026
This doesn't use the Auth service but is suffering from unreliable
ConfigDB updates.
If we're committing it we need to build with it.
We started using merge-patch to avoid stomping on status changes made by
Flux, but it's not straightforward to use merge-patch to remove fields.
Use apply-patch instead, it's what k8s recommend.

Unify the handling of the GitRepo resources with the HelmReleases. Give
the GitRepo resources more sensible names.
Annoyingly the API has changes. We must maintain back-compat in rx-util
for now as this is also used by the Monitor.
Instead of generating HelmReleases from a template in the ConfigDB and
GitRepos from a template in the code, generate both from the ConfigDB.
Generalise the HelmRelease single-entry app to _K8s resource template_,
applying to objects of class _K8s resource kind_. Create a new
_HelmRelease_ object in that class to hold the previous config.

Unfortunately all the generation must still be special-cased in the
code; there is too much detail required to make the whole process
data-driven. (I'll be reinventing Helm in a minute...)
We have just merged another use of 0.19; upgrade to 1.x. Upgrade to 1.4
throughout.
* The incompatible k8s library upgrade is already handled by rx-util.
* Upgrade to in-tree libraries.
These are names for the resources we are deploying directly, so the
normalisation within the Helm charts doesn't help.
@amrc-benmorrow amrc-benmorrow merged commit 9b372c0 into main Jan 27, 2026
1 check passed
@amrc-benmorrow amrc-benmorrow deleted the bmz/edge-sync branch January 27, 2026 10:42
amrc-benmorrow added a commit that referenced this pull request Feb 25, 2026
I am having trouble upgrading an edge cluster. The Helm chart rename
done by #561 will not install cleanly as the old and new charts
reference the same resources. I am hoping that enabling drift detection
will cause Flux to sort itself out eventually.
amrc-benmorrow added a commit that referenced this pull request Mar 9, 2026
I am having trouble upgrading an edge cluster. The Helm chart rename
done by #561 will not install cleanly as the old and new charts
reference the same resources. I am hoping that enabling drift detection
will cause Flux to sort itself out eventually.
amrc-benmorrow added a commit that referenced this pull request Mar 9, 2026
I am having trouble upgrading an edge cluster. The Helm chart rename
done by #561 will not install cleanly as the old and new charts
reference the same resources. I am hoping that enabling drift detection
will cause Flux to sort itself out eventually.
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.

1 participant