A Web based CI/CD platform leveraging open source tools to provide a No-Code SaaS-like experience for Kubernetes.
Explore documentation Β»
Website
Β·
Blog
Β·
Join Discord
Β·
Twitter
.
YouTube
- Devtron?
- Devtron
- Hyperion
- Documentation
- Compatibility Notes
- Community
- Trusted By
- FAQ & Troubleshooting
- Contribute
Devtron is a Web-Based CI/CD Platform for Kubernetes. It integrates various OpenSource tools to provide a modular CI/CD platform that also includes Security Scanning, GitOps, Access Control, and Debugging/Observability.
Devtron is built in a modular approach. These modules can be installed independently:
- Devtron - This option gives you all the features of Devtron as a Full Experience providing you with CI, CD, security, cost, observability, stabilization. All the modules stated below are included here.
- Hyperion - Devtron's Web-based module to manage helm apps that can be installed seperately. Install Hyperion -> manage, Observe helm apps of all your clusters. This module is also a great way to manage existing helm apps and gradually understand how Devtron fits into your workflow. You can always switch to Devtron for all the features.
Devtron provides a full feldged web based CI/CD platform including features like Security Scanning, GitOps, Access Control, and Debugging/Observability. Modules like Hyperion are included as additional modules here.
No code self-serve DevOps platform
- Workflow which understands the domain of Kubernetes, testing, CD, SecOps
- Reusable and composable pipelines so that workflows are easy to construct and visualize
Multi-cloud/Multi-cluster deployment
- Devtron gives the ability to deploy your applications to multiple clusters/cloud just with the same dashboard.
Built-in SecOps tools and integration
- UI driven hierarchical security policy (global, cluster, environment, and application) for efficient policy management
- Integration with Clair for vulnerability scanning
UI-enabled Application debugging dashboard
- Application-centric view for K8s components
- Built-in monitoring for CPU, RAM, http status code, and latency
- Advanced logging, with grep and json search
- Access all manifests securely for e.g. secret obfuscation
- Auto issue identification
Enterprise grade security and compliances
- Easy to control roles and permissions for users.
- Club the users of similar roles by giving the required permissions through the User Interface.
Automated GitOps based deployment using argocd
- Automated git repository and application manifest management
- Reduces complexity(configuration, access control) in adopting GitOps practices
- GitOps backed by Postgres for easier analysis
In addition to the features, we love supporting platforms that devs find easy to work with.
This installation will use Minio for storing build logs and cache.
helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd
devtron installation documentation
By default, Devtron creates a loadbalancer. Use the following command to get the dashboard url:
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
Devtron Admin credentials
For admin login, use the username:admin
. And for the password, run the following command:
kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d
- Devtron uses modified version of argo rollout
- Application metrics only works for k8s 1.16+
Hyperion is one of Devtron's Web-based modules to manage helm apps that can be installed seperately too. It helps you observe, manage and debug the applications deployed through Helm across multiple clusters minimizing Kubernetes Complexities. Please expand this column to find Hyperion's features and to get Started with it:
Application-level resource grouping for easier Debugging
- Hyperion groups your deployed Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Hyperion UI and even edit them!
Centralized Access Management
- Control and give customizable view-only, edit access to users on Project, Environment and App level.
Manage and observe Multiple Clusters
- Manage Helm charts, Applications across multiple Kubernetes clusters (hosted on multiple cloud/on-prem) right from a single Hyperion setup.
View and Edit Kubernetes Manifests
- View and Edit all Kubernetes resources right from the Hyperion dashboard.
Hyperion module is also a great way to get to know Devtron's UI and some of its features. You can always switch from Hyperion to Devtron which includes all the features. Just a Couple of Commands away.
To install Helm3, please check Installing Helm3
helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd --set installer.mode=hyperion
For those countries/users where Github is blocked , you can download the Hyperion Helm chart
wget https://s3-ap-southeast-1.amazonaws.com/devtron.ai/devtron-operator-latest.tgz
helm install devtron devtron-operator-latest.tgz --create-namespace --namespace devtroncd --set installer.mode=hyperion
If you did not provide a BASE_URL during install or have used the default installation, Devtron creates a loadbalancer for you on its own. Use the following command to get the dashboard url.
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
You will get result something like below
[test2@server ~]$ kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
[map[hostname:devtronsdashboardurlhere]]
The hostname mentioned here ( devtronsdashboardurlhere ) is the Loadbalancer URL where you can access the Devtron dashboard.
For admin login use username:admin
and for password run the following command.
kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d
- Devtron - A Comprehensive Overview
- Viktor Farcic(YouTuber) Review
- Running an application on Devtron
- Devtron Demo
Get updates on Devtron's development and chat with the project maintainers, contributors, and community members.
- Follow @DevtronL on Twitter
- Raise feature requests, suggest enhancements, report bugs in our GitHub issues
- Read the Devtron blog
Devtron has been trusted by the Enterprises and community all across the globe:
- Delhivery: Delhivery Limited is one the largest and most profitable logistics company in India
- BharatPe: Bharatpe is a business utility app to accept payments transactions in settlements.
- Livspace: Livspace is one-stop shop for all things home interiors and renovation services.
- Moglix: It is an Asia-based B2B commerce company intensively inclined towards B2B procurement of industrial supplies
- Xoxoday: Xoxoday helps to send rewards, perks & incentives to employees, customers and partners.
1.How to resolve unauthorized error/s, while trying to save global configurations like hostname, GitOps etc. after successful devtron installation
A. This occurs most of the time because any one or multiple jobs get failed during installation. To resolve this, you'll need to first check which jobs have failed. Follow these steps:
- Run the following command and check which are the jobs with 0/1 completions:
kubectl get jobs -n devtroncd
- Note the names of the jobs with 0/1 completions and check if their pods are in running state or not by running the command: kubectl get pods -n devtroncd
- If they are in running condition, please wait for the jobs to be completed. This may be due to internet issue. If the job is not in running condition, delete those incomplete jobs using:
kubectl delete jobs -n devtroncd..Read More
2.What to do if devtron dashboard is not accessible on browser, even after successful completion of all jobs and all pods are in running mode?
A. Check if nats-cluster is created or not, you can check it using the following command:
kubectl get natscluster -n devtroncd
- You should see a natscluster with the name devtron-nats. If not, run the following command:
kubectl apply -f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/yamls/nats-server.yaml -n devtroncd
- Wait util all nats pods are created, and the pods are in running condition. Once complete, delete devtron and dashboard pods. Then you should be able to access the devtron dashboard without any issues.
- If your problem is still not resolved, you can post your query in our discord channel
3.Not able to see deployment metrics on production environment or Not able to enable application-metrics or Not able to deploy the app after creating a configmap or secret with data-volume option enabled
A. Update the rollout crds to latest version, run the following command ```bash kubectl apply -f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/yamls/rollout.yaml -n devtroncd ```
- For Installation Troubleshooting, check this documentation
- For other troubleshooting, Check the Common troubleshooting documentation
Check out our contributing guidelines. Included are directions for opening issues, coding standards, and notes on our development processes. We deeply appreciate your contributions.
Also please checkout our community contributions and feel free to create a video or blog around Devtron and add your valuable contribution in the list.
We are deeply grateful for all our amazing contributors!
We at Devtron take security and our users' trust very seriously. If you believe you have found a security issue in Devtron, please responsibly disclose this to us at [email protected].
Devtron is available under the Apache License, Version 2.0