Get acquainted with the latest EDP releases.
Earlier Versions
- Version 2.12.2
- Version 2.12.1
- Version 2.12.0
- Version 2.11.0
- Version 2.10.2
- Version 2.10.1
- Version 2.10.0
- Version 2.9.0
- Version 2.8.4
- Version 2.8.3
- Version 2.8.2
- Version 2.8.1
- Version 2.8.0
- Version 2.7.8
- Version 2.7.7
- Version 2.7.6
- Version 2.7.5
- Version 2.7.4
- Version 2.7.2
- Version 2.7.1
- Version 2.7.0
- Version 2.6.4
- Version 2.6.3
- Version 2.6.2
- Version 2.6.1
- Version 2.6.0
In this release, Headlamp UI has been updated. Particularly, the component creation procedure has been significantly changed to be more intuitive. Users can also observe visualized autotest monitoring provided with clickable links to the corresponding Tekton pipelines. Also, we provided completely new component type called Infrastructure which is designed to build infrastructures powered by Terraform.
We are thrilled to announce that one of our features called Autodeploy is now also available for Tekton CI tool. It is designed to automatically define the latest artifact tag and upgrade this service on each environment where this service is deployed. This crucial feature aimed to automate the application update procedure when using Tekton.
With version 3.3.0, the Create and Clone strategies have become available for GitLab/GitHub version control systems. This enhancement provides increased flexibility for onboarding your applications within our platform.
We have provided Java Multi-Module support for Tekton CI tool. This enhancement improves code organization, build time, dependency management, testing, parallel development, and overall maintainability of applications.
One of our major highlights is that code review pipelines can now be re-triggered manually to force their runs. This feature was implemented to simplify the code review process.
From now on, EDP supports Terraform infrastructure as an additional language out of the box. Better still, we have added the new frameworks, such as Vue, Angular and Express frameworks for JavaScript, Gin framework for Go and .Net 3.1 framework support for C# which migrated from the previous deploy scenario.
Apart from that, we are presenting our EDP Introduction video. This video provides a comprehensive overview of the platform's capabilities and benefits, making it easier for users to get started and maximize their productivity.
Lastly, users can easily check their applications for bugs or other issues using Autotests as a Quality Gate. This powerful addition allows users to conveniently add multiple autotests to any environment, be it development or production. By running the appropriate autotests, users can effectively evaluate the stability of your application and ensure it functions properly.
- Alpine image version is updated to the 3.16.4 version.
- Go language is updated to the 1.19 version.
- Prometheus stack is updated to the 45.21.0 version.
- Argo CD is updated to the 2.7.0 version.
- Headlamp is updated to the 0.16.0 version.
- Tekton dashboard is updated to the 0.35.0 version.
- Semgrep scanner is updated to the 1.19.0 version.
- Go security scanner is updated to the 2.15.0 version.
- The additional volumes in OAuth2-Proxy are now can be added to improve data management.
- Custom certificates are now also supported by Headlamp to make Headlamp UI more secure.
- Nexus proxy usage is implemented for the NPM package manager. This feature will increase Nexus flexibility.
- Code review pipelines can now be re-triggered manually to force their runs by sending "/recheck" reply message. This might be helpful if the code review process is stuck.
- Autotests as a Quality Gates are now displayed in the CD Pipelines menu for Tekton deploy scenario. This allows users to monitor run status for autotests. By running the appropriate autotests, users can ensure if the application functions properly. Autotest are to also provided with clickable links to have to the possibility to observe pipeline runs.
- GitLab and GitHub now support Create and Clone strategies. This improvement provides increased flexibility for onboarding applications in EDP.
- New type of component called Infrastructure is added to Headlamp. It allows users to create cloud infrastructures powered by AWS from scratch.
- Vue, Angular and Express frameworks support is added for JavaScript language.
- Gin framework support is added for Go language.
- Headlamp UI now supports deploying Helm applications.
- To improve overall integration with other tools. We have added such links to pipeline stages that lead users to Grafana, Kibana, Argo CD, and cluster.
- To simplify secret creation workflow, Argo CD OIDC client can now be provided with custom secret name.
- In the
Components
menu in Headlamp UI, near the build status icon, theGo to the Source code
andGo to the Quality Gates
clickable icons is added to navigate users directly to the corresponding application code and quality gates. - To simplify bug reporting procedure, templates for reporting GitHub issues in our operators are created. Please see an example.
- The codebase template chart has been refactored, so now it is aligned to upstream and doesn't contain deprecated parameters.
- The .Net language option is hidden from the codebase creation menu for non-Jenkins CI tools.
- Now the
code-review
pipeline includes theDockerbuild-verify
stage that depends on thebuild
step, thus allowing to build the application.
- The
JenkinsFolder
repository URL is added for create/clone strategy if Jenkins deploy scenario is used. - The hard-coded
project-creator
SSH user was removed, Git application path to Git repo provisioning was aligned. - Fixed issue when the first reconciliation fails with a git clone error for import strategy.
- Hotfix swap namespace/name in delete resource request.
- Fixed issue when Java and JavaScript pipelines were failing when the JIRA integration option was enabled for create strategy.
- Fixed wrong tag attachment when EDP versioning is used.
-
The User Guide is updated with the following:
- The Add CD Pipeline page has been updated.
- The Add Application page has been updated.
- The Add Autotest page has been updated.
- The Add Library page has been updated.
-
The Operator Guide is updated with the following:
- The Manage Namespace page has been added.
- The Argo CD Integration page has been updated.
- The Aggregate Application Logs Using EFK Stack page has been added.
- The Protect Endpoints page has been updated.
- The Install EDP page has been updated.
- The Microsoft Teams Notification page has been added.
- The Set Up Kubernetes page has been updated.
- The Enable VCS Import Strategy page has been updated.
-
The Use Cases is updated with the following:
- The Secured Secrets Management for Application Deployment page has been added.
- Fixed issue when the
keycloakclientscope
resource couldn't be created depending on the Argo CD integration settings.
- The ability of using custom certificates is added to nexus-operator OAuth2-Proxy.
- The ability of using custom certificates is added to edp-install OAuth2-Proxy.
- Remove the unused RoleBinding for jenkins-operator for OpenShift deploy scenario.
One of the major highlights of this release is the addition of support for the latest Java 17 language version. Furthermore, we have added support for the FastAPI and Flask frameworks for Python language. We have also included support for the .NET 6.0 framework for C# language. We have expanded our support to include Helm as a library. This will allow users to onboard their custom charts and facilitate development.
To improve security and streamline the login process, we have improved the RBAC model for cluster login. Thus, we have enriched this with more granular permissions.
We are pleased to announce that our platform now has the ability to use custom certificates when deploying platform. This feature provides greater flexibility and customization options for users, enabling them to provide an additional level of flexibility.
In addition to this, we have introduced the ability to enable Single Sign-On for the services (applications) that do not support OIDC from the box. This feature offers high flexibility, enabling you to choose the optimal authentication solution.
We have integrated Kaniko to OpenShift internal registry, allowing users to build and store their container images with OpenShift native solution. This integration offers a range of benefits, including faster build times and greater control over image for OpenShift users.
We are excited to introduce a new section in our documentation called "Use Cases". This section has been thoughtfully designed to guide you through the most common scenarios for using EDP, helping you to gain a better understanding of how our platform can be utilized to its full potential. By reading through these use cases, you will be equipped with the knowledge and tools you need to make the most of EDP and build advanced, high-quality applications with ease.
Explore the upgrades, new functionality and improvements below.
- Keycloak is updated to the 20.0.3 version.
- Operator SDK is updated to the 1.25.3 version.
- Alpine image is updated to the 3.16.4 version.
- .NET is updated to the 6.0 version.
- Findbugs plugin version in SonarQube is updated to the 4.2.2 version.
- Our latest application version includes an upgrade to the upstream Headlamp version 0.16.0, which is now the foundation for our platform.
- Semgrep is updated to the 1.2.1 version.
- Argo CD is updated to the 2.5.8 version.
- The
VERSION
file creation for Go codebases is removed. - Read-only mode in tekton-dashboard is now available.
- Cd-pipeline-operator now manages projects instead of namespaces on OpenShift.
- Kiosk integration when using OpenShift cluster is removed.
- The
cd-pipeline-operator
is now responsible for RBAC in the created namespaces. - The ability to set constant requeue time in GroupMember reconciler is added.
- Add monitoring and logging stack to the helmfile.
- Health check for Headlamp deployment is added.
- In Headlamp UI, the
Repository URL
field is renamed to 'Forked from' for the cases of using clone strategy. - Tekton pipelines are now available in Headlamp UI.
- The user is now able to onboard an application with custom framework/language version.
- Empty project button is now hidden if clone/import strategy is used.
- Commit validation functionality is available without JIRA integration.
- Error message of reconciliation is available over status in case of failure in Headlamp UI.
- The update/uninstall buttons when deploy pipeline run is in "running" status have been disabled.
- The
Last time updated
field has been removed from Headlamp codebaseBranch info. - In the components overview list, icons have been provided for the language/framework/build tool/ci tool elements.
- The Quality Gate Pipeline can now be run by the user only when the health status is green.
- Request-limit resource block is added to Tekton tasks.
- We have made the
awsRegion
parameter optional in order to eliminate the dependency on any specific cloud provider. - The deployment of EDP has been aligned with the requirements of the OpenShift cluster (OKD 4.10).
- Change icon for docker-registry on overview page.
- From now on, the
Git repo relative path
field is checked for uniqueness when creating application. - The field
From Commit Hash
in Headlamp is now validated to ensure that the entered commit hash exists so now users can not enter any numbers in the field. - App list rendering has been optimized.
- Resource details page crashes when resource has no status.
-
The EDP RoadMap page is updated.
-
The Use Cases is updated with the following:
- The Scaffold and Deploy FastAPI Application page is added.
- The Deploy Application With Custom Build Tool/Framework page is added.
-
The User Guide is updated with the following:
- The Headlamp User Guide tab is renamed to User Guide.
- The Headlamp OIDC Integration page is added.
- The Add Quality Gate page is added.
- The Add Application page is added.
-
The Operator Guide is updated with the following:
- The Report-Portal integration page is added.
- The Tekton Overview page is added.
- The Upgrade EDP v2.12 to 3.0 page is updated.
- The Argo CD Integration page is updated.
- The Install Amazon EBS CSI Driver page is added.
- The Migrate CI Pipelines From Jenkins to Tekton page is added.
- The Install Keycloak page is updated.
- The Monitoring page is added.
- The EDP Installation Prerequisites Overview page is updated.
- The Set Up Kubernetes page is updated.
- The Manage Custom Certificates page is added.
- The Protect Endpoints page is added.
-
The Developer Guide is updated with the following:
- The Local Development Guide page is updated and renamed to Workspace Setup Manual.
-
The Getting Started is updated with the following:
- The EDP Overview page is updated.
- The Quick Start page is updated.
- The Supported Versions and Compatibility page is added.
- Update Tekton Operator to the v0.64.0 version.
- Gerrit and Jenkins Operators now can manage respective resources through custom URL.
- Provide the ability to install
kiosk helm chart
for users using helmfile. - [Headlamp] Ensure secret is created in correct format for GitServer.
- Use Argo CD for the deployment of an application added with the Import strategy.
- [Headlamp] Disable 'Create' and 'Clone' button for Import strategy.
- [Headlamp] Merge Applications, Libraries, and Autotests into Components section.
- [Headlamp] Zoom in the tooltips for a better view.
Headlamp
creates a Tekton PipelineRun with a name that consists of an application name and a branch.- Remove duplicate parameters for configuring
perf-operator
in Helm chart. - Deprecated Kubernetes resources for
edp-db
have been removed from theedp-install
helm chart.
- Fix the consideration of the
commit hash validity
during the promotion of a new codebase branch. - Tekton CI pipelines generate Jira
fixVersion
in lowercase, previously both uppercase and lowercase names were allowed causing an error. - [Headlamp] Fix the usage of autotests as a part of quality gate.
- [Headlamp] Fix the description in the
Relative Path
field. - [Headlamp] Fix the commit message pattern for Jira integration.
- [Headlamp] Fix the font size for the Components page titles.
-
The Operator Guide is updated with the following:
- The Install Tekton page is updated.
- The Manage Jenkins CI Pipeline Job Provisioner page is updated.
- The Install ReportPortal page is updated.
- The Install via Helmfile page is updated.
- The Install EDP page is updated.
- The EDP Installation Prerequisites Overview page is added.
- The Enable VCS Import Strategy page is updated.
- The Add a Custom Global Pipeline Library page is updated.
- The Set Up Kubernetes page is updated.
- The Set Up OpenShift page is updated.
- The Install Keycloak page is updated.
- The Argo CD Integration page is updated.
- The Upgrade EDP v.2.11.x to v.2.12.x page is updated.
- The Upgrade EDP v.2.12.x to v.3.0.x page is added.
-
The Quick Start page is updated.
In EDP 3.0.0, Tekton is used alongside Jenkins for building, testing, and deploying application components. Tekton is a cloud-native CI/CD solution working seamlessly with Kubernetes and OpenShift Container Platform.
Argo CD is integrated with EDP and allows using GitOps approach for Kubernetes application deployment.
The Keycloak operator is now available on the OperatorHub. Now this operator can be installed on the OpenShift cluster using the OperatorHub installation approach.
EDP Headlamp UI tool is now used as a new EDP dashboard. Because of the EDP Headlamp implementation, the edp-admin-console and edp-reconciler tools are deprecated and completely removed.
EDP suggests ReportPortal as a primary test result aggregation tool. The ReportPortal tool integration with EDP allows categorizing the automated test results and reduce test results analysis efforts using built-in analytics features and Machine Learning.
Explore the upgrades, new functionality, breaking changes and improvements below.
- Kubectl is updated to the 1.24.3 version.
- Helm is updated to the 3.10.2 version.
- Gerrit is updated to the 3.6.2 version.
- Jenkins is updated to the 2.375.1 version, as well as Jenkins plugins are updated to the latest stable versions.
- SonarQube is updated to the 8.9.10 version.
- Nexus is updated to the 3.43.0 version.
- Argo CD is updated to the 2.5.3 version.
- Keycloak is updated to the 20.0.1 version.
- Golang is updated to the 1.19.3 version.
- DefectDojo is updated to the 2.17.0 version.
- The
edp-tekton
is enabled as a EDP subcomponent and a part of the EDP deployment pipeline. - The web and desktop versions of EDP Headlamp are implemented.
- The
keycloak-operator
is published on the OperatorHub. The Keycloak client is updated alongside with the KeycloakClient custom resource. - The ReportPortal functionality is integrated into EDP. The ReportPortal deployment is added into the Helmfile.
- The Argo CD functionality is integrated into EDP. Argo CD application is deployed in the edp-tenant and Gerrit Argo CD user is created.
- The
basePath
variable is added to thegerrit-operator
to form thegerritApiUrl
.
- Dotnet 2.1 is no longer supported.
- The
edp-reconciler
is no longer supported. All V1 API handlers are switched to V2 version and database resources are removed from the deployment templates. - The
edp-admin-console
is no longer supported. All REST and WebUI handlers are deprecated and database resources are removed from the deployment templates. - The
edp-argocd-operator
is no longer supported. - The process of resource updating operations is refactored for the codebase controller, thus shortening the reconciliation period.
- Keycloak adapter client structure is updated when updating
KeycloakClient
custom resource. - New approach to SonarQube plugins installation is implemented in the
sonar-operator
repository. - By default, anonymous statistics for SonarQube deployment is disabled.
- The
create-release
job possible failure is fixed on thecreate-branch
step. - The
codebase-operator
leader election is fixed. - The
ImageName
parameter is aligned for the verified stages of the CD pipeline. - The
sonar-project.properties
are now considered in the Npm code review.
-
The EDP RoadMap is updated.
-
The Headlamp User Guide is created.
-
The Operator Guide is updated with the following:
- The ReportPortal section is created with the Integration With Tekton and Keycloak Integration pages.
- The Use Cert-Manager in OpenShift page is added.
- The Logsight Integration page is added.
- The Upgrade Keycloak v.17.0.x-Legacy to v.19.0.x page is added.
- The Overview page is updated.
- The Debug GitLab Webhooks in Jenkins page is updated.
- The GitLab Integration page is updated.
- The Debug GitHub Webhooks in Jenkins page is updated.
- The GitHub Integration page is updated.
- The Enable VCS Import Strategy page is updated.
- The Adjust Jira Integration page is updated.
- The Install via Helmfile page is updated.
- The Install ReportPortal page is updated.
- The Install Argo CD page is updated.
- The Install DefectDojo page is updated.
- The Install Keycloak page is updated.
- The Install EDP page is updated.
- The Deploy AWS EKS Cluster page is updated.
- The Manage Jenkins CI Pipeline Job Provisioner page is updated.
- The Argo CD Integration page is updated.
-
The User Guide is updated with the following:
- The Add a Custom Global Pipeline Library page is updated.
- The CI Pipeline for Container page is updated with the Tools for Container Images Building section.
- The Add Library page is updated.
- The Customize CI Pipeline page is updated.
-
The FAQ documentation section is updated with the following:
- Gerrit and Jenkins Operators now can manage respective resources through custom URL.
- The basePath key can be indicated in the Gerrit Operator custom resource to form gerritApiUrl.
- Fix Gerrit project syncer and controller conflict in the Gerrit Operator to reduce the delay during the multiple projects sync.
- Kiosk integration with the cd-pipeline operator is no longer mandatory for the EDP deployment.
- By default, Java 8 Maven and Java 8 Gradle Jenkins agents now use Java 8 instead of Java 11.
- The 431 error for Nexus is fixed by increasing the request header size.
- Remote Git HEAD is set as a default branch in Gerrit.
EDP 2.12.0 version presents EDP Argo CD Operator that runs as an adapter layer between the EDP Platform and Argo CD and manages the EDP Argo CD Tenants. Argo CD is suggested as a solution providing the Continuous Delivery capabilities.
Another new EDP subcomponent is EDP Headlamp that is a new UI on React.js that will replace the EDP Admin Console in future releases. EDP Headlamp, based on the Kinvolk Headlamp UI Client, provides the ability to define pipelines and project resources in a simple way.
Now EDP also provides the implemented Static Application Security Testing (SAST) support allowing to work with the Semgrep security scanner and the DefectDojo vulnerability management system to check the source code for known vulnerabilities. SAST is introduced as a mandatory part of the CI Pipelines.
Since this release, External Secret Operator is a recommended secret management tool for the EDP components.
EDP operator manifests have been updated to the latest v1 API version. Now EDP Platform supports Kubernetes versions 1.22+ and runs on the 4.9 and 4.10 OKD versions.
Creating the IAM Roles for Service Account is a recommended way to work with AWS Resources from the OKD cluster.
Explore the upgrades, new functionality, breaking changes and improvements below.
- Gerrit is updated to the 3.6.1 version, please refer to the official website.
- Keycloak is updated to the 19.0.1 version, please refer to the official website.
- EDP Custom resource definitions now use the stable
apiextensions.k8s.io/v1
API version, please refer to the official website. - SonarQube is updated to the 8.9.9 version, please refer to the official website.
- Nexus is updated to the 3.41.0 version, please refer to the official website.
- The Alpine Operators Base Image is updated to the 3.16.2 version, please refer to the official website.
- Jenkins is updated to the 2.346.3 version, please refer to the official website.
- All components in the Jenkins agents are updated to the latest stable versions.
- Go version in all EDP operators are updated to the 1.18.4 version, please refer to the official website.
- Kaniko images are updated to the 1.8.1 version, please refer to the official website.
- Now it is possible to use External Secrets Operator.
- The SAST Static security analysis testing, namely the DefectDojo component, is installed as a part of the EDP ecosystem.
- EDP Headlamp is added as a new EDP subcomponent that will replace the EDP Admin Console in future releases.
- EDP Argo CD Operator is a new EDP subcomponent that manages the EDP Argo CD Tenants.
- The Helmfile is introduced as an approach for the EDP ecosystem deployment.
- The Logsight integration is implemented as an optional step into the CD pipeline on the
edp-delivery
. - The Keycloak-X is now used on the EDP platform.
- For the Keycloak Operator, a user can manage the assignment of the default scope mapper for the
keycloakclient
custom resource.
- Starting from this release, it is expected that a
CodebaseBranches
custom resource definition uses astatus
field as a subresource.
- The OKD 4.10 cluster is deployed in the AWS cloud. Please refer to the Deploy OKD 4.10 Cluster page for the details.
- The RBAC schema for the
cd-pipeline-operator
andjenkins-operator
is refactored. - The Keycloak custom resources are aligned with the Argo CD integration.
- The EDP Helm charts are populated with the metadata to be exposed on the Artifact Hub.
- The
previous-stage-name
is removed from the Jenkins deployed versions view. - The
deployments
is now a default deployment type for the OpenShift cluster.
- The exponential back-off is used when retrying the
GerritGroupMemeber
reconciliation. - The
Chart.yaml
content is aligned throughout the EDP. - Git checkout is fixed for an Autotest step of the CD Pipeline.
- The EDP deploy on the OKD 4.9 cluster works as expected after a typo has been fixed in the CI job-provisioner for the OpenShift cluster, and user creation process for the OpenShift cluster has been refactored.
- A
status
field is now ignored during the update of a Stage custom resource, and a CD Stage is successfully created. - The password policy can be successfully created in the Keycloak realm using a custom resource.
- A status for the
GerritGroupMember
custom resource is updated as expected. - The deprecated Custom Resource Definition fields are removed from the EDP
codebase-operator
. - The
mdx_truly_sane_lists
issue when building MkDocs is fixed. - The
sonar-operator
API is updated to be compliant with SonarQube 8.9.9.
-
The EDP RoadMap is updated.
-
The Operator Guide is updated with the following:
- The Upgrade EDP v.2.11.0 to v.2.12.0 page is added.
- The Install via Helmfile page is updated.
- The Deploy OKD 4.10 Cluster page is added.
- The Install DefectDojo page is added.
- The Secrets Management section is added including the Install External Secrets Operator and External Secrets Operator Integration pages.
- The Install Keycloak page is added.
- The Argo CD Integration page is added.
- The Static Application Security Testing section is added including the Static Application Security Testing Overview, Add Security Scanner, and Semgrep pages.
- The Manage Jenkins CI Pipeline Job Provisioner page is updated.
- The Associate IAM Roles With Service Accounts page is updated.
- The Install NGINX Ingress Controller page is updated.
- The EKS OIDC With Keycloak page is updated.
- The Upgrade EDP v.2.10.x to v.2.11.x page is updated.
-
The User Guide is updated with the following:
- The CI Pipeline for Terraform page is updated.
EDP 2.11.0 version presents the CD pipeline customizations, namely, now it is possible to populate secrets to different environments and stages; to remove Helm releases from a namespace, thus allowing to redeploy the application from scratch. CD pipeline flexible optimizations providing the ability to define custom logic of the application deployment. In addition to the automation deployment proceeding with the latest versions and manual selection of the necessary version, there is a possibility to build your own custom deployment logic. From the side of operators, there is a bulk of Gerrit improvements for the merge requests: tracking MR statuses, creating MRs directly from a custom resource and with the data specified in a config map. In Keycloak, now it is possible to configure Keycloak Realm Password Policy, to make the Keycloak Realm role mappers optional, to set the full reconciliation for the Keycloak Realm user, and to configure and create the Authentication flows via the KeycloakAuthflow custom resource. Also, there are extensions of Jenkins Shared Libraries allowing to add any shared library using custom resource. In addition, the Docker support is available.
Explore the upgrades, new functionality, breaking changes and improvements below.
- SonarQube is updated to the LTS 8.9.8 Community Edition. For details, please refer to the official website.
- Jenkins is updated to the LTS 2.332.2 version. For details, please refer to the official website.
- All Alpine-based images are updated to the 3.15.4 version. For details, please refer to the official website.
- Go language is updated to the 1.17.8 version. For details, please refer to the official website.
- Helm is updated to the 3.8.1 version on Jenkins agents. For details, please refer to the official website.
- Keycloak is updated to the 17.0.1 version. For details, please refer to the official website.
- Kubectl is updated to the 1.23.5 version on Jenkins agents. For details, please refer to the official website.
- Nexus is updated to the LTS 3.38.1 version. For details, please refer to the official website.
- Now it is possible to add a library for Dockerfile, thus having CI pipelines for Docker.
- The copy-secret pipeline stage is added providing the ability to populate Kubernetes secrets across deployed environments/stages.
- The ability to remove Helm releases from a namespace, thus allowing to redeploy the application from scratch.
- Validation of the generated documentation for the Helm deployment templates.
- Use pre-defined deployment logic or your own: either keep the automation deploy proceeding with the latest versions or select manually the necessary version for deploy.
- EDP versioning supports the arbitrary artifacts version name for branches, i.e. tags can be of any value besides the RC / SNAPSHOT that are specified by default.
- The newly created CD pipeline includes the enabled Discard old builds option with the configured rules.
- Extension of Kaniko template flexibility allowing to set extra arguments, environments, and resource requests for every container.
- Extension of Jenkins shared libraries allowing to add any shared library using custom resource.
- Ability to manage environment variables, namely, adding and configuring of a new environment variable for components.
- Configuration and creation of Authentication flows via the KeycloakAuthflow custom resource.
- Ability to configure Keycloak Realm Password Policy.
- Making the Keycloak Realm role mappers optional.
- Set the full reconciliation for the Keycloak Realm user.
- Configurable reconciliation time in Gerrit is added into environment variable.
- Ability to track the Gerrit merge request status in the custom resource status.
- Creating a merge request directly from the custom resource of the Gerrit operator.
- Defining additional parameters for Gerrit merge request using the custom resource.
- Creating a Gerrit merge request with contents specified in a config map.
- The ability to provide read-only repositories via the ReadOnly group in the Gerrit operator.
- Managing Sonar permission templates and groups using the Kubernetes custom resource.
- Defining Sonar default permissions template using the Sonar custom resource.
- Managing Nexus users via custom resource.
- Custom resource will have two keys: 'tag' for a single tag and 'tags' for the list of tags.
- Use gorilla's csrf implementation instead of beego's xsrf.
- Switch to use v2 admin console API for build, code review and deploy pipelines.
- Respective GerritGroupMember Custom Resources must be created to replace existing users[] mapping. Consult the release upgrade instruction.
- Update Gerrit config according to groups.
- Implement Developers group creation;
- Assign users to admins and developers groups using the GerritGroupMember CR;
- Align permission for groups.
- The TLS certificate option is added when using Ingress controller for SSL certificates.
- CI job provisioner now runs on the specific Jenkins label.
- There is a namespace defined for a Service Account in the Role Binding.
- The Kaniko build step has a timeout.
- The Kaniko provision logic is moved to the edp-install helm chart, thus providing the ability to deliver updates.
- Gerrit members are managed from GerritGroups and GerritGroupMembers, providing the successful upgrade from older versions.
- The creation of users within the EDP installation is removed.
- The images within the main EDP documentation are scalable.
- Disabled access to Gerrit for users without admin/developer roles in Keycloak.
- The replacing of the default branch option is added to specification in codebase operator.
- Postponed reconciliation for the Import strategy for the codebase operator.
- Disable of putting deploy configs by a flag for the codebase operator.
- Fixed the changelog generation in GH Release Action.
- Codebase operator does not repeat the GitServer custom resource reconciliation.
- Sonar proxy error in helm template file.
- Failed to get the CodebaseImageStream CR when branch name contains the slash character.
- CD pipeline fails if image is not promoted.
- Fixed build issue for operator Docker images.
- Jenkins role mapping CR controller does not return an error if a group does not exist.
- The Fix Version field does not contain data for the container libraries.
- An error occurs when deleting the KeycloakAuthFlow CR.
- Keycloak realm user does not synchronize roles correctly.
- The SonarGroup and SonarPermissionTemplate controllers do not remove failed custom resource.
- It is impossible to set any branch as a default existing in a repository using the Import strategy.
- Nexus operator does not disable anonymous access to Admin Console UI.
-
The Operator Guide is updated with the following pages:
- Associate IAM Roles With Service Accounts
- Configure AWS WAF With Terraform
- Debug GitLab Webhooks in Jenkins
- Debug GitHub Webhooks in Jenkins
- EKS OIDC With Keycloak
- Enable VCS Import Strategy
- GitHub Integration
- GitLab Integration
- Manage Jenkins CI Pipeline Job Provisioner
- Multitenant Logging
- Upgrade EDP v.2.10.2 to v.2.11.0
-
The User Guide is updated with the following pages:
- It is possible to use the custom ct.yaml config defined per repository. For details, please refer to the Use Chart Testing Tool for Code Review Pipeline page.
- Jenkins pipelines use SSH Agent Jenkins Plugin instead of "eval ssh-agent" approach.
- Make possible to use oc and kubectl tools on Jenkins master, go and helm agents.
- Jenkins ecr-to-docker stage now supports EDP and default versioning.
- SonarQube is upgraded to the 8.9.6 version. For details, please refer to the official website.
- The EDP Sonar operator is upgraded to the 2.10.2 version. For details, please refer to the edp-sonar-operator repository.
- A new CHANGELOG.md file is added providing the information regarding the changes in the edp-install repository.
- The RELEASES.md file is updated providing the information regarding overall platform changes.
EDP 2.10.0 version provides the CI/CD improvements. For instance, each operator now exposes metadata information during start up, like: build tag/date, commit hash from which the operator was built. There are updates in Keycloak operator. Now Keycloak Custom Resources allows configuring realm identity providers settings, managing the user federation, controlling the roles and groups, reconciling Keycloak Clients in Custom Resource with several strategies, setting user attributes, and managing events in Keycloak. In addition, login attempts are optimized by synchronizing the access token cache. General configuration for Ingress controller is provided in Helm charts, which simplifies logic for deployment to different environments. Since this release, EDP supports large Git repositories. As for the EDP components, each of them contains a CHANGELOG file providing the release information.
Explore the updates, new functionality, breaking changes and improvements below.
- All Alpine based images are upgraded to the 3.13.7 version. For details, please refer to the official website.
- Go is upgraded to the 1.17 version. For details, please refer to the official website.
- Helm is upgraded to the 3.7.1 version on Jenkins agents. For details, please refer to the official website.
- Jenkins is upgraded to the LTS 2.303.3 version. For details, please refer to the official website.
- Keycloak is upgraded to the 15.0.2 version. For details, please refer to the official website.
- Kubectl is upgraded to the 1.20.0 version on Jenkins agents. For details, please refer to the official website.
- Nexus is upgraded to the LTS 3.36.0 version. For details, please refer to the official website.
- SonarQube is upgraded to the LTS 8.9.3 Community Edition. For details, please refer to the official website.
- Now EDP supports large Git repositories.
- Each operator/component provides meta information in logs, for example, the date of build, the build branch, tag, etc.
- The performance issue is addressed by defining history depth (up to 10) for job provisioner run.
- A new Custom Resource Definition KeycloakRealmIdentityProvider allows configuring realm identity providers settings.
- A new KeycloakRealmComponent Custom Resource allows managing the user federation in Keycloak.
- Several strategies are available for Keycloak Client reconciliation in Custom Resource.
- The token in the kc-token-main secret is updated immediately after the creation of a new realm.
- To ensure the desired and actual states are identical, a Custom Resource is reconciled in a configured period of time.
- Using a service account in Keycloak allows getting the admin realm token.
- KeycloakClient Custom Resource allows setting Front Channel Logout parameter in SAML clients.
- Keycloak Custom Resource allows recreating already existing Keycloak client scopes.
- When using the Import strategy of adding a codebase, Jenkins secrets can be created through the JenkinsServiceAccount Custom Resource.
- A new Jenkins agent is added with Java SE 14 and Apache Maven 3.8.4.
- GCC and Make tools are added to the Jenkins agent image.
- Dynamic parameters are implemented for a codebase branch trigger release.
- A shared Golang library is created. For details, please refer to the GitHub page.
- With v.2.10.0, EDP provides breaking changes and improvements in CI/CD process. For instance, the Jenkins job provisioner creates a Jenkinsfile (that contains the definition of the Jenkins pipeline) and configures it in the Jenkins pipeline as a pipeline script.
- From the Continuous Integration part, Jenkins pipelines are provisioned by a pipeline provisioner instead of a codebase operator. Please refer to the Manage Jenkins CI Pipeline Job Provisioner page for the details.
- Work with Ingress becomes intuitively clear, and the default Ingress creation process is improved.
- Golang tests are excluded from the sonar stage in the Code Review pipeline.
- The edp-codebase operator work is improved during Jenkins and Gerrit initialization.
- Login attempts are optimized by implementing synchronization on the access token cache for Keycloak.
- Stashing the hadolint files allows configuring the hadolint check.
- EDP allows to deploy and manage an application with the third-party dependency.
- In Keycloak, the id for a newly created realm is identical to the realm name.
- Events in Keycloak can be managed with a corresponding Custom Resource.
- In Keycloak, user attributes can be set using a corresponding Custom Resource.
- Jenkins and Nexus deployments are fixed on the OKD cluster.
- A new branch can be created from an undefined commit.
- Empty 'Deployment Script' field in Admin Console by default.
- Jenkins is unable to create Jenkins agents.
- Code Review and Build pipelines fail on the sonar stage for .Net applications.
- The edp-cd-pipeline operator can not create a CD stage.
- Panic issue in case GetCodebaseImages doesn't exist.
- The unknown apiGroup field is removed in OpenShift RB.
- A user is unable to clone a codebase from a public repository.
- A Custom Resource is not deleted from a namespace after the codebase deletion from the EDP Admin Console.
- The whitespace in the git-tag stage is removed.
- Duplication of the key value in Keycloak during repeated reconciliation of KeycloakRealm Custom Resource is fixed.
- The EDP Project Rules. Working Process page is added to the Developer Guide.
- The Operator Guide is updated with the following:
- The Upgrade section is added including the Upgrade EDP v.2.7.8 to v.2.8.4 and Upgrade EDP v.2.8.4 to v.2.9.0 pages:
- The Enable VCS Import Strategy page is updated.
- The Schedule Pods Restart page is updated.
- The following pages are added to the Use Cases section:
- The User Guide is updated with the following:
- EDP CI/CD Overview is added.
- CI Pipeline Details is added.
- Code Review Pipeline is added.
- Build Pipeline is added.
- CD Pipeline Details is added.
- Prepare for Release is added.
- The EDP Pipeline Framework page is updated.
- The Autotest section is updated.
- The FAQ section is added to the EDP documentation.
With v.2.9.0, EPAM Delivery Platform offers more flexibility in deployment and work. Thus, EDP and all the prerequisites can be installed with Terraform tool or Helm. IRSA for Kaniko (Kaniko is a tool for building container images from Dockerfile) is an optional step. Alternative is to use instance profiles. Kiosk, a respective multi-tenancy extension to manage tenants and namespaces, is optional and can be enabled or disabled during EDP deployment. It is possible to get the list of namespaces owned by a specific edp-tenant with the help of Kubernetes labels.
EPAM Delivery Platform allows to configure authorization for key roles in Jenkins in a declarative way. Now, Jenkins operator reconciles any changes in shared libraries specification. As for the Keycloak, it is possible to make Jenkins Keycloak client confidential and to manage attributes for service account in Keycloak with Keycloak Client Custom Resource. In addition, the roles for Keycloak proxy can be set in Nexus.
There are Gerrit operator improvements: each Gerrit repository is presented as a Custom Resource in Kubernetes. Available branches are displayed in Gerrit Project Custom Resource.
See the list of actions required to work with EDP v.2.9.0, new functionality and enhancements, as well as the list of fixed issues and updated documentation below.
- Before updating EDP from v.2.8.X to v.2.9.X, please update the 'gerrit-is-credentials' secret by adding the new 'clientSecret' key with the value from 'gerrit-is-credentials.client_secret'.
- After EDP update, please restart the 'sonar-operator' pod to address proper Sonar plugin versioning. After sonar-operator is restarted, check the list of installed plugins in the corresponding SonarQube menu.
- All alpine based images are updated to version 3.13.6. For details, please refer to Alpine Official Website.
- EDP and prerequisites can be installed using Terraform tool.
- Kiosk is optional and can be enabled or disabled during EDP deployment.
- IRSA for Kaniko is an optional step.
- Permissions in Jenkins are configured in a declarative way.
- Keycloak proxy image can be defined in Nexus spec.
- It is possible to set roles for Keycloak proxy in Nexus spec.
- Keycloak Client Scope is managed with Kubernetes Custom Resource.
- There is an option to provision users in Keycloak and to assign them roles and groups using custom resources.
- CD pipelines reconciliation can be enabled or disabled.
- Now Jenkins Keycloak client supports confidential mode.
- Jenkins operator reconciles any changes in shared libraries specifications.
- It is possible to manage attributes for Service Account in Keycloak with KeycloakClient Custom Resource.
- It is possible to set a number of parallel threads for codebase branches reconciliation.
- Pod duplication on dockerbuild-verify stage is removed.
- Reconciler is refactored to not save an empty Jenkins agent to the database.
- GitHub pull-request builder is added to the Jenkins box.
- Artifact path in Go language is updated in Dockerfile for the build stage.
- All Gerrit repositories are presented as a Custom Resource in Kubernetes.
- Available branches are displayed in the GerritProject Custom Resource.
- Kubernetes labels are now used to get the list of namespaces owned by a specific edp-tenant.
- The Ingress API version is aligned with Kubernetes version.
- The image pull policy parameter can be redefined during the EDP installation (default: ifNotPresent).
- The environment variables are parametrized for admin-console deployment.
- Jenkins operator constantly tries to create a Jenkins job.
- The status field is added to the CD pipeline operator CRD.
- Fix Gerrit plugin enablement during Jenkins provisioning.
- Routes are removed from the database and reconciler.
- It is impossible to create an application with a custom default branch.
- It is impossible to deploy Go-operator-sdk applications.
- There is no authentication in the checkout stage when the existing branch is set as a default one (cloned from a private repository).
- Codebase operator does not work correctly with a non-master branch.
- The deprecated agents for GitLab CI are listed in the GitlabCI.yaml file.
- Code-Review pipeline checkouts from an incorrect commit for GitLab integration.
- Build pipeline fails on the compile stage for .NET-3.1 libraries.
- The reconciler logger takes the wrong number of arguments.
- The structure of EPAM Delivery Platform documentation framework is updated.
- The Prerequisites section is updated with the following pages:
- The Install EDP page is updated.
- New configuration and integration pages are added:
- New tutorials are added to the documentation:
- Helm chart fields are fixed: the correct indent is set for toleration/affinity/node selector fields.
- Nexus is updated to v.3.33.1. Please refer to the official documentation for details.
- Jenkins is updated to v.2.289.3. Please refer to the official documentation for details.
- In CD pipeline deployment, the sorting of the image tags for the Init stage is displayed in the wrong order.
- Missing field status is added to the cdpipeline.crd yaml file.
- IRSA is optional for EDP deployment process.
- The codebaseBranch field is removed from the cdpipeline.crd yaml file.
- A new field subresources status is added to the cdpipeline.crd yaml file.
- The inputDockerStreams field is aligned in the cd-pipeline structure with CRD.
- The site and path parameters are removed from database.
- User cannot create an application using the Create strategy in a custom default branch.
With the version 2.8.0, EDP offers a number of breaking changes making the work on the project smoother. For instance, Keycloak is set for work in multi-tenancy mode allowing to work on a set project without interrupting the work of others. Within the version 2.8.0, it is also possible to create an application with an empty repository and create namespaces using Kiosk API. The third-party service provision functionality and Exposing Info tab were removed from Admin Console. Besides, the initial structure for a new documentation framework is added to GitHub.
There are enhancements in the EDP CI/CD framework, such as CI pipeline availability for Open Policy Agent (OPA), CI pipelines defined for groovy-pipelines, and the possibility to apply a specific logic and customize the Init stage of a CD pipeline.
See the list of actions required to work with EDP v.2.8.0, new functionality and enhancements, as well as the list of fixed issues and updated documentation below.
-
Init prerequisite is removed from the Deploy pipeline and added as a standalone stage.
Reload jenkins-operator pod once EDP is updated to version 2.8.0.
-
New Autodeploy functionality requires updating CodebaseImageStream resources.
Update all CodebaseImageStream resources with spec.codebase: {application-name} field to which Codebase belongs this resource.
spec:
codebase: {application-name}
imageName: stub
tags:
- created: stub
name: stub
-
CDPipeline CRD:
-
New deploymentType field has been added to spec. Available values: Container/Custom
Container - default way to deploy applications from the registry.
Custom - an empty CD pipeline is created in Jenkins (with the Init stage only).
-
-
CDStageDeployments CRD:
- Spec has been changed. Resource stores only one tag to deploy it automatically on Jenkins. To fix the autodeploy for EDP v.2.8.0, remove all old CDStageDeployment resources from the cluster.
-
CDStageJenkinsDeployments CRD:
- Spec has been changed. Resource stores only one tag to deploy it automatically on Jenkins. To fix the autodeploy for EDP v.2.8.0, remove all old CDStageDeployment (as CDStageJenkinsDeployment resources have owner refs to CDStageDeployments resources, it is only necessary to remove CDStageDeployments) resources from the cluster.
-
Codebase CRD:
-
New emptyProject field has been added to spec. Available values: true/false.
True - codebase will be created without template code (Create strategy).
False - codebase will be created with template code (Create strategy).
-
- The operator-SDK library is updated to version 1.5.0.
- The Controller-runtime library is updated to version 0.8.3.
- Jenkins is upgraded to v.2.289.1. For details, please refer to the Jenkins official website.
- Keycloak is upgraded to v.13.0.1. For details, please refer to the Keycloak official website.
- The Jenkins-agents are upgraded with dependencies to version.
- Helm is upgraded to v.3.6.0 in Jenkins for deploy process. For details, please refer to the Helm page on GitHub.
- Helm tool is upgraded to v.3.5.3.
- The alpine base images are upgraded to version alpine:3.13.5. For details, please refer to the Alpine Linux official documentation.
- The jQuery is upgraded to version 3.6.0 to mitigate the vulnerabilities related to the previous version. For details, please refer to the jQuery official blog.
- Kaniko executor is upgraded to version 1.6.0. For details, plese refer to the Kaniko page on GitHub.
- ECR registry supports multi-tenancy per EDP installation.
- Baseline Kubernetes applications can be installed with Argo CD.
- A landscape is created for the current Kubernetes role model in EDP.
- Keycloak is set for work in multi-tenancy mode with minimal permissions so that a user can work in a set EDP project without interrupting the work of other projects.
- All dependencies are pointed to tags from master branches in go mod for all operators.
- Jenkins pipeline can be started via Custom Resources.
- CI pipeline is available for OPA policies. For details, please refer to the Open Policy Agent official documentation and the Use Open Policy Agent Library in EDP page.
- CI pipelines are defined for groovy-pipelines.
- The Init stage of the CD pipeline can be customized. For details, please refer to the Add CD Pipelines page.
- CD pipeline provisioner can be triggered periodically.
- There is an option to enable/disable auto deployment for a specific stage after the stage is created. For details, please refer to the Edit CD Pipeline section of the Admin Console Guide.
- Initial components are provisioned for the AQA framework.
- New branches can be added with a slash in the name with default versioning.
- Default branch value can be defined with dots.
- It is possible to change the image streams for the pipelines with the “auto” deployment type.
- All applications in the CD pipeline are deployed in case of changes in one of them (Autodeploy).
- Keycloak admin credentials are replaced with realm admin credentials.
- Keycloak Realm can be installed without default roles.
- Authentication flows for a realm can be managed with separate Custom Resource.
- Authentication browser flow in Keycloak Realm can be managed using Custom Resource.
- The roles are deleted when they are removed from KeycloakRealmRolesBatch.
- Deployment objects can be used in OpenShift instead of DeploymentConfigs.
- The third-party services provision functionality is removed.
- Exposing Service Info block and functionality is removed from Admin Console.
- An application can be created with an empty GitHub repository. For details, please refer to the Add Application page of the Admin Console user guide.
- Namespaces can be created with Kiosk API.
- The codeql scan is added for the GitHub repositories.
- Gerrit operator adds a user to a group in a reconcile manner if a user is missing in Gerrit itself.
- Gerrit Administrators are fully reconciled from Gerrit CR.
- Keycloak realm can be specified to be integrated with Gerrit in the CR specification
- Users can manage mappers for SSO Realm provider in KeycloakRealm CR.
- Users can manage Themes and Security Defences in Keycloak Realm using CR.
- Keycloak Operator does not reconcile Realm Role from CR if a Role is already presented in the application (Keycloak Server).
- The initial structure for a new documentation framework is added to the GitHub to improve the documentation processing and navigation. Please refer to the EPAM Delivery Platform documentation page for details.
- EDP Stages page is updated and moved to GitHub.
- The advanced mapping section is not available for autotests codebase when Jira integration is true.
- It is impossible to delete the Jenkins folder while any codebase branches exist.
- EDP helmfile, hadolint linters fail with UI components.
- The user is unable to delete the CD pipeline stage from Admin Console.
- The validation message is not informative if no application is selected.
- Codebases, CD pipeline, and CD stages name must be 2 letters length minimum.
- Empty branches dropdown menus are clickable and show nothing.
- The validation message is “Invalid URL, log in or password” even when the URL is correct.
- The validation message is not informative in the Import strategy for applications.
- The Create button has been removed at the end of the application codebase creation.
- The codebase data is displayed incorrectly when changing strategy during creation.
- Clicking the Back button from the update page leads to cd pipeline overview instead of the pipeline details page.
- Application code contains hardcoded client secrets.
- False-positive security findings in the Admin Console code are fixed.
- The name Admin appears in the Admin Console instead of the username after redeploying the environment.
- It is impossible to assign a Sonar administrator role.
- Fix adding codebase via Admin Console (OpenShift 4.X).
- Action log message contains % and the repository name is shifted.
- Build pipeline failed on Sonar stage for Python applications.
- Inability to create AWS credentials in Jenkins.
- Auto deploy works only for the first CD pipeline stage.
- Impossible to create a CD pipeline with a disabled ‘application to promote’ option.
- The default branch for GitHub/GitLab provisioners.
- Linters are not created in the Code Review pipeline for applications added with the Import strategy.
- The Create and Proceed buttons for the Perf Integration are fixed.
- A branch version overwrites the branch name during the new branch creation for a codebase with EDP versioning.
- It is impossible to add an autotest using the Import strategy.
- It is impossible to deploy Go-operator-sdk applications.
- The Code Review pipeline checkouts from incorrect commit for GitLab integration.
- The Build pipeline failed on the Compile stage for .NET-3.1 libraries.
- The framework for groovy libraries is wrong.
- The new EDP Stages documentation describing the stages of EDP CI/CD Framework.
- The new Use Open Policy Agent Library in EDP documentation describing the OPA policy engine.
- The new EDP Glossary documentation defining the most useful EDP terms.
- The new Inspect CD Pipeline documentation describing the editing of CD pipelines.
- The EDP Installation on Kubernetes page is updated.
- The Keycloak Installation on Kubernetes page is updated.
- The following pages are updated in the EDP Admin Console guide:
- Sonar KeycloakClient requires new configuration for correct assigning 'sonar-administrators' group to users from OIDC provider.
Update Sonar KeycloakClient resource with spec.protocolMappers field:
spec:
protocolMappers:
- config:
access.token.claim: 'false'
claim.name: roles
id.token.claim: 'true'
jsonType.label: String
multivalued: 'true'
userinfo.token.claim: 'true'
name: realm roles
protocol: openid-connect
protocolMapper: oidc-usermodel-realm-role-mapper
Then reload sonar-operator pod.
- The go module is renamed in keycloak-operator.
- Terraform library support is improved (get-version stage is fixed).
- Allure download repository is changed to github.com.
- The init stage runtime is decreased in Deploy pipeline.
- Versioning and Jira integration for Terraform library are fixed.
- Cyrillic characters support for Jira is implemented.
- The base alpine image for all operators is upgraded to version 3.11.10.
- The ecr-to-docker stage is aligned to the EDP versioning workflow.
- Support for slash characters in ImageStreams objects is fixed.
- The codebase operator with NPE failure under disabled Jira integration is fixed.
- The keycloak operator dependency is fixed in the values.yaml file.
- The keycloakOwner value is set for the KeycloakRealm CR (Custom Resource) in order to prevent an error when setting the owner reference with the absent keycloakOwner value.
- The ClusterRole/ClusterRoleBinding mapping is fixed for OpenShift deployment.
- The 'commit-validate' stage logic is fixed.
- The 'create-jira-issue-metadata' stage failure is fixed.
- The allure report paths are fixed.
- The local development environment configuration is aligned with the documentation.
- The deprecated variable normalizedName is removed.
With the version 2.7.0, EDP offers a bunch of upgrades for its components, provides new options and enhancements in CI/CD workflow and refines the Admin Console usage. Amongst the recent developments there are improvements for the Helm, Kubernetes, Keycloak, Docker, Terraform, and Jira. Besides, EDP migrated from OpenShift delivery to EKS-core cluster, optimized the resources consumption and honed the work of the libraries and repositories. See the list of upgrades, new functionality and enhancements, as well as the fixed issues, below.
- The Helm tool is upgraded to version 3.5.3. For details, please refer to the Helm 3.5.3 page on GitHub.
- Jenkins is upgraded to version 2.263.4. For details, please refer to the LTS Changelog page.
- Nexus is upgraded to version 3.30.0. For details, please refer to the Nexus Release Notes.
- Gerrit is upgraded to version 3.3.2. For details, please refer to the Gerrit Release Notes.
- Keycloak is upgraded to version 12.0.4. For details, please refer to the Keycloak Release Notes.
- EDP-delivery is upgraded to the master version.
- All go-alpine based images are updated to Alpine version 3.11.8. For details, please refer to the Alpine Linux official page.
- The Kaniko executor is upgraded to version v1.5.1. For details, please refer to the Kaniko Release Notes page on GitHub.
- The edp-admin-console Docker image is upgraded to Alpine 3.11.6. For details, please refer to the Alpine Linux Release Notes.
- The unused code from operators in a Helm chart, responsible for Kubernetes object provisioning, is removed.
- CI Helm chart is improved to provide quick feedback from CI for Helm and Dockerfile.
- EDP Helm charts are updated to follow the chart best practices defined by Helm.
- It is now possible to create deploy-templates according to Helm chart development best practices.
- The ‘buildTools’ parameter for Admin Console is added in the Helm chart.
- The migration from OpenShift delivery to EKS-Core cluster is performed.
- Orphaned Kubernetes resources are removed and aligned with mutated Kubernetes resources.
- The possibility to introduce applications in EDP using the Kubernetes native declarative approach is implemented.
- Resource requirements for EDP components in the Kubernetes cluster are aligned in order to ensure stability and proper scheduling of EDP.
- The Keycloak client is now deleted after the deletion of KeycloakClient custom resources in Kubernetes.
- The Keycloak realm is now deleted after the deletion of KeycloakRealm custom resources in Kubernetes.
- The functionality supporting the Realm installation without integration with external Identity Provider is implemented.
- The ability to manage Realm Roles in Keycloak using custom resources is implemented.
- It is now possible to enable a Service Account for Keycloak Client using a configuration in custom resources.
- It is now possible to specify the protocolMappers in KeycloakClient custom resources.
- The ability to manage Keycloak Groups using separate custom resources is implemented.
- An option to generate and create a secret for Keycloak Client is provided if the client is specified as confidential.
- It is now possible to manage a batch of Keycloak Realm Roles in a single custom resource.
- The possibility to switch off an automatic redirection in a certain realm is provided.
- The possibility to run Terraform plan/apply with EDP stages using AWS Credentials Approach is implemented.
- The documentation on the usage of Terraform in EDP is created. Please refer to the Use Terraform Library in EDP page.
- Dockerfile is removed from the edp-install repository.
- The possibility to add Terraform code via the Admin console using CI stages is implemented. Please refer to the Library Info block on the Add Libraries page.
- The Search, Sort, and Filter functionality is provided in Admin Console. Please refer to the Inspect Application, Inspect Autotests, Inspect Library, and Add CD Pipelines pages.
- The databases block is removed from the Add application page as well as from app templates.
- The text in the 'Advance Mapping' section is updated.
- The capability to run Jenkins job during the deletion of a codebase is developed.
- The init stage in the deployment pipeline is optimized to collect information only from the related codebases.
- The possibility to run AQA tests for sit environment of the EDP deploy pipeline is implemented.
- The ability is developed to prevent the automatic run of jobs for deleting the codebase branch if they have not finished previously.
- The handling is added of the ADDITIONAL_BUILDTOOL_ARGS variable in EDP pipelines for the Maven build tool.
- The codebasePath variable for the EDP4EDP release pipeline is added.
- The links are updated in the edp-library pipelines for the master branch.
- The pipeline init stage is modified to run auto-deploy correctly. Please refer to the Stages Menu block of the Admin Console user guide for the details on selecting the Auto Trigger Type.
- Unnecessary codebases used during deployment are mitigated.
- The possibility to run the Gradle autotests is added. Please refer to the Autotest Info block of the EDP Admin Console Guide.
- The backend validation process for codebases and cd pipelines is improved to not clear the form with already input data.
- The delay time between DeletionJob reconciliation is increased to 10 seconds in case an error occurs.
- The application provisioning process is improved.
- The functionality intended to define which metadata from EDP should be published to Jira in predefined format is implemented. Please refer to the Advanced Settings block of the EDP Admin Console guide for the updates on the Jira integration.
- A new Jira pattern EDP_SEM_VERSION is added for pushing component version value in the MAJOR.MINOR.PATCH format to Jira.
- The mirroring approach is implemented when cloning git metadata from source repositories.
- The section displaying commit author names in the history of repositories is removed.
- An option to use Shared Libraries from private repositories is now available.
- The template is added for the edp-library-pipelines repository.
- The links in every EDP repository on https://github.com/epam were updated.
- The links to the new EDP location (github.com/epam/edp-COMPONENT) are updated.
- The possibility to specify openid-connect in the Client Protocol for corresponding custom resources is implemented.
- The possibility to run multiple EDP instances without privilege escalation is implemented.
- CPU Request/Limits are adjusted to align with the latest resource consumption.
- The AUTH_KEYCLOAK_ENABLED flag is now configurable from Helm charts.
- The possibility to run multiple EDP deployments inside a single Kubernetes cluster is now provided.
- The visibility status in the projects created by Sonar is corrected to be ‘Private” by default.
- Customer resources for Sonar provide the correct dbImage.
- The Sonar operator now uses the correct Sonar token name for plugin configuration.
- Credentials for Shared Libraries are now saved in Jenkins after the installation.
- The saving of credentials for shared libraries in Jenkins is fixed.
- The Add button for editing the CD Pipeline is fixed.
- The issues occurring during the transition to the Delivery Dashboard diagram are fixed.
- The process of creating a Go application is improved.
- Jira integration functionality is now disabled when adding a codebase with the GitlabCI tool.
- The non-relevant provisioner code in the documentation was corrected.
- Missing parameters are added to the 'Add Job Provision' documentation.
- The validation message during the creation of an application/autotest is displayed as expected.
- Layout issues occurring during the process of adding quality gate autotests are corrected.
- Parallel autotests running in the deploy stage are set.
- The parallel execution of autotests is fixed.
- The newly created branch now takes the default branch as a basis of the Branch Version field.
- The default branch is now created when adding a codebase.
- EDP versioning is working as expected upon correcting an issue with the codebasebranch operator.
- The process of creating a branch using the specified hash commit is corrected.
- The Codebase branch behaviour is corrected to allow deletion of the entity even if its name contains only digits.
- The CRD schema for codebasebranch is corrected.
- The process of getting tags from codebase image streams during init deploy is fixed.
- The functionality allowing the user to deploy applications added using Gitlub CI as a CI tool is corrected.
- The Reconciler failure occurring during the JenkinsJob CR processing is fixed.
- The link in '.gitlab-ci.yml' file containing 'CLUSTER_URL' to the old cluster is updated.
- The database migration script is corrected to perform successful migration for all releases, starting from 2.5.x.
- The error ‘pq: invalid input value for enum "edp-delivery".action’ in the stack-trace logs is corrected.
- The Associate IAM Roles With Service Account page is added.
- The Promote Docker Images From ECR to Docker Hub page is added.
- The Use Terraform Library in EDP page is added.
- The Use Lint Stages for Code Review page is added.
- The Add Other Code Language instruction is updated.
- The EDP Component Operator instruction is updated.
- The following pages are updated in the EDP Admin Console user guide:
- Custom Resources Definition codebasebranches are improved.
- The 'buildTools' parameter for Admin Console is added in the Helm chart.
- The apiVersion type of Admin Console deployment is updated.
- The database image path for Sonar Custom Resource is fixed.
- The pipeline/stages version in Jenkins was changed from master to release-2.7.
- EDP Helm charts are updated to follow the chart best practices defined by Helm.
- The Perf-operator is deployed by default in EDP version 2.6.1.
- The resource requirements/limits are defined for EDP components.
- Resource requirements for EDP components in the Kubernetes cluster are aligned in order to ensure stability and proper scheduling of EDP.
- The CRD schema for codebasebranch is corrected.
- EDP versioning functionality was improved to work as expected upon correcting an issue with the codebasebranch operator.
With the version 2.6.0, EDP is now deployed on the AWS Core cluster. It becomes more stable due to the alignments of the resources requirements for EDP operators on the Kubernetes cluster. Besides, this EDP version allows to work with performance metrics and tracking, and applies a set of enhancements to the Admin Console. The release process is improved by upgrading the CD pipeline creation process. The versioning enables to define the default branch on your own, and enhancements of Sonar, Helm Chart, Codebase and common design contribute to the effective work with EDP. See the details and the list of components upgrades, as well as fixed issues, below.
- Gerrit is updated to the 3.2.5.1 version. For details, please refer to the Gerrit Release.
- The Nexus repository manager is now updated to the 3.29.0 version. For details, please refer to the Nexus Release Notes.
- The Sonar-Gerrit plugin is updated for the integration with Java 11.
- The Keycloak proxy is updated to v.10.0.0. For details, please refer to the Keycloak Release Notes.
- Keycloak is updated to the 11.0.2 version.
- The new Keycloak version 11.0.3 is deployed on the AWS EKS core cluster.
- The AWS EKS core cluster of v.1.18 is deployed.
- Jenkins is updated to the 2.263.1 For details, please refer to the LTS Changelog page.
- The Kaniko executor is updated to the 3.0 version. For details, please refer to Kaniko CHANGELOG page on GitHub.
- The Helm tool is updated to the 4.2 version.
- The edp-admin-console Docker image is upgraded from golang:1.10.3-alpine3.8 to alpine:3.11.6.
- Now EDP is integrated with the EPAM PERF Board statistics and monitoring platform allowing to track the overall team performance as well as to set up necessary metrics.
- The connection to EPAM Perf Board is established and the new EDP PERF operator is created. Please refer to the Perf Operator page for details.
- EDP Admin Console enables to select Jenkins, Sonar, and GitLab as a DataSource for Perf integration during the application creation. Please refer to the Advanced Settings block of the Admin Console user guide.
- Application data page provides details on which DataSource is integrated with Perf.
- Now EDP Admin Console allows direct modifying of the existing CD pipeline by adding new extra steps, thus providing the ability to improve the release process. Please refer to the Add CD Pipelines page of the Admin Console user guide.
- A unified approach is applied for the link generation in EDP Admin Console.
- EDP Admin Console can perform with context paths.
- The new link that leads to Perf Board is added on the Admin Console Overview page.
- Following the community`s feedback trends in development, the master branch is not hardcoded anymore and enables to define the default branch on your own. Please refer to the Application Info block of the Admin Console user guide for the details.
- The EDP versioning logic is applied to the non-master default branch.
- It is possible to select the provisioner for the CD pipeline during its creation.
- A new ability to run Gatling performance tests using EDP.
- EDP is now deployed on the AWS EKS core cluster. For the details, please refer to the AWS EKS page.
- The proper Ingress for the Helm chart is generated when using paths.
- Now Sonar has the installed C# plugin.
- Resource requirements for EDP operators on the Kubernetes cluster are aligned, thus making EDP more stable and with proper scheduling.
- The edp-install-wizard-db database is renamed to edp-db and aligned with the functionality provided by this pod.
- The working directory is cleaned up during the beginning of the codebase reconciliation.
- The unnecessary check for EDP versioning type in the codebase operator is removed.
- A new check for the JiraServer CR status allowing the Codebase operator to handle a case when the Jira server is not available.
- The CodebaseImageStream CR in OpenShift is the same as in Kubernetes.
- The improved common design of the buttons in the Application Code Language/Framework block is applied.
- There are broken links on the Admin Console Overview page.
- The Python library is not provisioned in Admin Console.
- The Confirmation window does not provide any data about the multi-module project.
- The Jenkins Slave element should not contain unnecessary values.
- The Jenkins DataSource is available for selection when adding a codebase with the Gitlab CI tool.
- Jenkins Operator creates a lot of rolebindings on the deployed environments.
- Jenkins Operator resets parameters of CD pipeline after the restarting.
- Jenkins does not delete the corresponding job of the CD pipeline after removing a stage.
- OpenShift admin group has the wrong role.
- OpenShift groups are removed after the version update.
- The CD Pipeline overview page does not display deployed version if a codebase is deployed by deployment.
- The Docker image name is missed on the pipeline overview page.
- The Build pipeline for the Python library does not contain stages.
- The wrong tooltip for the Branch filed in the Adding Stage dialog box is displayed.
- The codebase branches with the same name in different codebases are deleted after one of them is removed.
- The codebase overview page is blank when adding an application with the EDP versioning.
- The loading of static resources to the diagram page with enabled basePath functionality is fixed.
- There is a permission issue with access rights during the initialization of the PostgreSQL database.
- EDP install does not add the admin role to the EDP service account if a namespace has been created beforehand.
- The undescriptive tooltips are displayed for the Repository login and Repository password fields.
- The EDP Installation on Kubernetes page is updated.
- The EDP Installation on OpenShift page is updated.
- The EDP Overview page is updated.
- The EDP Pipeline Framework page is added.
- The Keycloak Installation on Kubernetes page is updated.