Skip to content

Mega Feature: Refactor KRO to use server side apply as the default #545

@barney-s

Description

@barney-s

Feature Description

Problem Statement:

  1. To avoid handling diffing logic in KRO
  2. Fix issues like Handle Secrets that are transformed by server and hence show up as diff #299 , I have Kubernetes Secrets correctly created, but seing with delta by kro #272
  3. Handle resources mutated by webhooks without triggering continuous reconciliation by KRO due to diffs seen
  4. Fix issues like Handle immutable fields during apply #541 where we are able to update resources with immutable fields (with changes not in immutable fields)
  5. ...

Proposed Solution:

Using server side apply in instance reconciler:

  1. To let server determine diffs
  2. Work nice with mutating webhooks that modify applied resources
  3. Allow updates to objects with immutable fields

Consider using using applyset with ssa along with #557

Alternatives Considered:

  1. 3 way merge
  2. Structured merge diff
  • Please vote on this issue by adding a 👍 reaction to the original issue
  • If you are interested in working on this feature, please leave a comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions