Skip to content

Commit d8a0b4f

Browse files
authored
Merge branch 'develop' into user-attribute-api
2 parents a645721 + 9186fae commit d8a0b4f

File tree

723 files changed

+184639
-2954
lines changed

Some content is hidden

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

723 files changed

+184639
-2954
lines changed

api/restHandler/CoreAppRestHandler.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1847,11 +1847,11 @@ func (handler CoreAppRestHandlerImpl) createEnvDeploymentTemplate(appId int, use
18471847
templateRequest := bean3.TemplateRequest{
18481848
AppId: appId,
18491849
ChartRefId: chartRefId,
1850-
ValuesOverride: []byte("{}"),
1850+
ValuesOverride: util.GetEmptyJSON(),
18511851
UserId: userId,
18521852
IsAppMetricsEnabled: deploymentTemplateOverride.ShowAppMetrics,
18531853
}
1854-
newChartEntry, err := handler.chartService.CreateChartFromEnvOverride(templateRequest, context.Background())
1854+
newChartEntry, err := handler.chartService.CreateChartFromEnvOverride(context.Background(), templateRequest)
18551855
if err != nil {
18561856
handler.logger.Errorw("service err, CreateChartFromEnvOverride", "err", err, "appId", appId, "envId", envId, "chartRefId", chartRefId)
18571857
return err

api/restHandler/app/pipeline/configure/DeploymentPipelineRestHandler.go

+103-163
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright (c) 2020-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 configure
18+
19+
type DevtronAppDeploymentConfigRestHandlerEnt interface {
20+
}

api/restHandler/app/pipeline/configure/PipelineConfigRestHandler.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ import (
3030
read5 "github.com/devtron-labs/devtron/pkg/chart/read"
3131
repository2 "github.com/devtron-labs/devtron/pkg/cluster/environment/repository"
3232
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics"
33-
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate"
3433
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef"
34+
validator2 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/validator"
3535
security2 "github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning"
3636
"github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning/read"
3737
read3 "github.com/devtron-labs/devtron/pkg/team/read"
@@ -108,7 +108,7 @@ type PipelineConfigRestHandlerImpl struct {
108108
ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository
109109
ciHandler pipeline.CiHandler
110110
Logger *zap.SugaredLogger
111-
deploymentTemplateValidationService deploymentTemplate.DeploymentTemplateValidationService
111+
deploymentTemplateValidationService validator2.DeploymentTemplateValidationService
112112
chartService chart.ChartService
113113
devtronAppGitOpConfigService gitOpsConfig.DevtronAppGitOpConfigService
114114
propertiesConfigService pipeline.PropertiesConfigService
@@ -141,7 +141,7 @@ type PipelineConfigRestHandlerImpl struct {
141141
}
142142

143143
func NewPipelineRestHandlerImpl(pipelineBuilder pipeline.PipelineBuilder, Logger *zap.SugaredLogger,
144-
deploymentTemplateValidationService deploymentTemplate.DeploymentTemplateValidationService,
144+
deploymentTemplateValidationService validator2.DeploymentTemplateValidationService,
145145
chartService chart.ChartService,
146146
devtronAppGitOpConfigService gitOpsConfig.DevtronAppGitOpConfigService,
147147
propertiesConfigService pipeline.PropertiesConfigService,

charts/devtron/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords:
1111
- argocd
1212
- Hyperion
1313
engine: gotpl
14-
version: 0.22.87
14+
version: 0.22.88
1515
sources:
1616
- https://github.com/devtron-labs/charts
1717
dependencies:

charts/devtron/templates/configmap-secret.yaml

+9-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,13 @@ metadata:
2929
data:
3030
{{- if $.Values.configs }}
3131
{{ toYaml $.Values.configs | indent 2 }}
32+
{{- end }}
33+
{{- if $.Values.devtronEnterprise.enabled }}
34+
DEVTRON_INSTALLATION_TYPE: "enterprise"
3235
{{- end }}
3336
INSTALLATION_THROUGH_HELM: "True"
3437
DEVTRON_HELM_RELEASE_NAME: {{ $.Release.Name }}
38+
DEVTRON_HELM_RELEASE_NAMESPACE: {{ $.Release.Namespace }}
3539
{{- if and ($.Values.minio.enabled) (not $.Values.configs.BLOB_STORAGE_PROVIDER) }}
3640
BLOB_STORAGE_PROVIDER: "S3"
3741
BLOB_STORAGE_S3_ENDPOINT: "http://devtron-minio.devtroncd:9000"
@@ -302,7 +306,8 @@ metadata:
302306
data:
303307
{{- if $.Values.global.configs }}
304308
{{- toYaml $.Values.global.configs | nindent 2 }}
305-
{{- end }}
309+
{{- end }}
310+
{{- if not $.Values.devtronEnterprise.enabled }}
306311
---
307312
apiVersion: v1
308313
kind: ConfigMap
@@ -317,7 +322,7 @@ data:
317322
{{- if $.Values.global.configs }}
318323
{{- toYaml $.Values.global.configs | nindent 2 }}
319324
{{- end }}
320-
325+
{{- end }}
321326
{{- if $.Values.imagePullSecret }}
322327
{{- if $.Values.imagePullSecret.create }}
323328
---
@@ -356,7 +361,7 @@ metadata:
356361
type: kubernetes.io/dockerconfigjson
357362
data:
358363
.dockerconfigjson: {{ include "imagePullSecret" . }}
359-
364+
{{- if not $.Values.devtronEnterprise.enabled }}
360365
---
361366
apiVersion: v1
362367
kind: Secret
@@ -371,3 +376,4 @@ data:
371376
{{- end }}
372377
{{- end }}
373378
{{- end }}
379+
{{- end }}

charts/devtron/templates/dashboard.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ metadata:
1818
annotations:
1919
"helm.sh/resource-policy": keep
2020
data:
21+
{{- if $.Values.devtronEnterprise.enabled }}
22+
GATEKEEPER_URL: "https://license.devtron.ai/dashboard"
23+
{{- end }}
2124
{{- if .config }}
2225
GA_ENABLED: {{ .config.analytics | default "false" | quote }}
2326
HOTJAR_ENABLED: {{ .config.hotjar | default "false" | quote }}

charts/devtron/templates/devtron-installer.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,15 @@ metadata:
88
name: installer-devtron
99
namespace: devtroncd
1010
spec:
11+
{{- if $.Values.devtronEnterprise.enabled }}
12+
url: https://raw.githubusercontent.com/{{ $.Values.installer.repo }}/refs/tags/devtron-enterprise-{{ $.Values.installer.release }}/charts/devtron-enterprise/installation-script
13+
{{- else }}
1114
{{- if or (eq $.Values.installer.source "gitee") (eq $.Values.installer.source "Gitee")}}
1215
url: https://gitee.com/{{ $.Values.installer.repo }}/raw/{{ $.Values.installer.release }}/manifests/installation-script
1316
{{- else }}
1417
url: https://raw.githubusercontent.com/{{ $.Values.installer.repo }}/{{ $.Values.installer.release }}/manifests/installation-script
1518
{{- end }}
19+
{{- end }}
1620
reSync: true
1721
{{- end }}
1822
{{- end }}

charts/devtron/templates/devtron.yaml

+8-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ data:
1414
DEVTRON_HELM_RELEASE_NAMESPACE: {{ $.Release.Namespace }}
1515
FEATURE_MIGRATE_ARGOCD_APPLICATION_ENABLE: "true"
1616
PG_USER: postgres
17+
{{- if not $.Values.devtronEnterprise.enabled }}
1718
PG_ADDR: postgresql-postgresql.devtroncd
19+
{{- end }}
1820
PG_PORT: "5432"
1921
HELM_CLIENT_URL: kubelink-service:50051
2022
DASHBOARD_PORT: "80"
@@ -28,6 +30,11 @@ data:
2830
{{- end }}
2931
{{- if $.Values.devtronEnterprise.enabled }}
3032
CASBIN_CLIENT_URL: casbin-service.devtroncd:9000
33+
CD_WORKFLOW_EXECUTOR_TYPE: SYSTEM
34+
CI_WORKFLOW_EXECUTOR_TYPE: SYSTEM
35+
DEVTRON_INSTALLATION_TYPE: enterprise
36+
DEVTRON_VERSION_IDENTIFIER_IN_HELM_VALUES: "devtron.installer.release"
37+
DEVTRON_BOM_URL: https://raw.githubusercontent.com/devtron-labs/charts/refs/tags/devtron-enterprise-%s/charts/devtron-enterprise/devtron-bom.yaml
3138
{{- end }}
3239
{{- if $.Values.installer.modules }}
3340
{{- if has "cicd" $.Values.installer.modules }}
@@ -324,4 +331,4 @@ spec:
324331
matchLabels:
325332
app: devtron
326333
{{- end }}
327-
{{- end }}
334+
{{- end }}

charts/devtron/templates/install.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ spec:
101101
envFrom:
102102
- configMapRef:
103103
name: devtron-common-cm
104+
- configMapRef:
105+
name: devtron-operator-cm
104106
{{- if $.Values.installer.resources }}
105107
resources:
106108
{{- toYaml $.Values.installer.resources | nindent 12 }}

charts/devtron/templates/migrator.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -320,10 +320,10 @@ apiVersion: batch/v1beta1
320320
kind: Job
321321
metadata:
322322
namespace: devtroncd
323-
name: postgresql-migrate-enterprise
323+
name: postgresql-migrate-enterprise-{{ randAlphaNum 5 | lower }}
324324
spec:
325325
activeDeadlineSeconds: 1500
326-
ttlSecondsAfterFinished: 600
326+
ttlSecondsAfterFinished: 1000
327327
backoffLimit: 20
328328
completions: 1
329329
parallelism: 1

charts/devtron/templates/workflow.yaml

+23
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if not $.Values.devtronEnterprise.enabled }}
12
apiVersion: v1
23
kind: Namespace
34
metadata:
@@ -7,6 +8,7 @@ metadata:
78
annotations:
89
"helm.sh/hook": pre-install
910
"helm.sh/resource-policy": keep
11+
{{- end }}
1012
---
1113
apiVersion: v1
1214
kind: Namespace
@@ -62,6 +64,7 @@ metadata:
6264
release: devtron
6365
{{- if $.Values.installer.modules }}
6466
{{- if has "cicd" $.Values.installer.modules }}
67+
{{- if not $.Values.devtronEnterprise.enabled }}
6568
---
6669
apiVersion: apiextensions.k8s.io/v1
6770
kind: CustomResourceDefinition
@@ -951,6 +954,7 @@ kind: ServiceAccount
951954
metadata:
952955
name: argo
953956
namespace: argo
957+
{{- end }}
954958
---
955959
apiVersion: v1
956960
kind: ServiceAccount
@@ -981,6 +985,7 @@ imagePullSecrets:
981985
imagePullSecrets:
982986
{{ toYaml .Values.global.imagePullSecrets | indent 2 }}
983987
{{- end }}
988+
{{- if not $.Values.devtronEnterprise.enabled }}
984989
---
985990
apiVersion: rbac.authorization.k8s.io/v1
986991
kind: Role
@@ -1184,12 +1189,28 @@ rules:
11841189
- create
11851190
- get
11861191
- delete
1192+
{{- end }}
11871193
---
11881194
apiVersion: rbac.authorization.k8s.io/v1
11891195
kind: ClusterRole
11901196
metadata:
11911197
name: workflow-cluster-role
11921198
rules:
1199+
- apiGroups:
1200+
- '*'
1201+
resources:
1202+
- deployments
1203+
- pods
1204+
- pods/exec
1205+
verbs:
1206+
- watch
1207+
- patch
1208+
- delete
1209+
- create
1210+
- list
1211+
- get
1212+
- update
1213+
- exec
11931214
- apiGroups:
11941215
- ""
11951216
resources:
@@ -1236,6 +1257,7 @@ subjects:
12361257
- kind: ServiceAccount
12371258
name: devtron
12381259
namespace: devtroncd
1260+
{{- if not $.Values.devtronEnterprise.enabled }}
12391261
---
12401262
apiVersion: rbac.authorization.k8s.io/v1
12411263
kind: ClusterRoleBinding
@@ -1332,3 +1354,4 @@ spec:
13321354
serviceAccountName: argo
13331355
{{- end }}
13341356
{{- end }}
1357+
{{- end }}

client/cron/CiTriggerCron.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"fmt"
2121
"github.com/caarlos0/env"
2222
repository2 "github.com/devtron-labs/devtron/internal/sql/repository"
23+
bean2 "github.com/devtron-labs/devtron/pkg/auth/user/bean"
2324
"github.com/devtron-labs/devtron/pkg/bean"
2425
pipelineConfigBean "github.com/devtron-labs/devtron/pkg/build/pipeline/bean"
2526
"github.com/devtron-labs/devtron/pkg/pipeline"
@@ -98,7 +99,7 @@ func (impl *CiTriggerCronImpl) TriggerCiCron() {
9899
ciTriggerRequest := bean.CiTriggerRequest{
99100
PipelineId: ciPipelineId,
100101
CiPipelineMaterial: ciPipelineMaterials,
101-
TriggeredBy: 1,
102+
TriggeredBy: bean2.SYSTEM_USER_ID,
102103
InvalidateCache: false,
103104
PipelineType: string(pipelineConfigBean.CI_JOB),
104105
}

client/telemetry/TelemetryEventClient.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ type TelemetryEventClientImpl struct {
7878
userAttributesRepository repository.UserAttributesRepository
7979
cloudProviderIdentifierService cloudProviderIdentifier.ProviderIdentifierService
8080
telemetryConfig TelemetryConfig
81+
globalEnvVariables *util.GlobalEnvVariables
8182
}
8283

8384
type TelemetryEventClient interface {
@@ -96,7 +97,9 @@ func NewTelemetryEventClientImpl(logger *zap.SugaredLogger, client *http.Client,
9697
serverDataStore *serverDataStore.ServerDataStore, userAuditService user2.UserAuditService,
9798
helmAppClient gRPC.HelmAppClient,
9899
cloudProviderIdentifierService cloudProviderIdentifier.ProviderIdentifierService, cronLogger *cron3.CronLoggerImpl,
99-
installedAppReadService installedAppReader.InstalledAppReadServiceEA) (*TelemetryEventClientImpl, error) {
100+
installedAppReadService installedAppReader.InstalledAppReadServiceEA,
101+
envVariables *util.EnvironmentVariables,
102+
userAttributesRepository repository.UserAttributesRepository) (*TelemetryEventClientImpl, error) {
100103
cron := cron.New(
101104
cron.WithChain(cron.Recover(cronLogger)))
102105
cron.Start()
@@ -118,6 +121,8 @@ func NewTelemetryEventClientImpl(logger *zap.SugaredLogger, client *http.Client,
118121
installedAppReadService: installedAppReadService,
119122
cloudProviderIdentifierService: cloudProviderIdentifierService,
120123
telemetryConfig: TelemetryConfig{},
124+
globalEnvVariables: envVariables.GlobalEnvVariables,
125+
userAttributesRepository: userAttributesRepository,
121126
}
122127

123128
watcher.HeartbeatEventForTelemetry()
@@ -423,7 +428,7 @@ func (impl *TelemetryEventClientImpl) EnqueueGenericPostHogEvent(ucid string, ev
423428
impl.PosthogClient.Client = client
424429
}
425430
}
426-
if impl.PosthogClient.Client != nil {
431+
if impl.PosthogClient.Client != nil && !impl.globalEnvVariables.IsAirGapEnvironment {
427432
err := impl.PosthogClient.Client.Enqueue(posthog.Capture{
428433
DistinctId: ucid,
429434
Event: eventType,

client/telemetry/TelemetryEventClientExtended.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func NewTelemetryEventClientImplExtended(logger *zap.SugaredLogger, client *http
8484
ciBuildConfigService pipeline.CiBuildConfigService, moduleRepository moduleRepo.ModuleRepository, serverDataStore *serverDataStore.ServerDataStore,
8585
helmAppClient client.HelmAppClient, installedAppReadService installedAppReader.InstalledAppReadService, userAttributesRepository repository.UserAttributesRepository,
8686
cloudProviderIdentifierService cloudProviderIdentifier.ProviderIdentifierService, cronLogger *cron3.CronLoggerImpl,
87-
gitOpsConfigReadService config.GitOpsConfigReadService) (*TelemetryEventClientImplExtended, error) {
87+
gitOpsConfigReadService config.GitOpsConfigReadService, envVariables *util.EnvironmentVariables) (*TelemetryEventClientImplExtended, error) {
8888

8989
cron := cron.New(
9090
cron.WithChain(cron.Recover(cronLogger)))
@@ -123,6 +123,7 @@ func NewTelemetryEventClientImplExtended(logger *zap.SugaredLogger, client *http
123123
userAttributesRepository: userAttributesRepository,
124124
cloudProviderIdentifierService: cloudProviderIdentifierService,
125125
telemetryConfig: TelemetryConfig{},
126+
globalEnvVariables: envVariables.GlobalEnvVariables,
126127
},
127128
}
128129

cmd/external-app/wire.go

-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ import (
9797
func InitializeApp() (*App, error) {
9898
wire.Build(
9999
user.SelfRegistrationWireSet,
100-
101100
sql.PgSqlWireSet,
102101
user.UserWireSet,
103102
sso.SsoConfigWireSet,

cmd/external-app/wire_gen.go

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

env_gen.json

+1-1
Large diffs are not rendered by default.

env_gen.md

+2
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,12 @@
191191
| GRAFANA_USERNAME | string |admin | | | false |
192192
| HIDE_IMAGE_TAGGING_HARD_DELETE | bool |false | | | false |
193193
| IGNORE_AUTOCOMPLETE_AUTH_CHECK | bool |false | | | false |
194+
| INSTALLED_MODULES | | | List of installed modules given in helm values/yaml are written in cm and used by devtron to know which modules are given | security.trivy,security.clair | false |
194195
| INSTALLER_CRD_NAMESPACE | string |devtroncd | | | false |
195196
| INSTALLER_CRD_OBJECT_GROUP_NAME | string |installer.devtron.ai | | | false |
196197
| INSTALLER_CRD_OBJECT_RESOURCE | string |installers | | | false |
197198
| INSTALLER_CRD_OBJECT_VERSION | string |v1alpha1 | | | false |
199+
| IS_AIR_GAP_ENVIRONMENT | bool |false | | | false |
198200
| JwtExpirationTime | int |120 | | | false |
199201
| K8s_CLIENT_MAX_IDLE_CONNS_PER_HOST | int |25 | | | false |
200202
| K8s_TCP_IDLE_CONN_TIMEOUT | int |300 | | | false |

0 commit comments

Comments
 (0)