Skip to content

Conversation

@adityathebe
Copy link
Member

Use Unstructured objects in the cache instead of typed objects. This ensures cache synchronization succeeds even when some resources have specs that don't match the Go type definitions.

  • Watch resources as Unstructured to avoid typed cache deserialization failures
  • Convert to typed objects in Reconcile() and handle conversion errors gracefully
  • Emit warning events on malformed resources instead of crashing

@adityathebe adityathebe marked this pull request as draft February 3, 2026 13:54
@adityathebe adityathebe force-pushed the feat/resilient-unstructured-reconciler branch from 35cb10c to a9222bb Compare February 3, 2026 18:50
@adityathebe adityathebe marked this pull request as ready for review February 4, 2026 13:28
- Return error instead of nil when unstructured-to-typed conversion fails.
  This ensures malformed resources are requeued for retry rather than
  being silently dropped.

- Remove unused tests/crdgen/ packages and generate.sh script. These
  types were only used for CRD generation but the test uses
  unstructured objects directly.
@moshloop moshloop merged commit ffedcfe into main Feb 5, 2026
6 checks passed
@moshloop moshloop deleted the feat/resilient-unstructured-reconciler branch February 5, 2026 14:30
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