Upgrade EDP v3.4 to 3.5
We suggest making a backup of the EDP environment before starting the upgrade procedure.
This section provides detailed instructions for upgrading EPAM Delivery Platform to version 3.5.3. Follow the steps and requirements outlined below:
-
Update Custom Resource Definitions (CRDs). Run the following command to apply all necessary CRDs to the cluster:
kubectl apply -f https://raw.githubusercontent.com/epam/edp-codebase-operator/v2.19.0/deploy-templates/crds/v2.edp.epam.com_gitservers.yamldangerCodebase-operator v2.19.0 is not compatible with the previous versions. Please become familiar with the breaking change in Git Server Custom Resource Definition.
-
Familiarize yourself with the updated file structure of the values.yaml file and adjust your values.yaml file accordingly:
-
By default, the deployment of sub components such as
edp-sonar-operator,edp-nexus-operator,edp-gerrit-operator, andkeycloak-operator, have been disabled. Set them back totruein case they are needed or manually deploy external tools, such as SonarQube, Nexus, Gerrit and integrate them with the EPAM Delivery Platform. -
The default Git provider has been changed from Gerrit to GitHub:
Old format:
global:gitProvider: gerritgerritSSHPort: "22"New format:
global:gitProvider: github#gerritSSHPort: "22" -
The sonarUrl and nexusUrl parameters have been deprecated. All the URLs from external components are stored in integration secrets:
global:# -- Optional parameter. Link to use custom sonarqube. Format: http://<service-name>.<sonarqube-namespace>:9000 or http://<ip-address>:9000sonarUrl: ""# -- Optional parameter. Link to use custom nexus. Format: http://<service-name>.<nexus-namespace>:8081 or http://<ip-address>:<port>nexusUrl: "" -
Keycloak integration has been moved from the global section to the sso section. Update the parameters accordingly:
Old format:
global:# -- Keycloak URLkeycloakUrl: https://keycloak.example.com# -- Administrators of your tenantadmins:- "stub_user_one@example.com"# -- Developers of your tenantdevelopers:- "stub_user_one@example.com"- "stub_user_two@example.com"New format:
sso:enabled: true# -- Keycloak URLkeycloakUrl: https://keycloak.example.com# -- Administrators of your tenantadmins:- "stub_user_one@example.com"# -- Developers of your tenantdevelopers:- "stub_user_one@example.com"- "stub_user_two@example.com" -
(Optional) The default secret name for Jira integration has been changed from
jira-usertoci-jira. Please adjust the secret name in the parameters accordingly:codebase-operator:jira:credentialName: "ci-jira"
-
-
The secret naming and format have been refactored. Below are patterns of the changes for various components:
- SonarQube
- Dependency-Track
- DefectDojo
- Jira
- GitLab
- GitHub
- Nexus
Old format:
"sonar-ciuser-token": {"username": "xxxxx","secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}New format:
"ci-sonarqube": {"token": "xxxxxxxxxxxxxxxxxxxxxxx","url":"https://sonar.example.com"}Old format:
"ci-dependency-track": {"token": "xxxxxxxxxxxxxxxxxx"}New format:
"ci-dependency-track": {"token": "xxxxxxxxxxxxxxxxxx","url": "http://dependency-track.example.com"}Old format:
"defectdojo-ciuser-token": {"token": "xxxxxxxxxxxxxxxxxx""url": "http://defectdojo.example.com"}New format:
"ci-defectdojo": {"token": "xxxxxxxxxxxxxxxxxx","url": "http://defectdojo.example.com"}Old format:
"jira-user": {"username": "xxxxx","password": "xxxxx"}New format:
"ci-jira": {"username": "xxxxx","password": "xxxxx"}Old format:
"gitlab": {"id_rsa": "xxxxxxxxxxxxxx","token": "xxxxxxxxxxxxxx","secretString": "xxxxxxxxxxxxxx"}New format:
"ci-gitlab": {"id_rsa": "xxxxxxxxxxxxxx","token": "xxxxxxxxxxxxxx","secretString": "xxxxxxxxxxxxxx"}Old format:
"github": {"id_rsa": "xxxxxxxxxxxxxx","token": "xxxxxxxxxxxxxx","secretString": "xxxxxxxxxxxxxx"}New format:
"ci-github": {"id_rsa": "xxxxxxxxxxxxxx","token": "xxxxxxxxxxxxxx","secretString": "xxxxxxxxxxxxxx"}Old format:
"nexus-ci-user": {"username": "xxxxx","password": "xxxxxxxxxxxxxxxxxx"}New format:
"ci-nexus": {"username": "xxxxx","password": "xxxxx","url": "http://nexus.example.com"}The tables below illustrate the difference between the old and new format:
Old format
Secret Name Username Password Token Secret URL jira-user β β nexus-ci.user β β sonar-ciuser-token β β defectdojo-ciuser-token β β ci-dependency-track β New format
Secret Name Username Password Token URL ci-jira β β ci-nexus β β β ci-sonarqube β β ci-defectdojo β β ci-dependency-track β β -
To upgrade EDP to the v3.5.3, run the following command:
helm upgrade edp epamedp/edp-install -n edp --values values.yaml --version=3.5.3noteTo verify the installation, it is possible to test the deployment before applying it to the cluster with the
--dry-runtag:
helm upgrade edp epamedp/edp-install -n edp --values values.yaml --version=3.5.3 --dry-run