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 <diego.rivera@armedia.com>
pull/11570/head
Diego Rivera 3 years ago
parent 5ff19d823a
commit c9757f9639

@ -51,6 +51,7 @@ var InstallOrder KindSortOrder = []string{
"RoleList", "RoleList",
"RoleBinding", "RoleBinding",
"RoleBindingList", "RoleBindingList",
"Endpoints",
"Service", "Service",
"DaemonSet", "DaemonSet",
"Pod", "Pod",
@ -74,6 +75,7 @@ var UninstallOrder KindSortOrder = []string{
"Ingress", "Ingress",
"IngressClass", "IngressClass",
"Service", "Service",
"Endpoints",
"CronJob", "CronJob",
"Job", "Job",
"StatefulSet", "StatefulSet",

@ -69,6 +69,10 @@ func TestKindSorter(t *testing.T) {
Name: "r", Name: "r",
Head: &SimpleHead{Kind: "Deployment"}, Head: &SimpleHead{Kind: "Deployment"},
}, },
{
Name: "m",
Head: &SimpleHead{Kind: "Endpoints"},
},
{ {
Name: "!", Name: "!",
Head: &SimpleHead{Kind: "HonkyTonkSet"}, Head: &SimpleHead{Kind: "HonkyTonkSet"},
@ -146,7 +150,7 @@ func TestKindSorter(t *testing.T) {
Head: &SimpleHead{Kind: "Secret"}, Head: &SimpleHead{Kind: "Secret"},
}, },
{ {
Name: "m", Name: "M",
Head: &SimpleHead{Kind: "Service"}, Head: &SimpleHead{Kind: "Service"},
}, },
{ {
@ -176,8 +180,8 @@ func TestKindSorter(t *testing.T) {
order KindSortOrder order KindSortOrder
expected string expected string
}{ }{
{"install", InstallOrder, "aAbcC3deEf1gh2iIjJkKlLmnopqrxstuUvw!"}, {"install", InstallOrder, "aAbcC3deEf1gh2iIjJkKlLmMnopqrxstuUvw!"},
{"uninstall", UninstallOrder, "wvUmutsxrqponLlKkJjIi2hg1fEed3CcbAa!"}, {"uninstall", UninstallOrder, "wvUMmutsxrqponLlKkJjIi2hg1fEed3CcbAa!"},
} { } {
var buf bytes.Buffer var buf bytes.Buffer
t.Run(test.description, func(t *testing.T) { t.Run(test.description, func(t *testing.T) {

Loading…
Cancel
Save