diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0dc15a5754..87391528dd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,5 @@ #ALL -* @vikramdevtron @kripanshdevtron @nishant-d +* @vikramdevtron @kripanshdevtron @nishant-d @prakarsh-dt #DOCS docs/ @ashokdevtron @uxarya-d @prakarsh-dt @@ -8,6 +8,7 @@ docs/ @ashokdevtron @uxarya-d @prakarsh-dt #Helm Charts charts/devtron/ @prakarsh-dt @pawan-mehta-dt @nishant-d scripts/devtron-reference-helm-charts @prakarsh-dt @pawan-mehta-dt @nishant-d +CHANGELOG/ @prakarsh-dt @pawan-mehta-dt @nishant-d #Migration scripts scripts/sql @prakarsh-dt @vikramdevtron @kripanshdevtron @nishant-d diff --git a/CHANGELOG/release-notes-v0.7.1.md b/CHANGELOG/release-notes-v0.7.1.md new file mode 100644 index 0000000000..8e333d8e67 --- /dev/null +++ b/CHANGELOG/release-notes-v0.7.1.md @@ -0,0 +1,59 @@ +## v0.7.1 + +## Bugs +- fix: EA mode wire fix (#5462) +- fix: compare manifest fixes (#5430) +- fix: override clusterRbac with direct allow behaviour for super admin (#5449) +- fix: external helm app when linked to devtron and page breaks while adding project to it, without switching back to applist (#5443) +- fix: empty the code and image scan script (#5434) +- fix: K8s Resource list RBAC ignore for Superadmin (#5415) +- fix: repo url and name handling with argocd (#5445) +- fix: fix for terminal disconnect issue when custom transport is being used (#5436) +- fix: gitops async failed for git cli mode in concurrent cases (#5412) +- fix: Updating pr-issue-validator-script (#5384) +- fix: optimised FetchLatestDeploymentWithChartRefs query (#5393) +- fix: nats consumer deleted on shutdown (#5377) +- fix: panic issue in get/ download pod logs api (#5342) +- fix: encountering panic in application groups in build and deploy page (#5330) +- fix: chart group rbac issue (#5183) +- fix: Multiple choice option for namespace in Kubernetes resource permission (#5293) +- fix: restart workloads fix in app group (#5313) +- fix: deployment chart fix (#5215) +- fix: docker file version fix (#5299) +- fix: hibernating status is not being updated in app listing page (#5294) +## Enhancements +- feat: Checking multiarchitecture of images (#5232) +- feat: updated kubelink grpc client cfg (#5426) +- feat: Integration of Cranecopy plugin (#5131) +- feat: casbin upgraded to v2 (#5329) +- feat: new scripts added for rescan sbom support , helm manifest scan flag and git container links (#5406) +- feat: Reload materials api added (#5182) +- feat: mirgator plugin (#5347) +- feat: insecure support for chart-sync (#5328) +- feat: GitOps async install for devtron applications (#5169) +- feat: chart ref schema db migration (#5319) +- feat: Up and Down Script for BitBucket Plugin v1.0.0 (#4949) +- feat: Added statefulset chart 5.1.0 (#5199) +- feat: air gap registry v2 (#5220) +- feat: tenants and installations migration (#5187) +## Documentation +- doc: Blob Storage Redirection + Other Fixes (#5432) +- doc: Added migration steps for 0.6 to 0.7 upgrade (#5411) +- doc: Created Deployment Window Draft (#4800) +- doc: Redirection Fix for User Permissions Doc + Other Fixes (#5382) +- doc: Redirection Fixes for 0.7 (#5381) +- doc: Redirection Issue Trial Fix (#5378) +- doc: Plugin Creation Doc (#5372) +- docs: Added specs for the global plugin Apis (#5362) +- docs: Fixes + Corrections in Docs (#5335) +- docs: fixed broken link in readme (#5337) +- docs: removed users (#5324) +- docs: Created a file for listing Devtron Users (#5310) +## Others +- chore: common-lib upgrade for nats replicas (#5446) +- chore: migration for gitops config (#5383) +- chore: update common-lib tag version (#5333) +- chore: updated go version in EA dockerfile (#5327) + + + diff --git a/charts/devtron/Chart.yaml b/charts/devtron/Chart.yaml index f90f672e74..9f5318f630 100644 --- a/charts/devtron/Chart.yaml +++ b/charts/devtron/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: devtron-operator -appVersion: 0.7.0 +appVersion: 0.7.1 description: Chart to configure and install Devtron. Devtron is a Kubernetes Orchestration system. keywords: - Devtron @@ -11,7 +11,7 @@ keywords: - argocd - Hyperion engine: gotpl -version: 0.22.72 +version: 0.22.73 sources: - https://github.com/devtron-labs/charts dependencies: diff --git a/charts/devtron/devtron-bom.yaml b/charts/devtron/devtron-bom.yaml index da4461d2f3..6e35b6fc0a 100644 --- a/charts/devtron/devtron-bom.yaml +++ b/charts/devtron/devtron-bom.yaml @@ -8,13 +8,16 @@ global: runAsUser: 1000 runAsNonRoot: true containerRegistry: "quay.io/devtron" - + # The below values can be specified both at global as well as component level + nodeSelector: {} + tolerations: [] + imagePullSecrets: [] +extraManifests: [] installer: - release: "v0.7.0" + release: "v0.7.1" registry: "" image: "inception" tag: "473deaa4-185-21582" - components: dashboard: config: @@ -31,33 +34,30 @@ components: SERVICE_WORKER_TIMEOUT: "1" API_BATCH_SIZE: "30" registry: "" - image: "dashboard:87aaf7ac-690-23135" + image: "dashboard:5f95d187-690-23841" imagePullPolicy: IfNotPresent - devtron: registry: "" - image: "hyperion:3aa7e420-280-23147" - cicdImage: "devtron:3aa7e420-434-23146" + image: "hyperion:291c4c75-280-23860" + cicdImage: "devtron:291c4c75-434-23853" imagePullPolicy: IfNotPresent customOverrides: {} - ciRunner: registry: "" - image: "ci-runner:6e721248-138-23081" - + image: "ci-runner:48aca9f4-138-23844" argocdDexServer: registry: "" image: "dex:v2.30.2" imagePullPolicy: IfNotPresent initContainer: authenticator: "authenticator:e414faff-393-13273" - kubelink: registry: "" - image: "kubelink:a810dbae-564-23055" + image: "kubelink:0dee6306-564-23843" imagePullPolicy: IfNotPresent configs: ENABLE_HELM_RELEASE_CACHE: "true" + USE_CUSTOM_HTTP_TRANSPORT: "true" MANIFEST_FETCH_BATCH_SIZE: "2" NATS_MSG_PROCESSING_BATCH_SIZE: "1" NATS_SERVER_HOST: nats://devtron-nats.devtroncd:4222 @@ -69,18 +69,17 @@ components: dbconfig: secretName: postgresql-postgresql keyName: postgresql-password - kubewatch: registry: "" - image: "kubewatch:f8ac0fe6-419-23054" + image: "kubewatch:850b40d5-419-23840" imagePullPolicy: IfNotPresent configs: devtroncd_NAMESPACE: "devtron-ci" + USE_CUSTOM_HTTP_TRANSPORT: "true" CI_INFORMER: "true" ACD_NAMESPACE: "devtroncd" ACD_INFORMER: "true" NATS_STREAM_MAX_AGE: "10800" - postgres: registry: "" image: "postgres:11.9.0-debian-10-r26" @@ -90,10 +89,9 @@ components: metrics: image: postgres_exporter:v0.4.7 armImage: postgres_exporter:v0.10.1 - gitsensor: registry: "" - image: "git-sensor:8545feb5-200-22005" + image: "git-sensor:86e13283-200-23847" imagePullPolicy: IfNotPresent serviceMonitor: enabled: false @@ -111,7 +109,7 @@ components: # Values for lens lens: registry: "" - image: "lens:3d3e8f08-333-23057" + image: "lens:56211042-333-23839" imagePullPolicy: IfNotPresent configs: GIT_SENSOR_PROTOCOL: GRPC @@ -140,7 +138,6 @@ components: enabled: false persistence: storage: 5Gi - migrator: registry: "" image: "migrator:v4.16.2" @@ -157,7 +154,7 @@ components: DB_NAME: "lens" chartSync: registry: "" - image: chart-sync:b67ab589-150-23082 + image: chart-sync:5a1d0301-150-23845 # values for argocd integration argo-cd: global: @@ -175,18 +172,16 @@ workflowController: executorImage: "argoexec:v3.4.3" IMDSv1Image: "workflow-controller:v3.0.7" IMDSv1ExecutorImage: "argoexec:v3.0.7" - security: imageScanner: - image: "image-scanner:3ab2ba46-141-23064" + image: "image-scanner:137872c2-141-23848" clair: image: repository: clair tag: 4.3.6 # Values for notifier integration notifier: - image: "notifier:924a17f6-372-22110" - + image: "notifier:9639b1ab-372-23850" minio: image: "minio:RELEASE.2021-02-14T04-01-33Z" mbImage: "minio-mc:RELEASE.2021-02-14T04-28-06Z" diff --git a/charts/devtron/templates/_helpers.tpl b/charts/devtron/templates/_helpers.tpl index 09fc0d92c0..97da656497 100644 --- a/charts/devtron/templates/_helpers.tpl +++ b/charts/devtron/templates/_helpers.tpl @@ -19,6 +19,36 @@ it randomly. {{- end -}} {{- end }} +{{/* +Expand the node selectors, tolerations, and image pull secrets for a Kubernetes resource. +Usage: +{{ include "common.nodeSelector" (dict "nodeSelector" .Values.path.to.nodeSelector "tolerations" .Values.path.to.tolerations "imagePullSecrets" .Values.path.to.imagePullSecrets "global" .Values.global ) }} +*/}} + +{{- define "common.nodeSelector" -}} + {{- if .nodeSelector }} +nodeSelector: +{{ toYaml .nodeSelector | indent 2 }} + {{- else if .global.nodeSelector }} +nodeSelector: +{{ toYaml .global.nodeSelector | indent 2 }} + {{- end }} + {{- if .tolerations }} +tolerations: +{{ toYaml .tolerations | indent 2 }} + {{- else if .global.tolerations }} +tolerations: +{{ toYaml .global.tolerations | indent 2 }} + {{- end }} + {{- if .imagePullSecrets }} +imagePullSecrets: +{{ toYaml .imagePullSecrets | indent 2 }} + {{- else if .global.imagePullSecrets }} +imagePullSecrets: +{{ toYaml .global.imagePullSecrets | indent 2 }} + {{- end }} +{{- end }} + {{/* Return full image {{ include "common.image" ( dict "component" .Values.path.to.the.component "global" .Values.global .extraImage .extraImageTag .extraImageDigest ) }} @@ -49,4 +79,4 @@ Return full image {{- printf "%s" $imageName -}} {{- end }} {{- end -}} -{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/devtron/templates/app-sync-job.yaml b/charts/devtron/templates/app-sync-job.yaml index a625b459c4..d665faadc8 100644 --- a/charts/devtron/templates/app-sync-job.yaml +++ b/charts/devtron/templates/app-sync-job.yaml @@ -11,6 +11,7 @@ spec: template: spec: serviceAccountName: devtron + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.chartSync.nodeSelector "tolerations" $.Values.components.chartSync.tolerations "imagePullSecrets" $.Values.components.chartSync.imagePullSecrets "global" $.Values.global) | indent 6 }} initContainers: - name: migration-wait image: {{ include "common.image" (dict "component" $.Values.components.migrator "global" $.Values.global "extraImage" $.Values.components.migrator.kubectlImage ) }} @@ -74,6 +75,7 @@ spec: spec: template: spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.chartSync.nodeSelector "tolerations" $.Values.components.chartSync.tolerations "imagePullSecrets" $.Values.components.chartSync.imagePullSecrets "global" $.Values.global) | indent 10 }} {{- if and $.Values.global $.Values.global.podSecurityContext }} securityContext: {{- toYaml $.Values.global.podSecurityContext | nindent 12 }} diff --git a/charts/devtron/templates/dashboard.yaml b/charts/devtron/templates/dashboard.yaml index 9f29b86bc1..d909d4978d 100644 --- a/charts/devtron/templates/dashboard.yaml +++ b/charts/devtron/templates/dashboard.yaml @@ -77,6 +77,7 @@ spec: securityContext: {{- toYaml $.Values.global.podSecurityContext | nindent 8 }} {{- end }} + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.dashboard.nodeSelector "tolerations" $.Values.components.dashboard.tolerations "imagePullSecrets" $.Values.components.dashboard.imagePullSecrets "global" $.Values.global) | indent 6 }} containers: - name: dashboard image: {{ include "common.image" (dict "component" $.Values.components.dashboard "global" $.Values.global) }} diff --git a/charts/devtron/templates/devtron.yaml b/charts/devtron/templates/devtron.yaml index 948d5e739c..db2f24ccc8 100644 --- a/charts/devtron/templates/devtron.yaml +++ b/charts/devtron/templates/devtron.yaml @@ -85,6 +85,7 @@ data: ENFORCER_CACHE_EXPIRATION_IN_SEC: "345600" ENFORCER_MAX_BATCH_SIZE: "1" DEVTRON_SECRET_NAME: "devtron-secret" + ENABLE_ASYNC_ARGO_CD_INSTALL_DEVTRON_CHART: "false" USE_ARTIFACT_LISTING_API_V2: "true" RUN_HELM_INSTALL_IN_ASYNC_MODE_HELM_APPS: "true" ENABLE_ASYNC_INSTALL_DEVTRON_CHART: "true" @@ -200,6 +201,7 @@ spec: app: devtron release: devtron spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.devtron.nodeSelector "tolerations" $.Values.components.devtron.tolerations "imagePullSecrets" $.Values.components.devtron.imagePullSecrets "global" $.Values.global) | indent 6 }} terminationGracePeriodSeconds: 30 restartPolicy: Always serviceAccountName: devtron diff --git a/charts/devtron/templates/dex.yaml b/charts/devtron/templates/dex.yaml index c10e313086..b5bbaadbcc 100644 --- a/charts/devtron/templates/dex.yaml +++ b/charts/devtron/templates/dex.yaml @@ -59,6 +59,7 @@ spec: labels: app.kubernetes.io/name: argocd-dex-server spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.argocdDexServer.nodeSelector "tolerations" $.Values.components.argocdDexServer.tolerations "imagePullSecrets" $.Values.components.argocdDexServer.imagePullSecrets "global" $.Values.global) | indent 6 }} affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: diff --git a/charts/devtron/templates/generic.yaml b/charts/devtron/templates/generic.yaml new file mode 100644 index 0000000000..d921178c32 --- /dev/null +++ b/charts/devtron/templates/generic.yaml @@ -0,0 +1,4 @@ +{{- range .Values.extraManifests }} +--- +{{ toYaml . }} + {{- end -}} \ No newline at end of file diff --git a/charts/devtron/templates/gitsensor.yaml b/charts/devtron/templates/gitsensor.yaml index 8b547ac220..4697699b0b 100644 --- a/charts/devtron/templates/gitsensor.yaml +++ b/charts/devtron/templates/gitsensor.yaml @@ -73,6 +73,7 @@ spec: securityContext: runAsGroup: 1000 runAsUser: 1000 + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.gitsensor.nodeSelector "tolerations" $.Values.components.gitsensor.tolerations "imagePullSecrets" $.Values.components.gitsensor.imagePullSecrets "global" $.Values.global) | indent 6 }} initContainers: - command: - /bin/sh diff --git a/charts/devtron/templates/grafana.yaml b/charts/devtron/templates/grafana.yaml index 1d8b771d79..c99a841e4a 100644 --- a/charts/devtron/templates/grafana.yaml +++ b/charts/devtron/templates/grafana.yaml @@ -14,6 +14,7 @@ metadata: spec: template: spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.monitoring.grafana.nodeSelector "tolerations" $.Values.monitoring.grafana.tolerations "imagePullSecrets" $.Values.monitoring.grafana.imagePullSecrets "global" $.Values.global) | indent 6 }} serviceAccountName: devtron containers: - name: grafana-restart @@ -510,6 +511,7 @@ spec: fsGroup: 472 runAsGroup: 472 runAsUser: 472 + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.monitoring.grafana.nodeSelector "tolerations" $.Values.monitoring.grafana.tolerations "imagePullSecrets" $.Values.monitoring.grafana.imagePullSecrets "global" $.Values.global) | indent 6 }} initContainers: - name: init-chown-data image: {{ include "common.image" (dict "component" $.Values.monitoring.grafana "global" $.Values.global "extraImage" $.Values.monitoring.grafana.busyboxImage ) }} @@ -658,6 +660,7 @@ metadata: namespace: devtroncd spec: serviceAccountName: devtron-grafana-test + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.monitoring.grafana.nodeSelector "tolerations" $.Values.monitoring.grafana.tolerations "imagePullSecrets" $.Values.monitoring.grafana.imagePullSecrets "global" $.Values.global) | indent 2 }} containers: - name: devtron-test image: {{ include "common.image" (dict "component" $.Values.monitoring.grafana "global" $.Values.global "extraImage" $.Values.monitoring.grafana.batsImage ) }} @@ -676,4 +679,4 @@ spec: {{- end }} {{- end }} {{- end }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/devtron/templates/install.yaml b/charts/devtron/templates/install.yaml index f12a951a40..123e037885 100644 --- a/charts/devtron/templates/install.yaml +++ b/charts/devtron/templates/install.yaml @@ -115,4 +115,4 @@ spec: {{- end }} {{- end }} {{- end }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/devtron/templates/kubelink.yaml b/charts/devtron/templates/kubelink.yaml index 18af730bab..25436ac2a4 100644 --- a/charts/devtron/templates/kubelink.yaml +++ b/charts/devtron/templates/kubelink.yaml @@ -57,6 +57,7 @@ spec: labels: app: kubelink spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.kubelink.nodeSelector "tolerations" $.Values.components.kubelink.tolerations "imagePullSecrets" $.Values.components.kubelink.imagePullSecrets "global" $.Values.global) | indent 6 }} terminationGracePeriodSeconds: 30 restartPolicy: Always serviceAccount: devtron @@ -120,4 +121,4 @@ spec: app: kubelink sessionAffinity: None type: ClusterIP -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/devtron/templates/kubewatch.yaml b/charts/devtron/templates/kubewatch.yaml index 1c4636857e..fc7366deda 100644 --- a/charts/devtron/templates/kubewatch.yaml +++ b/charts/devtron/templates/kubewatch.yaml @@ -167,6 +167,7 @@ spec: app: kubewatch release: devtron spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.kubewatch.nodeSelector "tolerations" $.Values.components.kubewatch.tolerations "imagePullSecrets" $.Values.components.kubewatch.imagePullSecrets "global" $.Values.global) | indent 6 }} terminationGracePeriodSeconds: 30 restartPolicy: Always serviceAccountName: kubewatch @@ -218,4 +219,4 @@ spec: revisionHistoryLimit: 3 {{- end }} {{- end }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/devtron/templates/lens.yaml b/charts/devtron/templates/lens.yaml index 1641f88ab9..503fd22eb4 100644 --- a/charts/devtron/templates/lens.yaml +++ b/charts/devtron/templates/lens.yaml @@ -66,6 +66,7 @@ spec: app: lens release: devtron spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.lens.nodeSelector "tolerations" $.Values.components.lens.tolerations "imagePullSecrets" $.Values.components.lens.imagePullSecrets "global" $.Values.global) | indent 6 }} terminationGracePeriodSeconds: 30 restartPolicy: Always {{- if and $.Values.global $.Values.global.podSecurityContext }} diff --git a/charts/devtron/templates/migrator.yaml b/charts/devtron/templates/migrator.yaml index 54c04356ba..00313889ae 100644 --- a/charts/devtron/templates/migrator.yaml +++ b/charts/devtron/templates/migrator.yaml @@ -14,6 +14,7 @@ metadata: spec: template: spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.migrator.nodeSelector "tolerations" $.Values.components.migrator.tolerations "imagePullSecrets" $.Values.components.migrator.imagePullSecrets "global" $.Values.global) | indent 6 }} {{- if and $.Values.global $.Values.global.podSecurityContext }} securityContext: {{- toYaml $.Values.global.podSecurityContext | nindent 8 }} @@ -121,6 +122,7 @@ metadata: spec: template: spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.migrator.nodeSelector "tolerations" $.Values.components.migrator.tolerations "imagePullSecrets" $.Values.components.migrator.imagePullSecrets "global" $.Values.global) | indent 6 }} serviceAccountName: devtron {{- if and $.Values.global $.Values.global.podSecurityContext }} securityContext: @@ -219,6 +221,7 @@ metadata: spec: template: spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.migrator.nodeSelector "tolerations" $.Values.components.migrator.tolerations "imagePullSecrets" $.Values.components.migrator.imagePullSecrets "global" $.Values.global) | indent 6 }} {{- if and $.Values.global $.Values.global.podSecurityContext }} securityContext: {{- toYaml $.Values.global.podSecurityContext | nindent 8 }} @@ -297,6 +300,7 @@ metadata: spec: template: spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.migrator.nodeSelector "tolerations" $.Values.components.migrator.tolerations "imagePullSecrets" $.Values.components.migrator.imagePullSecrets "global" $.Values.global) | indent 6 }} {{- if and $.Values.global $.Values.global.podSecurityContext }} securityContext: {{- toYaml $.Values.global.podSecurityContext | nindent 8 }} @@ -376,6 +380,7 @@ metadata: spec: template: spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.migrator.nodeSelector "tolerations" $.Values.components.migrator.tolerations "imagePullSecrets" $.Values.components.migrator.imagePullSecrets "global" $.Values.global) | indent 6 }} securityContext: fsGroup: 1000 runAsGroup: 1000 @@ -410,4 +415,4 @@ spec: backoffLimit: 20 activeDeadlineSeconds: 1800 {{- end }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/devtron/templates/minio.yaml b/charts/devtron/templates/minio.yaml index c398b8cc9c..e445ca4393 100644 --- a/charts/devtron/templates/minio.yaml +++ b/charts/devtron/templates/minio.yaml @@ -259,6 +259,7 @@ spec: app: minio release: {{ $.Release.Name }} spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.minio.nodeSelector "tolerations" $.Values.minio.tolerations "imagePullSecrets" $.Values.minio.imagePullSecrets "global" $.Values.global) | indent 6 }} serviceAccountName: "devtron-minio" securityContext: runAsUser: 1000 @@ -327,6 +328,7 @@ spec: app: minio-job release: {{ $.Release.Name }} spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.minio.nodeSelector "tolerations" $.Values.minio.tolerations "imagePullSecrets" $.Values.minio.imagePullSecrets "global" $.Values.global) | indent 6 }} restartPolicy: OnFailure volumes: - name: minio-configuration @@ -382,6 +384,7 @@ spec: app: minio release: devtron-minio spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.minio.nodeSelector "tolerations" $.Values.minio.tolerations "imagePullSecrets" $.Values.minio.imagePullSecrets "global" $.Values.global) | indent 6 }} serviceAccountName: "devtron-minio" containers: - name: minio diff --git a/charts/devtron/templates/nats-server.yaml b/charts/devtron/templates/nats-server.yaml index 02bdba3787..0c06cd9fe9 100644 --- a/charts/devtron/templates/nats-server.yaml +++ b/charts/devtron/templates/nats-server.yaml @@ -92,6 +92,7 @@ spec: app.kubernetes.io/instance: devtron-nats spec: # Common volumes for the containers. + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.nats.nodeSelector "tolerations" $.Values.components.nats.tolerations "imagePullSecrets" $.Values.components.nats.imagePullSecrets "global" $.Values.global) | indent 6 }} volumes: - name: config-volume @@ -267,6 +268,7 @@ metadata: app.kubernetes.io/instance: devtron-nats app.kubernetes.io/managed-by: Helm spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.nats.nodeSelector "tolerations" $.Values.components.nats.tolerations "imagePullSecrets" $.Values.components.nats.imagePullSecrets "global" $.Values.global) | indent 2 }} containers: - name: nats-box image: {{ include "common.image" (dict "component" $.Values.components.nats.natsBox "global" $.Values.global) }} @@ -314,4 +316,4 @@ spec: {{- end }} {{- end }} {{- end }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/devtron/templates/notifier.yaml b/charts/devtron/templates/notifier.yaml index ac15ced3b3..054046e5a3 100644 --- a/charts/devtron/templates/notifier.yaml +++ b/charts/devtron/templates/notifier.yaml @@ -72,6 +72,7 @@ spec: app: notifier release: devtron spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.notifier.nodeSelector "tolerations" $.Values.notifier.tolerations "imagePullSecrets" $.Values.notifier.imagePullSecrets "global" $.Values.global) | indent 6 }} terminationGracePeriodSeconds: 30 restartPolicy: Always {{- if and $.Values.global $.Values.global.podSecurityContext }} diff --git a/charts/devtron/templates/postgresql.yaml b/charts/devtron/templates/postgresql.yaml index 263ca967fe..efcabcd020 100644 --- a/charts/devtron/templates/postgresql.yaml +++ b/charts/devtron/templates/postgresql.yaml @@ -113,6 +113,7 @@ spec: release: "devtron" role: master spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.postgres.nodeSelector "tolerations" $.Values.components.postgres.tolerations "imagePullSecrets" $.Values.components.postgres.imagePullSecrets "global" $.Values.global) | indent 6 }} securityContext: fsGroup: 1001 initContainers: @@ -442,6 +443,7 @@ spec: app.kubernetes.io/name: postgres app.kubernetes.io/instance: devtron spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.components.postgres.nodeSelector "tolerations" $.Values.components.postgres.tolerations "imagePullSecrets" $.Values.components.postgres.imagePullSecrets "global" $.Values.global) | indent 6 }} securityContext: fsGroup: 999 initContainers: diff --git a/charts/devtron/templates/workflow.yaml b/charts/devtron/templates/workflow.yaml index 659fc6430f..61e3839660 100644 --- a/charts/devtron/templates/workflow.yaml +++ b/charts/devtron/templates/workflow.yaml @@ -936,6 +936,13 @@ metadata: namespace: devtron-cd labels: release: devtron +{{- if $.Values.components.ciRunner.imagePullSecrets }} +imagePullSecrets: +{{ toYaml .Values.components.ciRunner.imagePullSecrets | indent 2 }} +{{- else if $.Values.global.imagePullSecrets }} +imagePullSecrets: +{{ toYaml .Values.global.imagePullSecrets | indent 2 }} +{{- end }} --- apiVersion: v1 kind: ServiceAccount @@ -944,6 +951,13 @@ metadata: namespace: devtron-ci labels: release: devtron +{{- if $.Values.components.ciRunner.imagePullSecrets }} +imagePullSecrets: +{{ toYaml .Values.components.ciRunner.imagePullSecrets | indent 2 }} +{{- else if $.Values.global.imagePullSecrets }} +imagePullSecrets: +{{ toYaml .Values.global.imagePullSecrets | indent 2 }} +{{- end }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -1256,6 +1270,7 @@ spec: labels: app: workflow-controller spec: + {{ include "common.nodeSelector" (dict "nodeSelector" $.Values.workflowController.nodeSelector "tolerations" $.Values.workflowController.tolerations "imagePullSecrets" $.Values.workflowController.imagePullSecrets "global" $.Values.global) | indent 6 }} containers: - args: - --configmap diff --git a/charts/devtron/values.yaml b/charts/devtron/values.yaml index 9716846d94..19f6854f38 100644 --- a/charts/devtron/values.yaml +++ b/charts/devtron/values.yaml @@ -8,10 +8,14 @@ global: runAsUser: 1000 runAsNonRoot: true containerRegistry: "quay.io/devtron" - + # The below values can be specified both at global as well as component level + nodeSelector: {} + tolerations: [] + imagePullSecrets: [] +extraManifests: [] installer: repo: "devtron-labs/devtron" - release: "v0.7.0" + release: "v0.7.1" registry: "" image: inception tag: 473deaa4-185-21582 @@ -61,13 +65,12 @@ components: SERVICE_WORKER_TIMEOUT: "1" API_BATCH_SIZE: "30" registry: "" - image: "dashboard:87aaf7ac-690-23135" + image: "dashboard:5f95d187-690-23841" imagePullPolicy: IfNotPresent - devtron: registry: "" - image: "hyperion:3aa7e420-280-23147" - cicdImage: "devtron:3aa7e420-434-23146" + image: "hyperion:291c4c75-280-23860" + cicdImage: "devtron:291c4c75-434-23853" imagePullPolicy: IfNotPresent customOverrides: {} serviceMonitor: @@ -91,25 +94,23 @@ components: # - secretName: devtron-tls # hosts: # - devtron.example.com - ciRunner: registry: "" - image: "ci-runner:6e721248-138-23081" - + image: "ci-runner:48aca9f4-138-23844" argocdDexServer: registry: "" image: "dex:v2.30.2" imagePullPolicy: IfNotPresent initContainer: authenticator: "authenticator:e414faff-393-13273" - kubelink: registry: "" - image: "kubelink:a810dbae-564-23055" + image: "kubelink:0dee6306-564-23843" imagePullPolicy: IfNotPresent configs: ENABLE_HELM_RELEASE_CACHE: "true" MANIFEST_FETCH_BATCH_SIZE: "2" + USE_CUSTOM_HTTP_TRANSPORT: "true" NATS_MSG_PROCESSING_BATCH_SIZE: "1" NATS_SERVER_HOST: nats://devtron-nats.devtroncd:4222 PG_ADDR: postgresql-postgresql.devtroncd @@ -120,18 +121,17 @@ components: dbconfig: secretName: postgresql-postgresql keyName: postgresql-password - kubewatch: registry: "" - image: "kubewatch:f8ac0fe6-419-23054" + image: "kubewatch:850b40d5-419-23840" imagePullPolicy: IfNotPresent configs: devtroncd_NAMESPACE: "devtron-ci" + USE_CUSTOM_HTTP_TRANSPORT: "true" CI_INFORMER: "true" ACD_NAMESPACE: "devtroncd" ACD_INFORMER: "true" NATS_STREAM_MAX_AGE: "10800" - postgres: registry: "" image: "postgres:11.9.0-debian-10-r26" @@ -143,10 +143,9 @@ components: armImage: postgres_exporter:v0.10.1 persistence: volumeSize: "20Gi" - gitsensor: registry: "" - image: "git-sensor:8545feb5-200-22005" + image: "git-sensor:86e13283-200-23847" imagePullPolicy: IfNotPresent serviceMonitor: enabled: false @@ -164,7 +163,7 @@ components: # Values for lens lens: registry: "" - image: "lens:3d3e8f08-333-23057" + image: "lens:56211042-333-23839" imagePullPolicy: IfNotPresent secrets: {} resources: {} @@ -195,7 +194,6 @@ components: enabled: false persistence: storage: 5Gi - migrator: registry: "" image: "migrator:v4.16.2" @@ -210,10 +208,9 @@ components: DB_NAME: "git_sensor" lens: DB_NAME: "lens" - chartSync: registry: "" - image: chart-sync:b67ab589-150-23082 + image: chart-sync:5a1d0301-150-23845 # values for argocd integration argo-cd: enabled: false @@ -373,7 +370,7 @@ argo-cd: security: enabled: false imageScanner: - image: "image-scanner:3ab2ba46-141-23064" + image: "image-scanner:137872c2-141-23848" # Values for trivy trivy: enabled: false @@ -388,7 +385,7 @@ security: notifier: enabled: false imagePullPolicy: IfNotPresent - image: "notifier:924a17f6-372-22110" + image: "notifier:9639b1ab-372-23850" configs: CD_ENVIRONMENT: PROD DB: orchestrator diff --git a/manifests/install/devtron-installer.yaml b/manifests/install/devtron-installer.yaml index 101860fe73..f0bb4839be 100644 --- a/manifests/install/devtron-installer.yaml +++ b/manifests/install/devtron-installer.yaml @@ -4,4 +4,4 @@ metadata: name: installer-devtron namespace: devtroncd spec: - url: https://raw.githubusercontent.com/devtron-labs/devtron/v0.7.0/manifests/installation-script + url: https://raw.githubusercontent.com/devtron-labs/devtron/v0.7.1/manifests/installation-script diff --git a/manifests/installation-script b/manifests/installation-script index 7f58fe744a..fe6032030c 100644 --- a/manifests/installation-script +++ b/manifests/installation-script @@ -1,4 +1,4 @@ -LTAG="v0.7.0"; +LTAG="v0.7.1"; REPO_RAW_URL="https://raw.githubusercontent.com/devtron-labs/devtron/"; log("executed devtron setup installation"); diff --git a/manifests/release.txt b/manifests/release.txt index 0dc10a4ee0..d189590491 100644 --- a/manifests/release.txt +++ b/manifests/release.txt @@ -1 +1 @@ -stable -1 v0.7.0 +stable -1 v0.7.1 diff --git a/manifests/version.txt b/manifests/version.txt index 8b20e48523..63f2359f64 100644 --- a/manifests/version.txt +++ b/manifests/version.txt @@ -1 +1 @@ -v0.7.0 +v0.7.1 diff --git a/manifests/yamls/dashboard.yaml b/manifests/yamls/dashboard.yaml index f8a467879f..ae5a449c43 100644 --- a/manifests/yamls/dashboard.yaml +++ b/manifests/yamls/dashboard.yaml @@ -235,7 +235,7 @@ spec: - name: envoy-config-volume mountPath: /etc/envoy-config/ - name: dashboard - image: "quay.io/devtron/dashboard:5ad103e8-690-23058" + image: "quay.io/devtron/dashboard:5f95d187-690-23841" imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false diff --git a/manifests/yamls/devtron.yaml b/manifests/yamls/devtron.yaml index 591ff0e985..ac0833faa6 100644 --- a/manifests/yamls/devtron.yaml +++ b/manifests/yamls/devtron.yaml @@ -53,7 +53,7 @@ data: CD_NODE_TAINTS_VALUE: "ci" CD_ARTIFACT_LOCATION_FORMAT: "%d/%d.zip" DEFAULT_CD_NAMESPACE: "devtron-cd" - DEFAULT_CI_IMAGE: "quay.io/devtron/ci-runner:6e721248-138-23081" + DEFAULT_CI_IMAGE: "quay.io/devtron/ci-runner:48aca9f4-138-23844" DEFAULT_CD_TIMEOUT: "3600" WF_CONTROLLER_INSTANCE_ID: "devtron-runner" CI_LOGS_KEY_PREFIX: "ci-artifacts" @@ -89,7 +89,7 @@ data: ENFORCER_CACHE: "true" ENFORCER_CACHE_EXPIRATION_IN_SEC: "345600" ENFORCER_MAX_BATCH_SIZE: "1" - APP_SYNC_IMAGE: "quay.io/devtron/chart-sync:b67ab589-150-23082" + APP_SYNC_IMAGE: "quay.io/devtron/chart-sync:5a1d0301-150-23845" DEVTRON_SECRET_NAME: "devtron-secret" GIT_SENSOR_PROTOCOL: GRPC GIT_SENSOR_URL: git-sensor-service.devtroncd:90 @@ -169,7 +169,7 @@ spec: runAsUser: 1000 containers: - name: devtron - image: "quay.io/devtron/devtron:b331bc91-434-23136" + image: "quay.io/devtron/devtron:291c4c75-434-23853" securityContext: allowPrivilegeEscalation: false runAsUser: 1000 diff --git a/manifests/yamls/gitsensor.yaml b/manifests/yamls/gitsensor.yaml index 5303e27d9f..e16b519934 100644 --- a/manifests/yamls/gitsensor.yaml +++ b/manifests/yamls/gitsensor.yaml @@ -67,7 +67,7 @@ spec: - /bin/sh - -c - mkdir -p /git-base/ssh-keys && chown -R devtron:devtron /git-base && chmod 777 /git-base/ssh-keys - image: "quay.io/devtron/git-sensor:8545feb5-200-22005" + image: "quay.io/devtron/git-sensor:86e13283-200-23847" imagePullPolicy: IfNotPresent name: chown-git-base resources: {} @@ -80,7 +80,7 @@ spec: name: git-volume containers: - name: git-sensor - image: "quay.io/devtron/git-sensor:8545feb5-200-22005" + image: "quay.io/devtron/git-sensor:86e13283-200-23847" securityContext: allowPrivilegeEscalation: false runAsUser: 1000 diff --git a/manifests/yamls/image-scanner.yaml b/manifests/yamls/image-scanner.yaml index d5ed455678..9c8a06e861 100644 --- a/manifests/yamls/image-scanner.yaml +++ b/manifests/yamls/image-scanner.yaml @@ -73,7 +73,7 @@ spec: runAsUser: 1000 containers: - name: image-scanner - image: "quay.io/devtron/image-scanner:3ab2ba46-141-23064" + image: "quay.io/devtron/image-scanner:137872c2-141-23848" imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false diff --git a/manifests/yamls/kubelink.yaml b/manifests/yamls/kubelink.yaml index 268e8732df..21531cf24c 100644 --- a/manifests/yamls/kubelink.yaml +++ b/manifests/yamls/kubelink.yaml @@ -25,7 +25,7 @@ spec: runAsUser: 1000 containers: - name: kubelink - image: "quay.io/devtron/kubelink:a810dbae-564-23055" + image: "quay.io/devtron/kubelink:0dee6306-564-23843" securityContext: allowPrivilegeEscalation: false runAsUser: 1000 diff --git a/manifests/yamls/kubewatch.yaml b/manifests/yamls/kubewatch.yaml index cd51ffc536..e00be3131a 100644 --- a/manifests/yamls/kubewatch.yaml +++ b/manifests/yamls/kubewatch.yaml @@ -164,7 +164,7 @@ spec: runAsUser: 1000 containers: - name: kubewatch - image: "quay.io/devtron/kubewatch:f8ac0fe6-419-23054" + image: "quay.io/devtron/kubewatch:850b40d5-419-23840" securityContext: allowPrivilegeEscalation: false runAsUser: 1000 diff --git a/manifests/yamls/lens.yaml b/manifests/yamls/lens.yaml index b28a09fdf9..dc92100db6 100644 --- a/manifests/yamls/lens.yaml +++ b/manifests/yamls/lens.yaml @@ -71,7 +71,7 @@ spec: runAsUser: 1000 containers: - name: lens - image: "quay.io/devtron/lens:3d3e8f08-333-23057" + image: "quay.io/devtron/lens:56211042-333-23839" imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false diff --git a/manifests/yamls/migrator.yaml b/manifests/yamls/migrator.yaml index 614c6e632b..2c02065cde 100644 --- a/manifests/yamls/migrator.yaml +++ b/manifests/yamls/migrator.yaml @@ -148,7 +148,7 @@ spec: - name: GIT_BRANCH value: main - name: GIT_HASH - value: 8545feb5d0ac95b7700b4eb707c9c868ac10fb76 + value: 86e132830b6196e714657cf84492728d52828f22 envFrom: - secretRef: name: postgresql-migrator diff --git a/manifests/yamls/notifier.yaml b/manifests/yamls/notifier.yaml index 3324036646..e182739a9e 100644 --- a/manifests/yamls/notifier.yaml +++ b/manifests/yamls/notifier.yaml @@ -66,7 +66,7 @@ spec: restartPolicy: Always containers: - name: notifier - image: quay.io/devtron/notifier:546aaf51-372-23056" + image: quay.io/devtron/notifier:9639b1ab-372-23850" imagePullPolicy: IfNotPresent ports: - name: app diff --git a/releasenotes.md b/releasenotes.md index 0d33664254..8e333d8e67 100644 --- a/releasenotes.md +++ b/releasenotes.md @@ -1,104 +1,59 @@ - -> **= = = = = IMPORTANT = = = = =** - -RUN THE FOLLOWING COMMANDS AS A PRE-REQUISITE BEFORE UPGRADE: -``` -export RELEASE_NAME=devtron -kubectl -n devtron-ci label sa --all "app.kubernetes.io/managed-by=Helm" --overwrite -kubectl -n devtron-ci annotate sa --all "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd" --overwrite -kubectl -n devtron-cd label sa --all "app.kubernetes.io/managed-by=Helm" --overwrite -kubectl -n devtron-cd annotate sa --all "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd" --overwrite -``` -> Ignore the message above if you are not using devtron with cicd mode - -> Contact Devtron team on [DISCORD](https://discord.devtron.ai) if you have any concerns. - - -## v0.7.0 +## v0.7.1 ## Bugs -- fix: extra labels propagation made env driven (#5274) -- fix: App clone config map fix (#5268) -- fix: latest version in default cluster and on UI (#5259) -- fix: update CVE's severity and store multiple same CVE's in multiple packages (#5168) -- fix: fixing force push for gitops (#5152) -- fix: extra labels propagation based on k8s label regex matching (#5216) -- fix: invalid runner status (#5189) -- fix: revert changes from main (#5206) -- fix: apps and jobs permission (#5110) -- fix: added Copyright (#5172) -- fix:removed unused env var (#5174) -- fix: Handling all cases for 5xx (#5100) -- fix: trivy scan step command fix (#5162) -- fix: added extra args in trivy cmds (#5146) -- fix: proxyRouter empty data err panic handling (#5147) -- fix: handling side-effects for displaying external helm apps with same name across diff namespaces and clusters (#4951) -- fix: fatal log removed (#5043) -- fix: added a check for restricting managers to assign superadmin through permission groups (#5025) -- fix: SHOW_DOCKER_BUILD_ARGS variable not working as expected (#5117) -- fix: dependabot version upgrade (#5089) -- fix: containers are missing from app-details page in argocd app (#4973) -- fix:resolved PR review comments also remove check for virtual cluster (#5095) -- fix:handled namespace case if deleted by kubectl (#5081) -- fix: oci chart were getting deployed through gitops (#5088) -- fix: argocd config update fix (#5074) -- fix: handle 5xx in fetch resource tree api and cd-trigger (#5050) -- fix: gitops update updated (#5055) -- fix: App create api validations (#5019) -- fix: git material saved in transaction (#5040) -- fix: panic while pulling images (#5036) -- fix: terminal stuck in connecting state (#4989) -- fix: handle for wrong format of k8s version in semvercompare func in cronjob template charts (#5016) -- fix: Dockerfile ubuntu version (#5022) -- fix: application status changes to HIBERNATING, when hibernation fails due to some reason (#5005) -- fix: deleted api token can be reused if created again with same name (#4978) -- fix: Kubelink Requests getting Failed for gRPC method GetAppDetails (#5012) -- fix: terminate sync if in progress (#4946) -- fix: grpc error handling for TemplateChart req (#4980) -- fix: removed redundant import (#5004) -- fix: image promotion sql script (#4996) -- fix: image-approval-migartion fix (#4994) -- fix: ci-cd count per day in telemetry data (#4931) +- fix: EA mode wire fix (#5462) +- fix: compare manifest fixes (#5430) +- fix: override clusterRbac with direct allow behaviour for super admin (#5449) +- fix: external helm app when linked to devtron and page breaks while adding project to it, without switching back to applist (#5443) +- fix: empty the code and image scan script (#5434) +- fix: K8s Resource list RBAC ignore for Superadmin (#5415) +- fix: repo url and name handling with argocd (#5445) +- fix: fix for terminal disconnect issue when custom transport is being used (#5436) +- fix: gitops async failed for git cli mode in concurrent cases (#5412) +- fix: Updating pr-issue-validator-script (#5384) +- fix: optimised FetchLatestDeploymentWithChartRefs query (#5393) +- fix: nats consumer deleted on shutdown (#5377) +- fix: panic issue in get/ download pod logs api (#5342) +- fix: encountering panic in application groups in build and deploy page (#5330) +- fix: chart group rbac issue (#5183) +- fix: Multiple choice option for namespace in Kubernetes resource permission (#5293) +- fix: restart workloads fix in app group (#5313) +- fix: deployment chart fix (#5215) +- fix: docker file version fix (#5299) +- fix: hibernating status is not being updated in app listing page (#5294) ## Enhancements -- feat: notifier behind nats (#5185) -- feat: cd pipeline deployment history refactoring (#5200) -- feat: wire nil test in pre ci pipeline (#4858) -- feat: added recovery counter metrics (#5124) -- feat: auto remediation (#5137) -- feat: support for ca cert in trivy (#5064) -- feat: validation for pipeline Type (#4670) -- feat: propagate labels such as envName and projectName (#5063) -- feat: Plugin to trigger Devtron Job (#5053) -- feat: CD Trigger Plugin (#4810) -- feat: Introduction to feasibility in Deployment (#4862) +- feat: Checking multiarchitecture of images (#5232) +- feat: updated kubelink grpc client cfg (#5426) +- feat: Integration of Cranecopy plugin (#5131) +- feat: casbin upgraded to v2 (#5329) +- feat: new scripts added for rescan sbom support , helm manifest scan flag and git container links (#5406) +- feat: Reload materials api added (#5182) +- feat: mirgator plugin (#5347) +- feat: insecure support for chart-sync (#5328) +- feat: GitOps async install for devtron applications (#5169) +- feat: chart ref schema db migration (#5319) +- feat: Up and Down Script for BitBucket Plugin v1.0.0 (#4949) +- feat: Added statefulset chart 5.1.0 (#5199) +- feat: air gap registry v2 (#5220) +- feat: tenants and installations migration (#5187) ## Documentation -- doc: Created Resource Watcher Doc (#5193) -- doc: Modified Portforward Section to Kubectl Section (#5236) -- doc: Added enhancements to security doc (#5203) -- docs: update readme to include multi arch flag (#4998) -- docs: config.md updatation for new flag (#5061) -- doc: Fixes in Documentation for May Month (#5150) -- doc: Created Resource Watcher Doc (#5193) -- doc: Modified Portforward Section to Kubectl Section (#5236) -- doc: Added enhancements to security doc (#5203) -- docs: update readme to include multi arch flag (#4998) -- docs: config.md updatation for new flag (#5061) -- doc: Added kubectl port-fwd section in RB (#5139) -- doc: Added Bitbucket Data Center in GitOps doc (#5075) -- doc: Image promotion policy (#4762) -- doc: Revamped Resource Browser Doc (#5035) -- doc: Added Bulk Restart in Application Groups doc (#5080) -- doc: Added new doc in the index (#5029) -- doc: Changes made in the doc according to the newer version (#5024) -- doc: Added Linked CI with Child Info + Runtime Build Parameters (#4991) +- doc: Blob Storage Redirection + Other Fixes (#5432) +- doc: Added migration steps for 0.6 to 0.7 upgrade (#5411) +- doc: Created Deployment Window Draft (#4800) +- doc: Redirection Fix for User Permissions Doc + Other Fixes (#5382) +- doc: Redirection Fixes for 0.7 (#5381) +- doc: Redirection Issue Trial Fix (#5378) +- doc: Plugin Creation Doc (#5372) +- docs: Added specs for the global plugin Apis (#5362) +- docs: Fixes + Corrections in Docs (#5335) +- docs: fixed broken link in readme (#5337) +- docs: removed users (#5324) +- docs: Created a file for listing Devtron Users (#5310) ## Others -- chore: updated vendor (#5166) -- chore: gitops validation in api (#5082) -- chore: release v2 migration (#5126) -- chore: migration update for remote connection config (#5113) -- chore: added sql for release and release channels (#4898) -- chore: resource scan migration (#4977) -- chore: image promotion migration (#4992) -- misc: uniform GitHub action (#5069) +- chore: common-lib upgrade for nats replicas (#5446) +- chore: migration for gitops config (#5383) +- chore: update common-lib tag version (#5333) +- chore: updated go version in EA dockerfile (#5327) +