Skip to content

Commit 57a043f

Browse files
authored
Merge pull request #399 from yuwenma/patch-1
feat: Enable server-side-apply on direct applier
2 parents 1a63d5a + cdfac96 commit 57a043f

File tree

1 file changed

+11
-3
lines changed
  • pkg/patterns/declarative/pkg/applier

1 file changed

+11
-3
lines changed

pkg/patterns/declarative/pkg/applier/direct.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,20 @@ import (
2727
)
2828

2929
type DirectApplier struct {
30-
inner directApplierSite
30+
// Whether to apply the KRM resources using server-side apply. https://kubernetes.io/docs/reference/using-api/server-side-apply/
31+
// Note: The server-side apply is stable in Kubernetes v1.22, users should take the responsibility to make sure the cluster
32+
// server can support this feature.
33+
serverSideApplyPreferred bool
34+
inner directApplierSite
35+
}
36+
37+
func (d *DirectApplier) UseServerSideApply() {
38+
d.serverSideApplyPreferred = true
3139
}
3240

3341
var _ Applier = &DirectApplier{}
3442

35-
type directApplier struct {
36-
}
43+
type directApplier struct{}
3744

3845
type directApplierSite interface {
3946
Run(a *apply.ApplyOptions) error
@@ -170,6 +177,7 @@ func (d *DirectApplier) Apply(ctx context.Context, opt ApplierOptions) error {
170177
applyOpts.PruneResources = append(applyOpts.PruneResources, r...)
171178
}
172179

180+
applyOpts.ServerSideApply = d.serverSideApplyPreferred
173181
applyOpts.ForceConflicts = opt.Force
174182
applyOpts.Namespace = opt.Namespace
175183
applyOpts.SetObjects(infos)

0 commit comments

Comments
 (0)