Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
13b443b
addition of finops module
kamal-devtron Dec 23, 2025
f78e5a6
added files for finops
kamal-devtron Dec 23, 2025
8fc04f6
remove few files
kamal-devtron Dec 23, 2025
043473b
changes in values.yaml
kamal-devtron Dec 23, 2025
d197e5b
changes in template
kamal-devtron Dec 23, 2025
ff2225e
changes in bom file
kamal-devtron Dec 23, 2025
9bf10c9
changes
kamal-devtron Dec 23, 2025
08ddeb0
added hook
kamal-devtron Dec 23, 2025
a3d8436
changes
kamal-devtron Dec 23, 2025
78f46b3
changes
kamal-devtron Dec 23, 2025
b6bbacb
changes
kamal-devtron Dec 23, 2025
b3a89a5
post hook
kamal-devtron Dec 23, 2025
b83721c
post hook
kamal-devtron Dec 23, 2025
f6de14b
post hook
kamal-devtron Dec 23, 2025
5318f1d
changes in files
kamal-devtron Dec 24, 2025
0132adf
pre-upgrade added
kamal-devtron Dec 24, 2025
8a32b72
pre-upgrade added
kamal-devtron Dec 24, 2025
d70254d
handle create ns
kamal-devtron Dec 24, 2025
244a1d7
handle create ns
kamal-devtron Dec 24, 2025
a9449c7
handle create ns
kamal-devtron Dec 24, 2025
3b3c267
handle create ns
kamal-devtron Dec 24, 2025
c3e0ab5
handle create ns
kamal-devtron Dec 24, 2025
ffbde0e
changes in namespace
kamal-devtron Dec 24, 2025
43e926a
changes in namespace
kamal-devtron Dec 24, 2025
9996024
removed timescale-db namespace
kamal-devtron Dec 24, 2025
cb9223d
switched the timescale related configs to values.yaml driven
akshatsinha007 Dec 24, 2025
04f7ce3
Resolved timescale crds issue
kamal-devtron Dec 24, 2025
e8bbded
Resolved timescale crds labels issue
kamal-devtron Dec 24, 2025
638de7c
Resolved timescale crds labels issue
kamal-devtron Dec 24, 2025
a2fc29e
Added timescale config changes
kamal-devtron Dec 25, 2025
3061a4b
Devtron 2.0 Configurations
kamal-devtron Dec 25, 2025
842c6cb
changes in values
kamal-devtron Dec 26, 2025
14715ef
Merge remote-tracking branch 'origin-ssh/main' into HEAD
kamal-devtron Dec 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions charts/devtron/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ version: 0.22.98
sources:
- https://github.com/devtron-labs/charts
dependencies:
- name: cloudnative-pg
version: 0.26.0
repository: https://cloudnative-pg.io/charts
condition: devtronEnterprise.finops.enabled
- name: argo-cd
version: "7.7.15"
repository: https://argoproj.github.io/argo-helm
Expand Down
18,383 changes: 18,383 additions & 0 deletions charts/devtron/crds/cloudnative-pg.yaml

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions charts/devtron/devtron-bom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,14 @@ monitoring:
imagePullPolicy: IfNotPresent
devtronEnterprise:
enabled: false
finops:
enabled: false
costSync:
image: ""
schedule: "* 2 * * *"
timeZone: UTC
timescale:
volumeSize: 5Gi
casbin:
registry: ""
image: "casbin:f6ff5f74-064b67e5-462-30822"
Expand Down
2 changes: 1 addition & 1 deletion charts/devtron/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{{- $liveCm := lookup "v1" "ConfigMap" "devtroncd" "devtron-custom-cm" }}
{{- $currentValue := pluck "POSTGRES_MIGRATED" $liveCm.data | first | default "" }}
{{- if ne $currentValue "14" }}
{{- fail "Upgrade Failed Please ensure that you have completed the pre-requisites mentioned in https://docs.devtron.ai/upgrade/devtron-upgrade-1.5.0" }}
{{- fail "Upgrade Failed Please ensure that you have completed the pre-requisites mentioned in https://docs.devtron.ai/docs/devtron/v1.7/setup/upgrade/devtron-upgrade-1.5.0" }}
{{- end }}
{{- end }}

Expand Down
2 changes: 1 addition & 1 deletion charts/devtron/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,4 @@ securityContext:
securityContext:
{{ toYaml .global.containerSecurityContext | indent 2 }}
{{- end }}
{{- end }}
{{- end }}
37 changes: 37 additions & 0 deletions charts/devtron/templates/configmap-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
{{- $DEX_CSTOREKEY := include "getOrGeneratePass" (dict "Namespace" "devtroncd" "Kind" "Secret" "Name" "devtron-secret" "Key" "DEX_CSTOREKEY") }}
{{- $postgresPwd := include "getOrGeneratePass" (dict "Namespace" "devtroncd" "Kind" "Secret" "Name" "postgresql-postgresql" "Key" "postgresql-password") }}
{{- $WEBHOOK_TOKEN := include "getOrGeneratePass" (dict "Namespace" "devtroncd" "Kind" "Secret" "Name" "devtron-secret" "Key" "WEBHOOK_TOKEN") }}
{{- $TIMESCALE_PASSWORD := include "getOrGeneratePass" (dict "Namespace" "devtroncd" "Kind" "Secret" "Name" "timescaledb-cluster-pg15-superuser" "Key" "password") }}

{{- if $.Values.installer.modules }}
{{- if has "cicd" $.Values.installer.modules }}
apiVersion: v1
Expand Down Expand Up @@ -268,6 +270,7 @@ data:
DEX_SECRET: {{ $DEX_SECRET }}
DEX_JWTKEY: {{ $DEX_JWTKEY }}
DEX_CSTOREKEY: {{ $DEX_CSTOREKEY }}
TIMESCALE_PASSWORD: {{ $TIMESCALE_PASSWORD }}
{{- end }}
{{- end }}
type: Opaque
Expand Down Expand Up @@ -401,5 +404,39 @@ metadata:
namespace: devtroncd
annotations:
"helm.sh/hook": pre-install

---
{{- if .Values.devtronEnterprise.finops.enabled}}
apiVersion: v1
kind: Secret
data:
username: {{ "postgres" | b64enc }}
password: {{ $TIMESCALE_PASSWORD }}
metadata:
name: timescaledb-cluster-pg15-superuser
namespace: devtroncd
type: kubernetes.io/basic-auth
---
apiVersion: v1
data:
JOB_INTERVAL_MINUTES: "60"
LOG_LEVEL: info
MAX_INTERVALS_PER_RUN: "6"
PG_ADDR: {{$.Values.global.dbConfig.PG_ADDR}}
PG_DATABASE: {{$.Values.global.dbConfig.PG_DATABASE}}
PG_USER: {{$.Values.global.dbConfig.PG_USER}}
PROMETHEUS_DELAY_MINUTES: "5"
TIMESCALE_ADDR: timescaledb-cluster-pg15-rw.devtroncd
TIMESCALE_DATABASE: finops
TIMESCALE_HOST: timescaledb-cluster-pg15-rw.devtroncd
TIMESCALE_NAME: finops
TIMESCALE_PORT: "5432"
TIMESCALE_SSL_MODE: disable
TIMESCALE_USER: postgres
kind: ConfigMap
metadata:
name: cost-sync-cm
namespace: devtroncd
{{- end}}
{{- end }}
{{- end }}
48 changes: 48 additions & 0 deletions charts/devtron/templates/cost-sync-job.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{{- if .Values.devtronEnterprise.finops.enabled }}
{{- if $.Capabilities.APIVersions.Has "batch/v1/Job" }}
apiVersion: batch/v1
{{- else }}
apiVersion: batch/v1beta1
{{- end }}
kind: CronJob
metadata:
name: cost-sync-job
namespace: devtroncd
spec:
concurrencyPolicy: Allow
failedJobsHistoryLimit: 1
jobTemplate:
spec:
serviceAccountName: devtron-default-sa
activeDeadlineSeconds: 3600
template:
metadata:
labels:
app: cost-sync-job
spec:
{{- include "common.schedulerConfig" (dict "nodeSelector" $.Values.devtronEnterprise.finops.nodeSelector "tolerations" $.Values.devtronEnterprise.finops.tolerations "imagePullSecrets" $.Values.devtronEnterprise.finops.imagePullSecrets "global" $.Values.global) | indent 4 }}
{{- include "common.podSecurityContext" (dict "podSecurityContext" $.Values.devtronEnterprise.finops.podSecurityContext "global" $.Values.global) | indent 10 }}
restartPolicy: OnFailure
containers:
- envFrom:
- configMapRef:
name: devtron-common-cm
- configMapRef:
name: cost-sync-cm
- secretRef:
name: devtron-secret
image: {{ $.Values.devtronEnterprise.finops.costSync.image }}
imagePullPolicy: IfNotPresent
name: cost-sync-job
ports:
- containerPort: 8080
name: app
protocol: TCP
resources: {}
terminationGracePeriodSeconds: 30
schedule: {{ $.Values.devtronEnterprise.finops.costSync.schedule | quote }}
startingDeadlineSeconds: 100
successfulJobsHistoryLimit: 3
suspend: false
timeZone: {{ $.Values.devtronEnterprise.finops.costSync.timeZone }}
{{- end }}
3 changes: 3 additions & 0 deletions charts/devtron/templates/dashboard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ data:
GATEKEEPER_URL: "https://license.devtron.ai/dashboard"
{{- end }}
{{- if .config }}
FEATURE_STORAGE_ENABLE: "true"
FEATURE_RESOURCE_WATCHER_ENABLE: "true"
FEATURE_SOFTWARE_DISTRIBUTION_HUB_ENABLE: "true"
GA_ENABLED: {{ .config.analytics | default "false" | quote }}
HOTJAR_ENABLED: {{ .config.hotjar | default "false" | quote }}
SENTRY_ENABLED: {{ .config.sentry | default "false" | quote }}
Expand Down
4 changes: 4 additions & 0 deletions charts/devtron/templates/devtron-scc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,11 @@ users:
- system:serviceaccount:devtron-cd:cd-runner
- system:serviceaccount:devtroncd:chart-sync
- system:serviceaccount:devtroncd:devtron-default-sa
- system:serviceaccount:devtroncd:devtron-cloudnative-pg
- system:serviceaccount:devtroncd:timescaledb-cluster-pg15
volumes:
- '*'
{{- end }}
{{- end }}


