Skip to content

Comments

⚠️ Add native SSA support#3253

Merged
k8s-ci-robot merged 12 commits intokubernetes-sigs:mainfrom
alvaroaleman:ssa
Jul 23, 2025
Merged

⚠️ Add native SSA support#3253
k8s-ci-robot merged 12 commits intokubernetes-sigs:mainfrom
alvaroaleman:ssa

Conversation

@alvaroaleman
Copy link
Member

@alvaroaleman alvaroaleman commented Jul 5, 2025

This change adds native server-side apply support to the client by extending it with an Apply method that takes a runtime.ApplyConfiguration.

Ref #3183

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 5, 2025
@k8s-ci-robot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jul 5, 2025
@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jul 5, 2025
@alvaroaleman alvaroaleman added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Jul 6, 2025
@alvaroaleman alvaroaleman marked this pull request as ready for review July 6, 2025 13:23
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 6, 2025
@k8s-ci-robot k8s-ci-robot requested review from JoelSpeed and inteon July 6, 2025 13:23
@alvaroaleman alvaroaleman changed the title ✨ Add native SSA support ⚠️ Add native SSA support Jul 6, 2025
@JoelSpeed
Copy link
Contributor

/lgtm

/hold @alvaroaleman Anyone else you wanted to review this?

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 17, 2025
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 17, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

DetailsGit tree hash: b54b367b4cffcc758941308fee6ef0743c0ce46a

@sbueringer
Copy link
Member

Yeah. I'll take a look once I get around to it

This change adds native server-side apply support to the client by
extending it with an `Apply` method that takes an
`runtime.ApplyConfiguration`.
This reverts commit ad1966a.

This doesn't work, the server will always error on additional fields
when using SSA, even when fieldValiation=None is configured.
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 18, 2025
@k8s-ci-robot k8s-ci-robot requested a review from JoelSpeed July 18, 2025 20:18
@sbueringer
Copy link
Member

Thank you very much! Very nice!

/lgtm
/approve

@JoelSpeed do you want to take another look?

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 19, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

DetailsGit tree hash: 688c855c2d4653a12882dff29f1d7574ce02061d

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alvaroaleman, sbueringer

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [alvaroaleman,sbueringer]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@JoelSpeed
Copy link
Contributor

/hold cancel

All good my side

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 23, 2025
@k8s-ci-robot k8s-ci-robot merged commit 948d554 into kubernetes-sigs:main Jul 23, 2025
9 checks passed
@alvaroaleman alvaroaleman deleted the ssa branch July 23, 2025 18:04
MaxRink added a commit to telekom/k8s-breakglass that referenced this pull request Feb 6, 2026
Replace Create+AlreadyExists pattern with SSA for ResourceQuota, PDB,
and workload deployment in debug_session_reconciler.go.

Add ApplyTypedObject helper that converts typed k8s objects to
unstructured for SSA. This is cleaner than Create+AlreadyExists and
provides proper create-or-update semantics.

Note: API Creates (BreakglassSession, DebugSession) are kept as-is:
- AddBreakglassSession uses GenerateName (SSA needs known name)
- CreateDebugSession needs AlreadyExists detection for 409 response

Refs: kubernetes-sigs/controller-runtime#2981
Refs: kubernetes-sigs/controller-runtime#3321
Refs: kubernetes-sigs/controller-runtime#3253
MaxRink added a commit to telekom/k8s-breakglass that referenced this pull request Feb 6, 2026
Replace Create+AlreadyExists pattern with SSA for ResourceQuota, PDB,
and workload deployment in debug_session_reconciler.go.

Add ApplyTypedObject helper that converts typed k8s objects to
unstructured for SSA. This is cleaner than Create+AlreadyExists and
provides proper create-or-update semantics.

Note: API Creates (BreakglassSession, DebugSession) are kept as-is:
- AddBreakglassSession uses GenerateName (SSA needs known name)
- CreateDebugSession needs AlreadyExists detection for 409 response

Refs: kubernetes-sigs/controller-runtime#2981
Refs: kubernetes-sigs/controller-runtime#3321
Refs: kubernetes-sigs/controller-runtime#3253
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants