@@ -41,6 +41,8 @@ import (
41
41
bean3 "github.com/devtron-labs/devtron/pkg/argoApplication/bean"
42
42
"github.com/devtron-labs/devtron/pkg/deployment/common"
43
43
bean2 "github.com/devtron-labs/devtron/pkg/deployment/common/bean"
44
+ "github.com/devtron-labs/devtron/pkg/fluxApplication"
45
+ bean5 "github.com/devtron-labs/devtron/pkg/fluxApplication/bean"
44
46
"github.com/devtron-labs/devtron/pkg/k8s"
45
47
application3 "github.com/devtron-labs/devtron/pkg/k8s/application"
46
48
util3 "github.com/devtron-labs/devtron/pkg/util"
@@ -77,6 +79,7 @@ type InstalledAppResourceServiceImpl struct {
77
79
deploymentConfigurationService common.DeploymentConfigService
78
80
OCIRegistryConfigRepository repository2.OCIRegistryConfigRepository
79
81
argoApplicationService argoApplication.ArgoApplicationService
82
+ fluxApplicationService fluxApplication.FluxApplicationService
80
83
}
81
84
82
85
func NewInstalledAppResourceServiceImpl (logger * zap.SugaredLogger ,
@@ -91,7 +94,8 @@ func NewInstalledAppResourceServiceImpl(logger *zap.SugaredLogger,
91
94
k8sCommonService k8s.K8sCommonService , k8sApplicationService application3.K8sApplicationService , K8sUtil k8s2.K8sService ,
92
95
deploymentConfigurationService common.DeploymentConfigService ,
93
96
OCIRegistryConfigRepository repository2.OCIRegistryConfigRepository ,
94
- argoApplicationService argoApplication.ArgoApplicationService ) * InstalledAppResourceServiceImpl {
97
+ argoApplicationService argoApplication.ArgoApplicationService ,
98
+ fluxApplicationService fluxApplication.FluxApplicationService ) * InstalledAppResourceServiceImpl {
95
99
return & InstalledAppResourceServiceImpl {
96
100
logger : logger ,
97
101
installedAppRepository : installedAppRepository ,
@@ -108,6 +112,7 @@ func NewInstalledAppResourceServiceImpl(logger *zap.SugaredLogger,
108
112
deploymentConfigurationService : deploymentConfigurationService ,
109
113
OCIRegistryConfigRepository : OCIRegistryConfigRepository ,
110
114
argoApplicationService : argoApplicationService ,
115
+ fluxApplicationService : fluxApplicationService ,
111
116
}
112
117
}
113
118
@@ -171,6 +176,26 @@ func (impl *InstalledAppResourceServiceImpl) FetchResourceTree(rctx context.Cont
171
176
releaseStatusMap := util2 .InterfaceToMapAdapter (releaseStatus )
172
177
appDetailsContainer .ReleaseStatus = releaseStatusMap
173
178
}
179
+ } else if util .IsFluxApp (deploymentConfig .DeploymentAppType ) {
180
+ req := & bean5.FluxAppIdentifier {
181
+ ClusterId : installedApp .Environment .ClusterId ,
182
+ Namespace : installedApp .Environment .Namespace ,
183
+ Name : deploymentAppName ,
184
+ IsKustomizeApp : false ,
185
+ }
186
+ detail , err := impl .fluxApplicationService .GetFluxAppDetail (rctx , req )
187
+ if err != nil {
188
+ impl .logger .Errorw ("error in fetching app detail" , "payload" , req , "err" , err )
189
+ }
190
+ if detail != nil {
191
+ resourceTree = util2 .InterfaceToMapAdapter (detail .ResourceTreeResponse )
192
+ applicationStatus := detail .AppHealthStatus
193
+ if detail .ResourceTreeResponse != nil && len (detail .ResourceTreeResponse .Nodes ) == 0 {
194
+ resourceTree ["status" ] = commonBean .HealthStatusUnknown
195
+ } else {
196
+ resourceTree ["status" ] = applicationStatus
197
+ }
198
+ }
174
199
}
175
200
if resourceTree != nil {
176
201
version , err := impl .k8sCommonService .GetK8sServerVersion (installedApp .Environment .ClusterId )
0 commit comments