3 changes: 3 additions & 0 deletions charts/devtron/templates/devtron.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ metadata:
annotations:
"helm.sh/resource-policy": keep
data:
TIMESCALE_ADDR: timescaledb-cluster-pg15-r.devtroncd
TIMESCALE_DATABASE: finops
TIMESCALE_USER: postgres
DEVTRON_HELM_RELEASE_NAME: {{ $.Release.Name }}
DEVTRON_HELM_RELEASE_NAMESPACE: {{ $.Release.Namespace }}
FEATURE_MIGRATE_ARGOCD_APPLICATION_ENABLE: "true"
Expand Down
66 changes: 66 additions & 0 deletions charts/devtron/templates/timescale-db.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{{- if .Values.devtronEnterprise.finops.enabled }}
apiVersion: postgresql.cnpg.io/v1
kind: ImageCatalog
metadata:
name: cloudnative-pg-timescaledb-pg15
namespace: devtroncd
spec:
images:
- image: timescale/timescaledb-ha:pg15-ts2.18-all
major: 15
---
apiVersion: v1
data:
init-schema.sql: |
CREATE EXTENSION IF NOT EXISTS timescaledb;
kind: ConfigMap
metadata:
name: init-schema
namespace: devtroncd
---
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: timescaledb-cluster-pg15
namespace: devtroncd
labels:
app: timescale-db
spec:
affinity:
{{- include "common.schedulerConfig" (dict "nodeSelector" $.Values.devtronEnterprise.finops.nodeSelector "tolerations" $.Values.devtronEnterprise.finops.tolerations "imagePullSecrets" $.Values.devtronEnterprise.finops.imagePullSecrets "global" $.Values.global) | indent 4 }}
bootstrap:
initdb:
database: finops
owner: postgres
postInitApplicationSQLRefs:
configMapRefs:
- key: init-schema.sql
name: init-schema
secret:
name: timescaledb-cluster-pg15-superuser
enableSuperuserAccess: true
imageCatalogRef:
apiGroup: postgresql.cnpg.io
kind: ImageCatalog
major: 15
name: cloudnative-pg-timescaledb-pg15
instances: 1
postgresGID: 1000
postgresUID: 1000
postgresql:
parameters:
max_wal_senders: "3"
max_wal_size: 1GB
wal_level: replica
pg_hba:
- host all all all scram-sha-256
shared_preload_libraries:
- timescaledb
{{- if $.Values.devtronEnterprise.finops.timescale.resources }}
resources:
{{- toYaml $.Values.devtronEnterprise.finops.timescale.resources | nindent 4 }}
{{- end }}
storage:
size: {{ $.Values.devtronEnterprise.finops.timescale.volumeSize }}
storageClass: {{ $.Values.global.storageClass }}
{{- end }}
16 changes: 13 additions & 3 deletions charts/devtron/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ global:
# effect: "NoSchedule"
# imagePullSecrets:
# - name: your-image-pull-secret
nodeSelector: {}
tolerations: []
imagePullSecrets: []
# nodeSelector: {}
# tolerations: []
# imagePullSecrets: []
# Set the storage class to be used for PVCs (would use default sc if not specified)
storageClass: ""
# Add Proxy Configs to be propagated to all the Devtron Microservices.
Expand Down Expand Up @@ -178,6 +178,7 @@ components:
imagePullPolicy: IfNotPresent
healthPort: 8080
configs:
VELERO_INFORMER: "false"
devtroncd_NAMESPACE: "devtron-ci"
USE_CUSTOM_HTTP_TRANSPORT: "true"
CLUSTER_ARGO_CD_TYPE: "ALL_CLUSTER"
Expand Down Expand Up @@ -479,9 +480,18 @@ monitoring:
resources: {}
persistence:
storage: "2Gi"

# Change these values for Devtron-Enterprise
devtronEnterprise:
enabled: false
finops:
enabled: false
costSync:
image: ""
schedule: "* 2 * * *"
timeZone: UTC
timescale:
volumeSize: 5Gi
casbin:
registry: ""
image: "casbin:f6ff5f74-064b67e5-462-30822"
Expand Down
Loading