Upgrade KubeRocketCI v3.7 to 3.8
We suggest backing up the KubeRocketCI environment before starting the upgrade procedure.
This section provides detailed instructions for upgrading the KubeRocketCI to the 3.8.1 version. Follow the steps and requirements outlined below:
-
Delete the following resources:
kubectl -n edp delete ingress edp-headlamp
kubectl -n edp delete ingress edp-tekton-dashboard
kubectl -n edp delete ingress el-github-listener -
Delete the following Custom Resource Definitions (CRDs):
kubectl delete CustomResourceDefinition edpcomponents.v1.edp.epam.com
infoPrior to deleting CRDs, please remove all the complementing resources:
kubectl -n edp get edpcomponent -o custom-columns=":metadata.name" | xargs -I {} kubectl -n edp delete edpcomponent {}
-
In Keycloak, update the KubeRocketCI portal URL:
Navigate to the Keycloak realm with the
Portal
client. Update theValid redirect URIs
field:Old value:
https://edp-headlamp-edp.<dns_wildcard>/*
New value:
https://portal-edp.<dns_wildcard>/*
-
Remove all the Argo CD applications:
warningThis command will delete all the deployments.
kubectl -n edp get application -o custom-columns=":metadata.name" | xargs -I {} kubectl -n edp get application {} -o json | jq 'del(.metadata.finalizers)' | kubectl replace -f -
infoBeginning from version 3.8.x, KubeRocketCI uses Argo CD application set instead applications to manage deploy environments, please ensure to upgrade your Argo CD instance to v2.10.3 and higher to work with this kind of resource. An example of how to install it is provided in the edp-cluster-addons repository.
-
Familiarize yourself with the updated file structure of the values.yaml file and adjust your values.yaml file accordingly:
-
Starting from the version 3.8.x, KubeRocketCI supports multiple Git servers, so the
global.gitProvider
value was renamed:Old format:
global:
gitProvider: githubNew format:
global:
gitProviders:
- github
# - gitlab
# - gerrit
...
edp-tekton:
gitServers:
github:
gitProvider: github
host: github.com
webhook:
skipWebhookSSLVerification: false
eventListener:
enabled: true
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "128Mi"
cpu: "500m"
ingress:
enabled: true -
The
EDP-components
custom resources migrated to thequick-links
section:Old format:
EDPComponents:
- prometheus:
url: https://ingress-prometheus.example.com
visible: true
icon: icon_in_base64
- kibana:
url: https://ingress-kibana.example.com
visible: false
icon: icon_in_base64
- another_tool:
url: https://ingress-anothertool.example.com
visible: true
icon: icon_in_base64New format for default components:
quickLinks:
argocd: "https://argocd.example.com"
defectdojo: "https://defectdojo.example.com"
dependency_track: "https://dependency_track.example.com"
docker_registry: "https://docker_registry.example.com"
grafana: "https://grafana.example.com"
kibana: "https://kibana.example.com"
nexus: "https://nexus.example.com"
sonar: "https://sonar.example.com"New format for extra components:
extraQuickLinks:
- prometheus:
url: https://ingress-prometheus.example.com
visible: true
icon: icon_in_base64
- another_tool:
url: https://ingress-anothertool.example.com
visible: true
icon: icon_in_base64
-
-
To upgrade KubeRocketCI to the v3.8.1, run the following command:
helm upgrade edp epamedp/edp-install -n edp --values values.yaml --version=3.8.1
noteTo verify the installation, test the deployment before applying it to the cluster using the
--dry-run
tag:
helm upgrade edp epamedp/edp-install -n edp --values values.yaml --version=3.8.1 --dry-run
-
Update webhooks for Github and GitLab:
- Command
- Manual
kubectl -n edp get codebases -o custom-columns=":metadata.name" | xargs -I {} kubectl patch codebases -n edp {} --subresource=status --type=json -p '[{"op": "remove", "path": "/status/webHookID"}]'
kubectl delete pod -l name=codebase-operator- GitHub
- GitLab
Open repository in Github, navigate to Settings -> Webhooks -> Select exist webhook and click
edit
. Change Payload URL:Old value: https://el-github-listener-edp.<dns_wildcard>
New value: https://el-github-edp.<dns_wildcard>Open repository in Github, navigate to Settings -> Webhooks -> Select exist webhook and click
edit
. Change Payload URL:Old value: https://el-gitlab-listener-edp.<dns_wildcard>
New value: https://el-gitlab-edp.<dns_wildcard>