From c9757f963941d02de82c0ff818c0d208b34028b8 Mon Sep 17 00:00:00 2001 From: Diego Rivera Date: Fri, 25 Nov 2022 19:28:37 -0600 Subject: [PATCH] Added support for correct sorting of Endpoints This allows us to use charts that utilize explicit Endpoint declarations, and have those objects be created before the Service objec ts that consume them, as well as being torn down after them during takedown. This issue is documented in https://github.com/helm/helm/issues/11145 Signed-off-by: Diego Rivera --- pkg/releaseutil/kind_sorter.go | 2 ++ pkg/releaseutil/kind_sorter_test.go | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/releaseutil/kind_sorter.go b/pkg/releaseutil/kind_sorter.go index 1d1874cfa..b58259b45 100644 --- a/pkg/releaseutil/kind_sorter.go +++ b/pkg/releaseutil/kind_sorter.go @@ -51,6 +51,7 @@ var InstallOrder KindSortOrder = []string{ "RoleList", "RoleBinding", "RoleBindingList", + "Endpoints", "Service", "DaemonSet", "Pod", @@ -74,6 +75,7 @@ var UninstallOrder KindSortOrder = []string{ "Ingress", "IngressClass", "Service", + "Endpoints", "CronJob", "Job", "StatefulSet", diff --git a/pkg/releaseutil/kind_sorter_test.go b/pkg/releaseutil/kind_sorter_test.go index afcae6d16..7b2cade68 100644 --- a/pkg/releaseutil/kind_sorter_test.go +++ b/pkg/releaseutil/kind_sorter_test.go @@ -69,6 +69,10 @@ func TestKindSorter(t *testing.T) { Name: "r", Head: &SimpleHead{Kind: "Deployment"}, }, + { + Name: "m", + Head: &SimpleHead{Kind: "Endpoints"}, + }, { Name: "!", Head: &SimpleHead{Kind: "HonkyTonkSet"}, @@ -146,7 +150,7 @@ func TestKindSorter(t *testing.T) { Head: &SimpleHead{Kind: "Secret"}, }, { - Name: "m", + Name: "M", Head: &SimpleHead{Kind: "Service"}, }, { @@ -176,8 +180,8 @@ func TestKindSorter(t *testing.T) { order KindSortOrder expected string }{ - {"install", InstallOrder, "aAbcC3deEf1gh2iIjJkKlLmnopqrxstuUvw!"}, - {"uninstall", UninstallOrder, "wvUmutsxrqponLlKkJjIi2hg1fEed3CcbAa!"}, + {"install", InstallOrder, "aAbcC3deEf1gh2iIjJkKlLmMnopqrxstuUvw!"}, + {"uninstall", UninstallOrder, "wvUMmutsxrqponLlKkJjIi2hg1fEed3CcbAa!"}, } { var buf bytes.Buffer t.Run(test.description, func(t *testing.T) {