Devtron OSS is the open-source edition of Devtron intended for non-enterprise users.
The table below shows the installation options available in Devtron OSS. Further, there are steps given to install your preferred option in your Kubernetes cluster.
| Installation Option | What Is Included | When To Use |
|---|---|---|
| Minimal (without integrations) | Dashboard + Resource Browser + Core operator configurations | A unified view of Helm apps, FluxCD apps, ArgoCD apps, and their related K8s resources |
| With CI/CD | Everything in Minimal + Build and Deploy (CI/CD) module | You need a complete CI-CD pipeline for your custom apps (a.k.a Devtron Apps) |
| With CI/CD + GitOps (Argo CD) | Everything in CI/CD + GitOps (Argo CD) module | You need automated, Git-driven deployments |
{% hint style="success" %}
Begin with the Minimal version. You can always install CI/CD and GitOps integrations later from Devtron Stack Manager. {% endhint %}
- Kubernetes cluster v1.16 or later (cloud or local)
- Helm v3.8+ installed
- For production cases, fulfill the Infrastructure Recommendations
{% hint style="warning" %}
Install 'AWS EBS CSI' driver using the following command:
helm repo add aws-ebs-csi-driver https://kubernetes-sigs.github.io/aws-ebs-csi-driver
helm repo update
helm upgrade --install aws-ebs-csi-driver \
--namespace kube-system aws-ebs-csi-driver/aws-ebs-csi-driver{% endhint %}
{% hint style="warning" %}
K3s does not include a default storage provisioner, so before you run Helm install in Step 2, apply the Rancher local-path-provisioner to enable dynamic storage:
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml{% endhint %}
{% hint style="info" %}
See Additional Installation Resources for production infra recommendations, air-gapped installs, blob storage, config overrides, StorageClass, Database, Ingress setup, backups, and more. {% endhint %}
helm repo add devtron https://helm.devtron.ai
helm repo update devtron{% tabs %} {% tab title="Minimal (Dashboard Only)" %}
After you add Devtron Helm Repository run the command below:
helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncd{% endtab %}
{% tab title="With CI/CD" %}
After you add Devtron Helm Repository run the command below:
helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncd \
--set installer.modules={cicd}{% endtab %}
{% tab title="With CI/CD + GitOps (Argo CD)" %}
After you add Devtron Helm Repository run the command below:
helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncd \
--set installer.modules={cicd} \
--set argo-cd.enabled=true{% endtab %} {% endtabs %}
{% hint style="info" %}
It usually takes 5–15 minutes to spin up all Devtron microservices (depending on your installation option).
You may check the status by running the command below. If the output is Applied, Devtron is installed.
kubectl -n devtroncd get installers installer-devtron \
-o jsonpath='{.status.sync.status}'{% endhint %}
{% tabs %} {% tab title="For EKS/AKS/GKE" %} To access the dashboard on EKS, AKS, or GKE cluster, run the following command:
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'Dashboard URL: The LoadBalancer URL displayed in the output {% endtab %}
{% tab title="MicroK8s/Kind/K3s (and Cloud VMs)" %}
You have a few different ways to open the Devtron dashboard on local or VM-based clusters.
Pick the method that works best for you: quick port-forward, persistent NodePort, or remote access via kubeconfig.
Run the following command to port-forward the devtron service to port 8000
kubectl -n devtroncd port-forward service/devtron-service 8000:80Dashboard URL: http://127.0.0.1:8000
If you prefer NodePort instead of port-forwarding, reinstall Devtron with:
--set components.devtron.service.type=NodePortThen run the following command to get the port number assigned to the service:
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.spec.ports[0].nodePort}'Dashboard URL: http://<HOST_IP>:<NODEPORT>/dashboard
If Devtron is installed on a remote VM (e.g., AWS EC2, Azure VM, GCP Compute Engine) using MicroK8s, Kind, or K3s, run the following commands one-by-one:
scp user@cloud-vm-ip:/path/to/kubeconfig ~/.kube/config
kubectl config use-context <context-name> # Set the correct context.
kubectl -n devtroncd port-forward service/devtron-service 8000:80Dashboard URL: http://127.0.0.1:8000
{% endtab %}
{% tab title="Minikube" %} Run the following command:
minikube service devtron-service --namespace devtroncdDashboard URL: (Directly opens in your browser) {% endtab %} {% endtabs %}
-
From your browser, visit the dashboard URL (obtained in the previous step) to view the login page of Devtron.
-
Enter
adminin the username. -
Run the below command to get your password.
kubectl -n devtroncd get secret devtron-secret \ -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d
You should see the Devtron Dashboard post successful login.
{% hint style="success" %}
After the initial login, we recommend you set up an Single Sign-On (SSO) service like Google, GitHub, etc., and then add other members (including yourself). Thereafter, they can log in using the configured SSO. {% endhint %}