Devtron Enterprise Installation (For enterprise trials only) - devtron-labs/utilities GitHub Wiki
This guide provides detailed instructions for installing the Devtron Enterprise edition or upgrading from the open-source (OSS) version to the Enterprise version using Helm.
Prerequisites
Before you begin, ensure the following:
- Helm CLI Installed: Ensure that Helm is installed on your local machine.
- Access to Kubernetes Cluster: You must have access to the Kubernetes cluster where Devtron will be installed.
Important: Make sure that neither ArgoCD nor Argo Workflows are installed on this cluster, as they may interfere with the Devtron installation.
- Internet Access Restrictions: If your cluster restricts internet access, whitelist the registry domain
*.azurecr.io
(provided along with credentials) in the firewall rules. - Credentials: Have the following ready, provided by the Devtron team:
- Username
- Token
- Registry
- ent-values.yaml (for fresh installation)
- ent-bom.yaml (for upgrade only)
Setting Up Credentials and YAML Files
Before proceeding with the installation or upgrade, export the username and token variables, and create the ent-values.yaml
or ent-bom.yaml
file.
export username=XXXXXXXXXXX
export token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export registry=XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXX.XXX
For Fresh Installation:
vi ent-values.yaml
For Upgrade:
vi ent-bom.yaml
Fresh Installation of Devtron Enterprise
-
Add the Devtron Helm repository:
kubectl create ns devtroncd helm repo add devtron https://helm.devtron.ai helm repo update devtron
-
Create ImagePullSecrets in devtroncd namespace:
kubectl create secret docker-registry devtron-image-pull-enterprise \ --namespace devtroncd \ --docker-server=$registry \ --docker-username=$username \ --docker-password=$token
Note: If you have received a custom ent-values.yaml file from the Devtron team, please use that file during installation. If not, you can proceed with the default file provided above.
-
Installing Devtron Without Integrations (Devtron Enterprise Kubernetes Dashboard)
helm install -n devtroncd devtron devtron/devtron-operator -f ent-values.yaml \ --set components.dashboard.registry=$registry --set components.devtron.registry=$registry \ --set components.kubelink.registry=$registry
Installing Devtron Full Mode:
helm install devtron devtron/devtron-operator -f ent-values.yaml --namespace devtroncd \ --set installer.modules={cicd} --set argo-cd.enabled=true --set security.enabled=true \ --set notifier.enabled=true --set security.trivy.enabled=true --set monitoring.grafana.enabled=true \ --set components.dashboard.registry=$registry --set components.devtron.registry=$registry \ --set components.kubelink.registry=$registry --set components.gitsensor.registry=$registry \ --set security.imageScanner.registry=$registry
Upgrading Existing OSS Devtron to Enterprise
Note: Follow Step 1 only if you installed Devtron before June 8, 2024, and are on a version lower than
0.7.x
. Run the following command to check your current Devtron version:
helm list -n devtroncd | grep devtron | awk '{print $10}'
- Set Release Name, Update Labels, and Annotations
(Only if running Devtron version lower than0.7.x
):
export RELEASE_NAME=devtron
kubectl -n devtron-ci label sa --all "app.kubernetes.io/managed-by=Helm" --overwrite
kubectl -n devtron-ci annotate sa --all "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd" --overwrite
kubectl -n devtron-cd label sa --all "app.kubernetes.io/managed-by=Helm" --overwrite
kubectl -n devtron-cd annotate sa --all "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd" --overwrite
- Create ImagePullSecrets in
devtroncd
and Runhelm repo update
helm repo add devtron https://helm.devtron.ai
helm repo update devtron
kubectl create secret docker-registry devtron-image-pull-enterprise \
--namespace devtroncd \
--docker-server=$registry \
--docker-username=$username \
--docker-password=$token
Note: If you have received a custom ent-bom.yaml file from the Devtron team, please use that file during upgrade. If not, you can proceed with the default file provided above.
- Upgrade the Devtron Stack
helm upgrade -n devtroncd devtron devtron/devtron-operator \
--reuse-values \
-f ent-bom.yaml \
--set components.dashboard.registry=$registry \
--set components.devtron.registry=$registry \
--set components.kubelink.registry=$registry \
--set components.gitsensor.registry=$registry \
--set security.imageScanner.registry=$registry
For any issues or additional support, please contact the Devtron Enterprise support team quoted in the email.