Skip to content

Commit fe6df28

Browse files
authored
Merge pull request #2631 from mschoenlaub/fix-list-helm-deployments
fix: consider helm release name when showing helm deployment status
2 parents 3a9c5f6 + 9e84e7d commit fe6df28

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

pkg/devspace/deploy/deployer/helm/status.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package helm
33
import (
44
"fmt"
55
devspacecontext "github.com/loft-sh/devspace/pkg/devspace/context"
6+
"github.com/loft-sh/devspace/pkg/devspace/helm/types"
67

78
"github.com/loft-sh/devspace/pkg/devspace/deploy/deployer"
89
"github.com/loft-sh/devspace/pkg/devspace/helm"
@@ -44,7 +45,7 @@ func (d *DeployConfig) Status(ctx devspacecontext.Context) (*deployer.StatusResu
4445
}
4546

4647
for _, release := range releases {
47-
if release.Name == d.DeploymentConfig.Name {
48+
if d.matchesRelease(release) {
4849
if release.Status != "DEPLOYED" {
4950
return &deployer.StatusResult{
5051
Name: d.DeploymentConfig.Name,
@@ -83,3 +84,12 @@ func (d *DeployConfig) getDeployTarget() string {
8384

8485
return retString
8586
}
87+
func (d *DeployConfig) matchesRelease(release *types.Release) bool {
88+
if d.DeploymentConfig.Name == release.Name {
89+
return true
90+
}
91+
if d.DeploymentConfig.Helm != nil && d.DeploymentConfig.Helm.ReleaseName == release.Name {
92+
return true
93+
}
94+
return false
95+
}

pkg/devspace/deploy/deployer/helm/status_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,51 @@ type statusTestCase struct {
3030

3131
func TestStatus(t *testing.T) {
3232
testCases := []statusTestCase{
33+
{
34+
name: "Deployment successful",
35+
deployment: "deployed",
36+
releases: []*helmtypes.Release{
37+
{
38+
Name: "deployed",
39+
Status: "DEPLOYED",
40+
},
41+
},
42+
helmConfig: &latest.HelmConfig{
43+
Chart: &latest.ChartConfig{
44+
Name: "chartName",
45+
Version: "chartVersion",
46+
},
47+
},
48+
expectedStatus: deployer.StatusResult{
49+
Name: "deployed",
50+
Type: "Helm",
51+
Target: "chartName (chartVersion)",
52+
Status: "Deployed",
53+
},
54+
},
55+
{
56+
name: "helmReleaseName",
57+
deployment: "deployment",
58+
releases: []*helmtypes.Release{
59+
{
60+
Name: "releaseName",
61+
Status: "DEPLOYED",
62+
},
63+
},
64+
helmConfig: &latest.HelmConfig{
65+
ReleaseName: "releaseName",
66+
Chart: &latest.ChartConfig{
67+
Name: "chartName",
68+
Version: "chartVersion",
69+
},
70+
},
71+
expectedStatus: deployer.StatusResult{
72+
Name: "deployment",
73+
Type: "Helm",
74+
Target: "chartName (chartVersion)",
75+
Status: "Deployed",
76+
},
77+
},
3378
{
3479
name: "No releases",
3580
deployment: "depl",

0 commit comments

Comments
 (0)