diff --git a/CHANGELOG/release-notes-v1.0.0.md b/CHANGELOG/release-notes-v1.0.0.md new file mode 100644 index 00000000000..e4a781cd21d --- /dev/null +++ b/CHANGELOG/release-notes-v1.0.0.md @@ -0,0 +1,31 @@ +## v1.0.0 + +## Bugs +- fix: Helm rollback in case of no gitops (#6005) +- fix: App detail deployed by (#6032) +- fix: Removed not null constraint for releaseOverride (#6044) +- fix: Showing inaccurate data in template/list api while fetching previous deployments list in template/list api, output shown was cartesian product of deployment_template_history and wfr (#6034) +- fix: Plugin getByName method error handling (#6016) +- fix: Config deployment history fix (#6003) +- fix: Force abort fix (#5990) +- fix: Helm deployment status (#5996) +- fix: Deployment window FIXED type (#5986) +- fix: Migration seq fix (#5962) +- fix: Modified the query for User listing with filters (#5957) +- fix: Bulk deploy panic and docker tag handling (#5949) +- fix: Stage artifact logic (#5913) +- fix: Permission access getting clubbed (#6045) +## Enhancements +- feat: Config diff enhancement (#5837) +- feat: Terminal role casbin policy (#5991) +- feat: Refactoring argo application service and common-lib constants (#5944) +## Others +- fix : Multiple param of filter in helm app list (#6013) +- chore: Adding refchart migration (#6007) +- chore: Cluster terminal images migration (#6006) +- misc: Removed deployment group validation when deleting CD pipelines (#5989) +- misc: Replaced != with <> for PostgreSQL compatibility (#5987) +- misc: isLatest field in plugin metadata tag changed to not_null (#5984) +- misc: Error handling while creating github repo in case of concurrent reqs (#5978) +- misc: Updated migration number (#5948) +- misc: Err handling for configmap access (#5938) diff --git a/COMMUNITY_CONTRIBUTIONS.md b/COMMUNITY_CONTRIBUTIONS.md index bcdf1e736cd..7a1515f9bd2 100644 --- a/COMMUNITY_CONTRIBUTIONS.md +++ b/COMMUNITY_CONTRIBUTIONS.md @@ -22,7 +22,7 @@ * https://www.financialexpress.com/industry/sme/devtron-a-business-opportunity-in-developers-needs/2274094/ - By Srinath Srinivasan -## Videos +## :video_camera: Videos * https://www.youtube.com/watch?v=ZKcfZC-zSMM - By Victor Farcic @@ -33,3 +33,4 @@ * https://www.youtube.com/watch?v=W4-UorfDQxI - Carbon_Capital Consulting * https://www.youtube.com/watch?v=FB5BI3Ef7uw&t=363s - Let's learn Devtron + diff --git a/README.md b/README.md index 4d47fe894ce..4390cda393f 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,19 @@ +Note: We have restrucutred the readme. If you are looking for Devtron's CI/CD capabilites, please [click here](#devtron-platform) +# +
-
-Explore documentation »
-
-Try Devtron Demo »
+«Explore Documentation» ||
+«Try Devtron Demo»
Website
·
@@ -23,92 +25,67 @@
.
YouTube
+
-🔥 Want to accelerate K8s adoption? Introducing DevOps in a Box; Leave DevOps on Devtron 🔥
-
-
-
diff --git a/assets/dashboard.png b/assets/dashboard.png new file mode 100644 index 00000000000..d6080a12773 Binary files /dev/null and b/assets/dashboard.png differ diff --git a/assets/devtron-feat-glance.png b/assets/devtron-feat-glance.png new file mode 100644 index 00000000000..2da94096ae4 Binary files /dev/null and b/assets/devtron-feat-glance.png differ diff --git a/charts/devtron/Chart.yaml b/charts/devtron/Chart.yaml index 3c4151ddeca..0ac62f17107 100644 --- a/charts/devtron/Chart.yaml +++ b/charts/devtron/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: devtron-operator -appVersion: 0.7.4 +appVersion: 1.0.0 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.76 +version: 0.22.77 sources: - https://github.com/devtron-labs/charts dependencies: diff --git a/charts/devtron/devtron-bom.yaml b/charts/devtron/devtron-bom.yaml index f7ed0a24256..18e031ffc47 100644 --- a/charts/devtron/devtron-bom.yaml +++ b/charts/devtron/devtron-bom.yaml @@ -10,7 +10,7 @@ global: containerRegistry: "quay.io/devtron" extraManifests: [] installer: - release: "v0.7.4" + release: "v1.0.0" registry: "" image: "inception" tag: "473deaa4-185-21582" @@ -34,17 +34,17 @@ components: FEATURE_USER_DEFINED_GITOPS_REPO_ENABLE: "true" ENABLE_RESOURCE_SCAN: "true" registry: "" - image: "dashboard:5be7fbeb-690-26830" + image: "dashboard:7e7a0d0a-690-26996" imagePullPolicy: IfNotPresent devtron: registry: "" - image: "hyperion:4288e910-280-26829" - cicdImage: "devtron:4288e910-434-26828" + image: "hyperion:15cf0137-280-27017" + cicdImage: "devtron:15cf0137-434-27015" imagePullPolicy: IfNotPresent customOverrides: {} ciRunner: registry: "" - image: "ci-runner:fd5702db-138-25483" + image: "ci-runner:3e71f258-138-27009" argocdDexServer: registry: "" image: "dex:v2.30.2" diff --git a/charts/devtron/values.yaml b/charts/devtron/values.yaml index 372c22f4e64..f0b39dfbb79 100644 --- a/charts/devtron/values.yaml +++ b/charts/devtron/values.yaml @@ -24,7 +24,7 @@ global: extraManifests: [] installer: repo: "devtron-labs/devtron" - release: "v0.7.4" + release: "v1.0.0" registry: "" image: inception tag: 473deaa4-185-21582 @@ -77,12 +77,12 @@ components: FEATURE_USER_DEFINED_GITOPS_REPO_ENABLE: "true" ENABLE_RESOURCE_SCAN: "true" registry: "" - image: "dashboard:5be7fbeb-690-26830" + image: "dashboard:7e7a0d0a-690-26996" imagePullPolicy: IfNotPresent devtron: registry: "" - image: "hyperion:4288e910-280-26829" - cicdImage: "devtron:4288e910-434-26828" + image: "hyperion:15cf0137-280-27017" + cicdImage: "devtron:15cf0137-434-27015" imagePullPolicy: IfNotPresent customOverrides: {} serviceMonitor: @@ -108,7 +108,7 @@ components: # - devtron.example.com ciRunner: registry: "" - image: "ci-runner:fd5702db-138-25483" + image: "ci-runner:3e71f258-138-27009" argocdDexServer: registry: "" image: "dex:v2.30.2" diff --git a/manifests/install/devtron-installer.yaml b/manifests/install/devtron-installer.yaml index 8d75f6caade..8a1f106b6c5 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.4/manifests/installation-script + url: https://raw.githubusercontent.com/devtron-labs/devtron/v1.0.0/manifests/installation-script diff --git a/manifests/installation-script b/manifests/installation-script index 6e583d64f2c..8fa866882c1 100644 --- a/manifests/installation-script +++ b/manifests/installation-script @@ -1,4 +1,4 @@ -LTAG="v0.7.4"; +LTAG="v1.0.0"; 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 d939acb359a..7e2152bcde8 100644 --- a/manifests/release.txt +++ b/manifests/release.txt @@ -1 +1 @@ -stable -1 v0.7.4 +stable -1 v1.0.0 diff --git a/manifests/version.txt b/manifests/version.txt index 520c9c28b7f..0ec25f7505c 100644 --- a/manifests/version.txt +++ b/manifests/version.txt @@ -1 +1 @@ -v0.7.4 +v1.0.0 diff --git a/manifests/yamls/dashboard.yaml b/manifests/yamls/dashboard.yaml index 475479cb8f2..a1dc6a58ee9 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:5be7fbeb-690-26830" + image: "quay.io/devtron/dashboard:7e7a0d0a-690-26996" imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false diff --git a/manifests/yamls/devtron.yaml b/manifests/yamls/devtron.yaml index 2c5efac0e86..ba8dcaae76f 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:fd5702db-138-25483" + DEFAULT_CI_IMAGE: "quay.io/devtron/ci-runner:3e71f258-138-27009" DEFAULT_CD_TIMEOUT: "3600" WF_CONTROLLER_INSTANCE_ID: "devtron-runner" CI_LOGS_KEY_PREFIX: "ci-artifacts" @@ -169,7 +169,7 @@ spec: runAsUser: 1000 containers: - name: devtron - image: "quay.io/devtron/devtron:4288e910-434-26828" + image: "quay.io/devtron/devtron:15cf0137-434-27015" securityContext: allowPrivilegeEscalation: false runAsUser: 1000 diff --git a/pkg/app/AppService.go b/pkg/app/AppService.go index 2018f5cd0d6..447b6efa0d6 100644 --- a/pkg/app/AppService.go +++ b/pkg/app/AppService.go @@ -129,7 +129,6 @@ type AppServiceImpl struct { type AppService interface { UpdateReleaseStatus(request *bean.ReleaseStatusUpdateRequest) (bool, error) - UpdateDeploymentStatusAndCheckIsSucceeded(app *v1alpha1.Application, statusTime time.Time, isAppStore bool) (bool, *chartConfig.PipelineOverride, error) GetConfigMapAndSecretJson(appId int, envId int, pipelineId int) ([]byte, error) UpdateCdWorkflowRunnerByACDObject(app *v1alpha1.Application, cdWfrId int, updateTimedOutStatus bool) error GetCmSecretNew(appId int, envId int, isJob bool, scope resourceQualifiers.Scope) (*bean.ConfigMapJson, *bean.ConfigSecretJson, error) @@ -211,64 +210,6 @@ func (impl *AppServiceImpl) UpdateReleaseStatus(updateStatusRequest *bean.Releas return count == 1, nil } -func (impl *AppServiceImpl) UpdateDeploymentStatusAndCheckIsSucceeded(app *v1alpha1.Application, statusTime time.Time, isAppStore bool) (bool, *chartConfig.PipelineOverride, error) { - isSucceeded := false - var err error - var pipelineOverride *chartConfig.PipelineOverride - if isAppStore { - var installAppDeleteRequest repository4.InstallAppDeleteRequest - var gitHash string - if app.Operation != nil && app.Operation.Sync != nil { - gitHash = app.Operation.Sync.Revision - } else if app.Status.OperationState != nil && app.Status.OperationState.Operation.Sync != nil { - gitHash = app.Status.OperationState.Operation.Sync.Revision - } - installAppDeleteRequest, err = impl.installedAppRepository.GetInstalledAppByGitHash(gitHash) - if err != nil { - impl.logger.Errorw("error in fetching installed app by git hash from installed app repository", "err", err) - return isSucceeded, pipelineOverride, err - } - if installAppDeleteRequest.EnvironmentId > 0 { - err = impl.appStatusService.UpdateStatusWithAppIdEnvId(installAppDeleteRequest.AppId, installAppDeleteRequest.EnvironmentId, string(app.Status.Health.Status)) - if err != nil { - impl.logger.Errorw("error occurred while updating app status in app_status table", "error", err, "appId", installAppDeleteRequest.AppId, "envId", installAppDeleteRequest.EnvironmentId) - } - impl.logger.Debugw("skipping application status update as this app is chart", "appId", installAppDeleteRequest.AppId, "envId", installAppDeleteRequest.EnvironmentId) - } - } else { - repoUrl := app.Spec.Source.RepoURL - // backward compatibility for updating application status - if unable to find app check it in charts - chart, err := impl.chartRepository.FindChartByGitRepoUrl(repoUrl) - if err != nil { - impl.logger.Errorw("error in fetching chart", "repoUrl", repoUrl, "err", err) - return isSucceeded, pipelineOverride, err - } - if chart == nil { - impl.logger.Errorw("no git repo found for url", "repoUrl", repoUrl) - return isSucceeded, pipelineOverride, fmt.Errorf("no git repo found for url %s", repoUrl) - } - envId, err := impl.appRepository.FindEnvironmentIdForInstalledApp(chart.AppId) - if err != nil { - impl.logger.Errorw("error in fetching app", "err", err, "app", chart.AppId) - return isSucceeded, pipelineOverride, err - } - if envId > 0 { - err = impl.appStatusService.UpdateStatusWithAppIdEnvId(chart.AppId, envId, string(app.Status.Health.Status)) - if err != nil { - impl.logger.Errorw("error occurred while updating app status in app_status table", "error", err, "appId", chart.AppId, "envId", envId) - } - impl.logger.Debugw("skipping application status update as this app is chart", "appId", chart.AppId, "envId", envId) - } - } - - isSucceeded, _, pipelineOverride, err = impl.UpdateDeploymentStatusForGitOpsPipelines(app, statusTime, isAppStore) - if err != nil { - impl.logger.Errorw("error in updating deployment status", "argoAppName", app.Name) - return isSucceeded, pipelineOverride, err - } - return isSucceeded, pipelineOverride, nil -} - func (impl *AppServiceImpl) ComputeAppstatus(appId, envId int, status health2.HealthStatusCode) (string, error) { appStatusInternal := string(status) diff --git a/pkg/app/integrationTest/AppService_test.go b/pkg/app/integrationTest/AppService_test.go index df82ad7c44a..6792a1b8760 100644 --- a/pkg/app/integrationTest/AppService_test.go +++ b/pkg/app/integrationTest/AppService_test.go @@ -104,7 +104,7 @@ func TestAppServiceImpl_UpdateDeploymentStatusAndCheckIsSucceeded(t *testing.T) wantErr: wantErr, } t.Run(tt.name, func(t *testing.T) { - got, _, err := appService.UpdateDeploymentStatusAndCheckIsSucceeded(tt.args.app, tt.args.statusTime, false) + got, _, _, err := appService.UpdateDeploymentStatusForGitOpsPipelines(tt.args.app, tt.args.statusTime, false) if (err != nil) != tt.wantErr { t.Errorf("UpdateDeploymentStatusAndCheckIsSucceeded() error = %v, wantErr %v", err, tt.wantErr) return diff --git a/pkg/eventProcessor/in/DeployedApplicationEventProcessorService.go b/pkg/eventProcessor/in/DeployedApplicationEventProcessorService.go index e3680d68285..c71392027a7 100644 --- a/pkg/eventProcessor/in/DeployedApplicationEventProcessorService.go +++ b/pkg/eventProcessor/in/DeployedApplicationEventProcessorService.go @@ -124,7 +124,7 @@ func (impl *DeployedApplicationEventProcessorImpl) SubscribeArgoAppUpdate() erro return } } - isSucceeded, pipelineOverride, err := impl.appService.UpdateDeploymentStatusAndCheckIsSucceeded(app, applicationDetail.StatusTime, isAppStoreApplication) + isSucceeded, _, pipelineOverride, err := impl.appService.UpdateDeploymentStatusForGitOpsPipelines(app, applicationDetail.StatusTime, isAppStoreApplication) if err != nil { impl.logger.Errorw("error on application status update", "err", err, "msg", string(msg.Data)) // TODO - check update for charts - fix this call diff --git a/releasenotes.md b/releasenotes.md index fe47d49af2e..3a479846362 100644 --- a/releasenotes.md +++ b/releasenotes.md @@ -1,4 +1,6 @@ -## v0.7.4 +We are extremely excited to announce Devtron's official release of Devtron 1.0. This marks an incredible milestone in our journey. Your valuable feedback and suggestions are what have helped us build the platform and constantly provide value to our users. This is just the beginning - we remain committed to innovation and will continue to deliver powerful features that enhance your DevOps experience based on community feedback and evolving industry needs. + +## v1.0.0 ## Bugs - fix: Helm rollback in case of no gitops (#6005) @@ -8,34 +10,24 @@ - fix: Plugin getByName method error handling (#6016) - fix: Config deployment history fix (#6003) - fix: Force abort fix (#5990) -- fix: Custom tag (#5999) - fix: Helm deployment status (#5996) - fix: Deployment window FIXED type (#5986) - fix: Migration seq fix (#5962) - fix: Modified the query for User listing with filters (#5957) - fix: Bulk deploy panic and docker tag handling (#5949) -- fix: stage artifact logic (#5913) +- fix: Stage artifact logic (#5913) +- fix: Permission access getting clubbed (#6045) ## Enhancements - feat: Config diff enhancement (#5837) - feat: Terminal role casbin policy (#5991) - feat: Refactoring argo application service and common-lib constants (#5944) -- feat: Feature release v9 sql scripts (#5950) ## Others -- misc: Main sync develop (#6047) -- misc: Permission access getting clubbed (#6045) - fix : Multiple param of filter in helm app list (#6013) - chore: Adding refchart migration (#6007) - chore: Cluster terminal images migration (#6006) -- chore: Trigger clean (#6004) - misc: Removed deployment group validation when deleting CD pipelines (#5989) - misc: Replaced != with <> for PostgreSQL compatibility (#5987) -- misc: Main sync 14 oct 2024 (#5985) -- misc: isLatest field in plugin_metadata tag changed to not_null (#5984) -- chore: Main sync develop (#5983) -- misc: error handling while creating github repo in case of concurrent reqs (#5978) -- misc: Release candidate v0.20.0 (#5980) -- misc: Release candidate v0.19.0 (#5930) -- misc: updated migration number (#5948) -- misc: err handling for configmap access (#5938) - - +- misc: isLatest field in plugin metadata tag changed to not_null (#5984) +- misc: Error handling while creating github repo in case of concurrent reqs (#5978) +- misc: Updated migration number (#5948) +- misc: Err handling for configmap access (#5938)