Skip to content

fix(argo): make fuzekeys-sealed self-heal from a failed first sync - #38

Draft
github-actions[bot] wants to merge 1 commit into
masterfrom
claude/issue-35-20260708-0118
Draft

fix(argo): make fuzekeys-sealed self-heal from a failed first sync#38
github-actions[bot] wants to merge 1 commit into
masterfrom
claude/issue-35-20260708-0118

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

The fuzekeys-sealed Application was the only app reported OutOfSync/Missing
(conditions null). Its SealedSecret manifests are valid and consistent, but
unlike the sibling fuzekeys-platform app it had no retry policy and no
ServerSideApply:

  • On a from-scratch cluster Argo can attempt the first sync before FuzeInfra's
    sealed-secrets controller has registered the bitnami.com/SealedSecret CRD. The
    apply fails, the error lands in .status.operationState (not .status.conditions,
    which explains the empty conditions in the alert), and without a retry backoff
    the app stays latched OutOfSync/Missing until a manual sync. Add a retry block
    mirroring fuzekeys-platform so it self-recovers.
  • Add ServerSideApply=true so the large encryptedData blobs don't get a
    client-side last-applied-configuration annotation (262 KiB metadata limit) and
    kubeseal's creationTimestamp: null no longer diffs forever, which would keep
    the app OutOfSync even after the SealedSecrets exist.

prune stays false (never auto-prune secrets); no finalizer is added so deleting
the Application never cascades a delete of the live Secrets.

Co-authored-by: Israel Weinberg 99821070+izzywdev@users.noreply.github.com

The fuzekeys-sealed Application was the only app reported OutOfSync/Missing
(conditions null). Its SealedSecret manifests are valid and consistent, but
unlike the sibling fuzekeys-platform app it had no retry policy and no
ServerSideApply:

- On a from-scratch cluster Argo can attempt the first sync before FuzeInfra's
  sealed-secrets controller has registered the bitnami.com/SealedSecret CRD. The
  apply fails, the error lands in .status.operationState (not .status.conditions,
  which explains the empty conditions in the alert), and without a retry backoff
  the app stays latched OutOfSync/Missing until a manual sync. Add a retry block
  mirroring fuzekeys-platform so it self-recovers.
- Add ServerSideApply=true so the large encryptedData blobs don't get a
  client-side last-applied-configuration annotation (262 KiB metadata limit) and
  kubeseal's creationTimestamp: null no longer diffs forever, which would keep
  the app OutOfSync even after the SealedSecrets exist.

prune stays false (never auto-prune secrets); no finalizer is added so deleting
the Application never cascades a delete of the live Secrets.

Co-authored-by: Israel Weinberg <99821070+izzywdev@users.noreply.github.com>
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.

0 participants