-
Notifications
You must be signed in to change notification settings - Fork 192
H4HIP: Server Side Apply support #312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
95e4e59
to
3c11723
Compare
@gjenkins8 I think this HIP as written would apply to the release secret itself, too. Am I correct with this understanding? We're running into the issue that the release secret is > 1MB in https://github.com/community-tooling/charts because of the |
e1e4d73
to
9048d85
Compare
028f45f
to
82b28b6
Compare
hips/hip-00XX.md
Outdated
Allowing Helm to update objects which have been modified by other processes. | ||
Kubernetes now offers a similar server-side process that has several advantages over the client-side apply (CSA) methods that Helm and `kubectl` (for example) have traditionally utilized. | ||
|
||
## Motivation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps also include that client-side validation is now largely unsupported (need to read up on the details):
hips/hip-00XX.md
Outdated
|
||
- `--dry-run=client` won't work with SSA enabled | ||
- If the user attempts to use SSA with a cluster which does not support it (unlikely: SSA [went GA](https://kubernetes.io/blog/2021/08/06/server-side-apply-ga/) in Kubernetes v1.22), Helm should error | ||
- Client-side API object validation isn't applicable when SSA enabled (`helm install|upgrade --disable-openapi-validation`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we still do this using the SSA with a dry-run?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It just means dry run won't be able to accurately show the results of server side apply without connecting to the server. This is already often true with the current merge strategy, but it's especially true of server side apply strategy. We could do this though with --dry-run=server
.
From the docs:
--dry-run string[="client"] simulate an install. If --dry-run is set with no option being specified or as '--dry-run=client', it will not attempt cluster connections. Setting '--dry-run=server' allows attempting cluster connections.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any modern Kubernetes tool should use SSA. Great work. Just added a few suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work. LGTM 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks
aa9a1e8
to
0043acc
Compare
Signed-off-by: George Jenkins <[email protected]>
0043acc
to
3a5705a
Compare
Signed-off-by: George Jenkins <[email protected]>
Signed-off-by: George Jenkins <[email protected]>
HIP for Helm to support SSA (chart object/resources)