Skip to content

Commit 268c1e4

Browse files
vikramdevtronprakash100198prkhrkatkartik-579Shivam-nagar23
authored
sync: Release candidate v0.38.0 (#6680)
* create cm in case of cluster event instead of secret * bump cpmmon lib * bump common lib * bump common lib * fix * k8s supported label label * small fix * bump common lib * bump common lib * bump * code review level 2 * added missing dependency (#6634) * fix * updates hash * fixed waiting to start status in deployemnt (#6649) * fix: Dependency upgrades (#6622) * removed hardcoded dependencies * k8s upgrade * helm and argo upgrade * helm and argo upgrade * golang.org/x/net upgrade * golang.org/x/net upgrade * DeleteProject gitlab client changes * common-lib sync * common lib sync * common-lib sync * Merge pull request #6651 from devtron-labs/fix-panic-cd-trigger fix: panic handling on cd trigger * main merge * make * fix: Posthog events added (#6640) * refact * app count events * app count events * app count events * app count events * query fix * policies included * wip * query fix posthog query * removed extra dockerFile count queries * fix * fix * fix: inconsistency in saving empty GitOps repository (#6612) * fix: gitops provider multiple save error * updated const ArgoRepoSyncDelayErr as per new ArgoCd update * fix: unable resolve 'HEAD' to a commit SHA * fix: git clone issue for empty repository * fix: ambiguous argument 'origin/HEAD': unknown revision or path not in the working tree. * fix: SSH known host confirmation issue on cloning * chore: updated default value of ARGO_REPO_REGISTER_RETRY_COUNT * chore: incorporated review comments * chore: removed dead code * chore: minor refactorings * chore: added integration test cases * fix: added handling for argocd older versions * sync: Main sync develop (#6669) * panic fixes (#6657) * fix-cd-pipeline-check (#6658) * vendor update on develop --------- Co-authored-by: Shivam Nagar <[email protected]> * vendor update on rc 38 (#6671) * added empty migration seq (#6672) * fix down script for gp workload (#6678) * sync: Main sync RC (#6679) * panic fixes (#6657) * fix-cd-pipeline-check (#6658) * release: PR for v1.7.0 (#6667) * Updated release-notes files * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * removed init-container from git-sensor (#6605) Co-authored-by: Badal Kumar Prusty <[email protected]> * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * feat: added support for loadBalancerIP (#6617) * added support for loadBalancerIP * removed default value for loadBalancerIP --------- Co-authored-by: Badal Kumar Prusty <[email protected]> * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * Updated release notes * set fsGroup to allow non-root app to write to PVC (#6664) Co-authored-by: Badal Kumar Prusty <[email protected]> * misc: Shifted the dbConfigs under global (#6621) * Shifted the dbConfigs under global * updated the configurations for external database support * handled casbin migration case for database name * added support for custom annotations for ci-runner cd-runner and devtron * switched the conditioning to handle devtron-bom.yaml * removed check of values.global from postgresql.yaml * Updated kubewatch to a4fc9044-419-33852 tag in values file * Updated kubelink to a4fc9044-564-33855 tag in values file * Updated devtron to c8e75fb-434-33854 tag in values file * added support for nfs (#6665) Co-authored-by: Badal Kumar Prusty <[email protected]> * Updated lens to a4fc9044-333-33874 tag in values file * Updated git-sensor to a4fc9044-200-33872 tag in values file * Updated dashboard to a85f2624-690-33873 tag in values file * Updated ci-runner to a4fc9044-138-33875 tag in values file * Updated notifier to 19d654ff-372-33876 tag in values file * Updated image-scanner to a4fc9044-141-33877 tag in values file * Updated chart-sync to a4fc9044-836-33878 tag in values file * Updated hyperion to c8e75fb-280-33879 tag in values file * Updated the nfs condition * Updated the version in scripts * updated release-notes file * Updated releasenotes.md * Updated release-notes-v1.7.0.md * finalized releasenotes --------- Co-authored-by: Badal Kumar <[email protected]> Co-authored-by: Badal Kumar Prusty <[email protected]> Co-authored-by: akshatsinha007 <[email protected]> Co-authored-by: akshatsinha007 <[email protected]> * vendor update on rc --------- Co-authored-by: Shivam Nagar <[email protected]> Co-authored-by: systemsdt <[email protected]> Co-authored-by: Badal Kumar <[email protected]> Co-authored-by: Badal Kumar Prusty <[email protected]> Co-authored-by: akshatsinha007 <[email protected]> Co-authored-by: akshatsinha007 <[email protected]> --------- Co-authored-by: Prakash Kumar <[email protected]> Co-authored-by: prakhar katiyar <[email protected]> Co-authored-by: kartik-579 <[email protected]> Co-authored-by: kartik-579 <[email protected]> Co-authored-by: Shivam Nagar <[email protected]> Co-authored-by: Asutosh Das <[email protected]> Co-authored-by: systemsdt <[email protected]> Co-authored-by: Badal Kumar <[email protected]> Co-authored-by: Badal Kumar Prusty <[email protected]> Co-authored-by: akshatsinha007 <[email protected]> Co-authored-by: akshatsinha007 <[email protected]>
1 parent 1e32763 commit 268c1e4

File tree

5,715 files changed

+790809
-281874
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,715 files changed

+790809
-281874
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.21 AS build-env
1+
FROM golang:1.24.0 AS build-env
22

33
RUN echo $GOPATH && \
44
apt update && \

DockerfileEA

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.21 AS build-env
1+
FROM golang:1.24.0 AS build-env
22

33
RUN echo $GOPATH && \
44
apt update && \

client/argocdServer/ArgoClientWrapperService.go

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ import (
5151
)
5252

5353
type ACDConfig struct {
54-
ArgoCDAutoSyncEnabled bool `env:"ARGO_AUTO_SYNC_ENABLED" envDefault:"true" description:"If enabled all argocd application will have auto sync enabled"` // will gradually switch this flag to false in enterprise
55-
RegisterRepoMaxRetryCount int `env:"ARGO_REPO_REGISTER_RETRY_COUNT" envDefault:"3" description:"Argo app registration in argo retries on deployment"`
56-
RegisterRepoMaxRetryDelay int `env:"ARGO_REPO_REGISTER_RETRY_DELAY" envDefault:"10" description:"Argo app registration in argo cd on deployment delay between retry"`
54+
ArgoCDAutoSyncEnabled bool `env:"ARGO_AUTO_SYNC_ENABLED" envDefault:"true" description:"If enabled all argocd application will have auto sync enabled" example:"true" deprecated:"false"` // will gradually switch this flag to false in enterprise
55+
RegisterRepoMaxRetryCount int `env:"ARGO_REPO_REGISTER_RETRY_COUNT" envDefault:"4" description:"Retry count for registering a GitOps repository to ArgoCD" example:"3" deprecated:"false"`
56+
RegisterRepoMaxRetryDelay int `env:"ARGO_REPO_REGISTER_RETRY_DELAY" envDefault:"5" description:"Delay (in Seconds) between the retries for registering a GitOps repository to ArgoCD" example:"5" deprecated:"false"`
5757
}
5858

5959
func (config *ACDConfig) IsManualSyncEnabled() bool {
@@ -105,7 +105,7 @@ type ApplicationClientWrapper interface {
105105
// IsArgoAppPatchRequired decides weather the v1alpha1.ApplicationSource requires to be updated
106106
IsArgoAppPatchRequired(argoAppSpec *v1alpha1.ApplicationSource, currentGitRepoUrl, currentTargetRevision, currentChartPath string) bool
107107

108-
// GetGitOpsRepoName returns the GitOps repository name, configured for the argoCd app
108+
// GetGitOpsRepoNameForApplication returns the GitOps repository name, configured for the argoCd app
109109
GetGitOpsRepoNameForApplication(ctx context.Context, appName string) (gitOpsRepoName string, err error)
110110

111111
GetGitOpsRepoURLForApplication(ctx context.Context, appName string) (gitOpsRepoURL string, err error)
@@ -127,6 +127,7 @@ type RepoCredsClientWrapper interface {
127127
type CertificateClientWrapper interface {
128128
CreateCertificate(ctx context.Context, query *certificate.RepositoryCertificateCreateRequest) (*v1alpha1.RepositoryCertificateList, error)
129129
DeleteCertificate(ctx context.Context, query *certificate.RepositoryCertificateQuery, opts ...grpc.CallOption) (*v1alpha1.RepositoryCertificateList, error)
130+
CertificateClientWrapperEnt
130131
}
131132

132133
type ClusterClientWrapper interface {
@@ -147,7 +148,7 @@ type ArgoClientWrapperServiceImpl struct {
147148
repositoryService repository.ServiceClient
148149
clusterClient cluster.ServiceClient
149150
repoCredsClient repocreds2.ServiceClient
150-
CertificateClient certificate2.ServiceClient
151+
certificateClient certificate2.ServiceClient
151152
logger *zap.SugaredLogger
152153
ACDConfig *ACDConfig
153154
gitOpsConfigReadService config.GitOpsConfigReadService
@@ -176,7 +177,7 @@ func NewArgoClientWrapperServiceImpl(
176177
repositoryService: repositoryService,
177178
clusterClient: clusterClient,
178179
repoCredsClient: repocredsClient,
179-
CertificateClient: CertificateClient,
180+
certificateClient: CertificateClient,
180181
logger: logger,
181182
ACDConfig: ACDConfig,
182183
gitOpsConfigReadService: gitOpsConfigReadService,
@@ -521,7 +522,7 @@ func (impl *ArgoClientWrapperServiceImpl) createRepoInArgoCd(ctx context.Context
521522
}
522523
repo, err := impl.repositoryService.Create(ctx, grpcConfig, &repository2.RepoCreateRequest{Repo: repo, Upsert: true})
523524
if err != nil {
524-
impl.logger.Errorw("error in creating argo Repository", "err", err)
525+
impl.logger.Errorw("error in creating argo Repository", "url", gitOpsRepoUrl, "err", err)
525526
return err
526527
}
527528
return nil
@@ -530,7 +531,8 @@ func (impl *ArgoClientWrapperServiceImpl) createRepoInArgoCd(ctx context.Context
530531
// isRetryableArgoRepoCreationError returns whether to retry or not, based on the error returned from callback func
531532
// In createRepoInArgoCd, we will retry only if the error matches to bean.ArgoRepoSyncDelayErr
532533
func (impl *ArgoClientWrapperServiceImpl) isRetryableArgoRepoCreationError(argoCdErr error) bool {
533-
return strings.Contains(argoCdErr.Error(), bean.ArgoRepoSyncDelayErr)
534+
return strings.Contains(argoCdErr.Error(), bean.ArgoRepoSyncDelayErr) ||
535+
strings.Contains(argoCdErr.Error(), bean.ArgoRepoSyncDelayErrOld)
534536
}
535537

536538
// handleArgoRepoCreationError - manages the error thrown while performing createRepoInArgoCd
@@ -543,15 +545,18 @@ func (impl *ArgoClientWrapperServiceImpl) handleArgoRepoCreationError(ctx contex
543545
}
544546
}
545547
if isEmptyRepoError {
546-
// - found empty repository, create some file in repository
548+
impl.logger.Infow("handling for empty repo", "url", gitOpsRepoUrl)
549+
// - found empty repository (there is no origin/HEAD)
550+
// - create new commit on HEAD (default branch) with a README file
551+
// - then register the repository in ArgoCD
547552
gitOpsRepoName := impl.gitOpsConfigReadService.GetGitOpsRepoNameFromUrl(gitOpsRepoUrl)
548-
err := impl.gitOperationService.CreateReadmeInGitRepo(ctx, gitOpsRepoName, targetRevision, userId)
553+
err := impl.gitOperationService.CreateFirstCommitOnHead(ctx, gitOpsRepoName, userId)
549554
if err != nil {
550555
impl.logger.Errorw("error in creating file in git repo", "err", err)
551556
return err
552557
}
553558
}
554-
// try to register with after creating readme file
559+
// try to register with after commiting a file to origin/HEAD
555560
return impl.createRepoInArgoCd(ctx, grpcConfig, gitOpsRepoUrl)
556561
}
557562

@@ -586,13 +591,13 @@ func (impl *ArgoClientWrapperServiceImpl) CreateCertificate(ctx context.Context,
586591
if err != nil {
587592
return nil, err
588593
}
589-
return impl.CertificateClient.CreateCertificate(ctx, grpcConfig, query)
594+
return impl.certificateClient.CreateCertificate(ctx, grpcConfig, query)
590595
}
591596

592597
func (impl *ArgoClientWrapperServiceImpl) DeleteCertificate(ctx context.Context, query *certificate.RepositoryCertificateQuery, opts ...grpc.CallOption) (*v1alpha1.RepositoryCertificateList, error) {
593598
grpcConfig, err := impl.acdConfigGetter.GetGRPCConfig()
594599
if err != nil {
595600
return nil, err
596601
}
597-
return impl.CertificateClient.DeleteCertificate(ctx, grpcConfig, query, opts...)
602+
return impl.certificateClient.DeleteCertificate(ctx, grpcConfig, query, opts...)
598603
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright (c) 2024. Devtron Inc.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package argocdServer
18+
19+
type CertificateClientWrapperEnt interface {
20+
}

client/argocdServer/bean/bean.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ const RegisterRepoMaxRetryCount = 3
4646
var EmptyRepoErrorList = []string{"failed to get index: 404 Not Found", "remote repository is empty"}
4747

4848
// ArgoRepoSyncDelayErr - This error occurs inconsistently; ArgoCD requires 80-120s after last commit for create repository operation
49-
const ArgoRepoSyncDelayErr = "Unable to resolve 'HEAD' to a commit SHA"
49+
// Error message reference: https://github.com/argoproj/argo-cd/blob/master/util/git/client.go#L718
50+
const ArgoRepoSyncDelayErr = "unable to resolve 'HEAD' to a commit SHA" // argocd version <= v2.13.0
51+
const ArgoRepoSyncDelayErrOld = "Unable to resolve 'HEAD' to a commit SHA" // argocd version > v2.13.0
5052

5153
const (
5254
Degraded = "Degraded"

client/argocdServer/k8sClient.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,6 @@ func (impl ArgoK8sClientImpl) DeleteArgoApplication(ctx context.Context, k8sConf
227227
patchType := types.MergePatchType
228228
patchJSON := ""
229229

230-
//TODO: ayush test cascade delete
231230
if cascadeDelete {
232231
patchJSON = `{"metadata": {"finalizers": ["resources-finalizer.argocd.argoproj.io"]}}`
233232
} else {

client/telemetry/TelemetryEventClient.go

Lines changed: 1 addition & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,8 @@ import (
2424
"fmt"
2525
cloudProviderIdentifier "github.com/devtron-labs/common-lib/cloud-provider-identifier"
2626
posthogTelemetry "github.com/devtron-labs/common-lib/telemetry"
27-
"github.com/devtron-labs/common-lib/utils/k8s/commonBean"
2827
"github.com/devtron-labs/devtron/api/helm-app/gRPC"
2928
installedAppReader "github.com/devtron-labs/devtron/pkg/appStore/installedApp/read"
30-
bean2 "github.com/devtron-labs/devtron/pkg/attributes/bean"
31-
"github.com/devtron-labs/devtron/pkg/auth/user/bean"
32-
bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean"
3329
module2 "github.com/devtron-labs/devtron/pkg/module/bean"
3430
ucidService "github.com/devtron-labs/devtron/pkg/ucid"
3531
cron3 "github.com/devtron-labs/devtron/util/cron"
@@ -49,9 +45,7 @@ import (
4945
"github.com/go-pg/pg"
5046
"github.com/posthog/posthog-go"
5147
"github.com/robfig/cron/v3"
52-
"github.com/tidwall/gjson"
5348
"go.uber.org/zap"
54-
"k8s.io/apimachinery/pkg/version"
5549
)
5650

5751
type TelemetryEventClientImpl struct {
@@ -154,115 +148,6 @@ func (impl *TelemetryEventClientImpl) StopCron() {
154148
impl.cron.Stop()
155149
}
156150

157-
func (impl *TelemetryEventClientImpl) SummaryDetailsForTelemetry() (cluster []bean3.ClusterBean, user []bean.UserInfo,
158-
k8sServerVersion *version.Info, hostURL bool, ssoSetup bool, HelmAppAccessCount string, ChartStoreVisitCount string,
159-
SkippedOnboarding bool, HelmAppUpdateCounter string, helmChartSuccessfulDeploymentCount int, ExternalHelmAppClusterCount map[int32]int) {
160-
161-
discoveryClient, err := impl.K8sUtil.GetK8sDiscoveryClientInCluster()
162-
if err != nil {
163-
impl.logger.Errorw("exception caught inside telemetry summary event", "err", err)
164-
return
165-
}
166-
k8sServerVersion, err = discoveryClient.ServerVersion()
167-
if err != nil {
168-
impl.logger.Errorw("exception caught inside telemetry summary event", "err", err)
169-
return
170-
}
171-
172-
users, err := impl.userService.GetAll()
173-
if err != nil && err != pg.ErrNoRows {
174-
impl.logger.Errorw("exception caught inside telemetry summery event", "err", err)
175-
return
176-
}
177-
178-
clusters, err := impl.clusterService.FindAllActive()
179-
180-
if err != nil && err != pg.ErrNoRows {
181-
impl.logger.Errorw("exception caught inside telemetry summary event", "err", err)
182-
return
183-
}
184-
185-
hostURL = false
186-
187-
attribute, err := impl.attributeRepo.FindByKey(bean2.HostUrlKey)
188-
if err == nil && attribute.Id > 0 {
189-
hostURL = true
190-
}
191-
192-
attribute, err = impl.attributeRepo.FindByKey("HelmAppAccessCounter")
193-
194-
if err == nil {
195-
HelmAppAccessCount = attribute.Value
196-
}
197-
198-
attribute, err = impl.attributeRepo.FindByKey("ChartStoreVisitCount")
199-
200-
if err == nil {
201-
ChartStoreVisitCount = attribute.Value
202-
}
203-
204-
attribute, err = impl.attributeRepo.FindByKey("HelmAppUpdateCounter")
205-
206-
if err == nil {
207-
HelmAppUpdateCounter = attribute.Value
208-
}
209-
210-
helmChartSuccessfulDeploymentCount, err = impl.installedAppReadService.GetDeploymentSuccessfulStatusCountForTelemetry()
211-
212-
//externalHelmCount := make(map[int32]int)
213-
ExternalHelmAppClusterCount = make(map[int32]int)
214-
215-
for _, clusterDetail := range clusters {
216-
req := &gRPC.AppListRequest{}
217-
config := &gRPC.ClusterConfig{
218-
ApiServerUrl: clusterDetail.ServerUrl,
219-
Token: clusterDetail.Config[commonBean.BearerToken],
220-
ClusterId: int32(clusterDetail.Id),
221-
ClusterName: clusterDetail.ClusterName,
222-
InsecureSkipTLSVerify: clusterDetail.InsecureSkipTLSVerify,
223-
}
224-
225-
if clusterDetail.InsecureSkipTLSVerify == false {
226-
config.KeyData = clusterDetail.Config[commonBean.TlsKey]
227-
config.CertData = clusterDetail.Config[commonBean.CertData]
228-
config.CaData = clusterDetail.Config[commonBean.CertificateAuthorityData]
229-
}
230-
req.Clusters = append(req.Clusters, config)
231-
applicationStream, err := impl.helmAppClient.ListApplication(context.Background(), req)
232-
if err == nil {
233-
clusterList, err1 := applicationStream.Recv()
234-
if err1 != nil {
235-
impl.logger.Errorw("error in list helm applications streams recv", "err", err)
236-
}
237-
if err1 != nil && clusterList != nil && !clusterList.Errored {
238-
ExternalHelmAppClusterCount[clusterList.ClusterId] = len(clusterList.DeployedAppDetail)
239-
}
240-
} else {
241-
impl.logger.Errorw("error while fetching list application from kubelink", "err", err)
242-
}
243-
}
244-
245-
//getting userData from emailId
246-
userData, err := impl.userAttributesRepository.GetUserDataByEmailId(AdminEmailIdConst)
247-
248-
SkippedOnboardingValue := gjson.Get(userData, SkippedOnboardingConst).Str
249-
250-
if SkippedOnboardingValue == "true" {
251-
SkippedOnboarding = true
252-
} else {
253-
SkippedOnboarding = false
254-
}
255-
256-
ssoSetup = false
257-
258-
ssoConfig, err := impl.ssoLoginService.GetAll()
259-
if err == nil && len(ssoConfig) > 0 {
260-
ssoSetup = true
261-
}
262-
263-
return clusters, users, k8sServerVersion, hostURL, ssoSetup, HelmAppAccessCount, ChartStoreVisitCount, SkippedOnboarding, HelmAppUpdateCounter, helmChartSuccessfulDeploymentCount, ExternalHelmAppClusterCount
264-
}
265-
266151
// New methods for collecting additional telemetry metrics
267152

268153
func (impl *TelemetryEventClientImpl) SummaryEventForTelemetryEA() {
@@ -291,7 +176,7 @@ func (impl *TelemetryEventClientImpl) SendSummaryEvent(eventType string) error {
291176
return err
292177
}
293178

294-
clusters, users, k8sServerVersion, hostURL, ssoSetup, HelmAppAccessCount, ChartStoreVisitCount, SkippedOnboarding, HelmAppUpdateCounter, helmChartSuccessfulDeploymentCount, ExternalHelmAppClusterCount := impl.SummaryDetailsForTelemetry()
179+
clusters, users, k8sServerVersion, hostURL, ssoSetup, HelmAppAccessCount, ChartStoreVisitCount, SkippedOnboarding, HelmAppUpdateCounter, helmChartSuccessfulDeploymentCount, ExternalHelmAppClusterCount := impl.GetSummaryDetailsForTelemetry()
295180

296181
payload := &TelemetryEventEA{UCID: ucid, Timestamp: time.Now(), EventType: TelemetryEventType(eventType), DevtronVersion: "v1"}
297182
payload.ServerVersion = k8sServerVersion.String()

client/telemetry/TelemetryEventClientExtended.go

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ func (impl *TelemetryEventClientImplExtended) SendSummaryEvent(eventType string)
182182
return err
183183
}
184184

185-
clusters, users, k8sServerVersion, hostURL, ssoSetup, HelmAppAccessCount, ChartStoreVisitCount, SkippedOnboarding, HelmAppUpdateCounter, HelmChartSuccessfulDeploymentCount, ExternalHelmAppClusterCount := impl.SummaryDetailsForTelemetry()
185+
clusters, users, k8sServerVersion, hostURL, ssoSetup, HelmAppAccessCount, ChartStoreVisitCount, SkippedOnboarding, HelmAppUpdateCounter, HelmChartSuccessfulDeploymentCount, ExternalHelmAppClusterCount := impl.GetSummaryDetailsForTelemetry()
186186
payload := &TelemetryEventDto{UCID: ucid, Timestamp: time.Now(), EventType: TelemetryEventType(eventType), DevtronVersion: "v1"}
187187
payload.ServerVersion = k8sServerVersion.String()
188188

@@ -345,12 +345,39 @@ func (impl *TelemetryEventClientImplExtended) SendSummaryEvent(eventType string)
345345
payload.JobPipelineTriggeredLast24h = impl.getJobPipelineTriggeredLast24h()
346346
payload.JobPipelineSucceededLast24h = impl.getJobPipelineSucceededLast24h()
347347
payload.UserCreatedPluginCount = impl.getUserCreatedPluginCount()
348-
payload.PolicyCount = impl.getPolicyCount()
348+
payload.DeploymentWindowPolicyCount = impl.getDeploymentWindowPolicyCount()
349+
payload.ApprovalPolicyCount = impl.getApprovalPolicyCount()
350+
payload.PluginPolicyCount = impl.getPluginPolicyCount()
351+
payload.TagsPolicyCount = impl.getTagsPolicyCount()
352+
payload.FilterConditionPolicyCount = impl.getFilterConditionPolicyCount()
353+
payload.LockDeploymentConfigurationPolicyCount = impl.getLockDeploymentConfigurationPolicyCount()
349354
payload.AppliedPolicyRowCount = impl.getAppliedPolicyRowCount()
350355
payload.PhysicalClusterCount, payload.IsolatedClusterCount = impl.getClusterCounts()
351356
payload.ActiveUsersLast30Days = impl.getActiveUsersLast30Days()
352357
payload.GitOpsPipelineCount = impl.getGitOpsPipelineCount()
353358
payload.HelmPipelineCount = impl.helmPipelineCount()
359+
payload.ProjectsWithZeroAppsCount = impl.getProjectsWithZeroAppsCount()
360+
payload.AppsWithPropagationTagsCount = impl.getAppsWithPropagationTagsCount()
361+
payload.AppsWithNonPropagationTagsCount = impl.getAppsWithNonPropagationTagsCount()
362+
payload.AppsWithDescriptionCount = impl.getAppsWithDescriptionCount()
363+
payload.AppsWithCatalogDataCount = impl.getAppsWithCatalogDataCount()
364+
payload.AppsWithReadmeDataCount = impl.getAppsWithReadmeDataCount()
365+
payload.HighestEnvironmentCountInApp = impl.getHighestEnvironmentCountInApp()
366+
payload.HighestAppCountInEnvironment = impl.getHighestAppCountInEnvironment()
367+
payload.HighestWorkflowCountInApp = impl.getHighestWorkflowCountInApp()
368+
payload.HighestEnvironmentCountInWorkflow = impl.getHighestEnvironmentCountInWorkflow()
369+
payload.HighestGitRepoCountInApp = impl.getHighestGitRepoCountInApp()
370+
payload.AppsWithIncludeExcludeFilesCount = impl.getAppsWithIncludeExcludeFilesCount()
371+
payload.DockerfileLanguagesList = impl.getDockerfileLanguagesList()
372+
payload.BuildpackLanguagesList = impl.getBuildpackLanguagesList()
373+
payload.AppsWithDeploymentChartCount = impl.getAppsWithDeploymentChartCount()
374+
payload.AppsWithRolloutChartCount = impl.getAppsWithRolloutChartCount()
375+
payload.AppsWithStatefulsetCount = impl.getAppsWithStatefulsetCount()
376+
payload.AppsWithJobsCronjobsCount = impl.getAppsWithJobsCronjobsCount()
377+
payload.EnvironmentsWithPatchStrategyCount = impl.getEnvironmentsWithPatchStrategyCount()
378+
payload.EnvironmentsWithReplaceStrategyCount = impl.getEnvironmentsWithReplaceStrategyCount()
379+
payload.ExternalConfigMapCount = impl.getExternalConfigMapCount()
380+
payload.InternalConfigMapCount = impl.getInternalConfigMapCount()
354381

355382
payload.ClusterProvider, err = impl.GetCloudProvider()
356383
if err != nil {

0 commit comments

Comments
 (0)