devtron-labs / devtron

Tool integration platform for Kubernetes
https://devtron.ai
Apache License 2.0
4.03k stars 460 forks source link
aks appops argocd continuous-deployment dashboard deployment deployment-automation deployment-pipeline deployment-strategy devtron eks gitops gke hacktoberfest kubectl kubernetes kubernetes-dashboard kubernetes-deployment release-automation workflow-engine

Cloud Native tool integration platform for Kubernetes


Explore documentation »
Try Devtron Demo »
Website · Blogs · Join Discord channel · Twitter . YouTube

Join Discord Go Report Card License CII Best Practices made-with-Go Website devtron.ai Tweet

🔥 Want to accelerate K8s adoption? Introducing DevOps in a Box; Leave DevOps on Devtron 🔥

Devtron deeply integrates with products across the lifecycle of microservices,i.e., CI, CD, security, cost, debugging, and observability via an intuitive web interface.

[Devtron](#install-devtron) helps you deploy, observe, manage & debug existing Helm apps in all your clusters. ## Devtron Demo Environment Please log in the Demo environment using github credentials. Please note the user is granted view access. ## Devtron Features
Application-level Resource grouping for easier Debugging
- Devtron groups your Kubernetes objects deployed via Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Devtron UI and even edit them!
Centralized Access Management
- Control and give customizable view-only, edit access to users on Project, Environment and Application levels
Deploy, Manage and Observe on multiple clusters
- Deploy and manage Helm charts, applications across multiple Kubernetes clusters (hosted on multiple clouds/on-prem) right from a single Devtron setup

## Integrations Devtron is designed to be modular, and its functionality can be easily extended with the help of integrations. ### CI/CD Integration [Devtron CI/CD with GitOps](#install-devtron-with-cicd-integration) integration is used to automate the builds and deployments and enables the software development teams to focus on meeting the business requirements, code quality, and security. * Devtron leverages Kubernetes auto-scaling and centralized caching to give you unlimited cost-efficient CI workers. * Supports pre-CI and post-CI integrations for code quality monitoring. * Seamlessly integrates with Clair for image vulnerability scanning. * Supports different deployment strategies: Blue/Green, Rolling, Canary, and Recreate. * Implements GitOps to manage the state of Kubernetes applications. * Integrates with ArgoCD for continuous deployment. * Checks logs, events, and manifests or exec inside containers for debugging. * Provides deployment metrics like; deployment frequency, lead time, change failure rate, and mean-time recovery. * Seamlessly integrates with Grafana for continuous application metrics like CPU and memory usage, status code, throughput, and latency on the dashboard. ## Architecture

## Installation Before you begin, you must create a [Kubernetes cluster](https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/) (preferably K8s 1.16 or higher) and install [Helm](https://helm.sh/docs/intro/install/). ### 1. Install Devtron with CI/CD Integration Run the following command to install the latest version of Devtron along with the CI/CD module: ```bash helm repo add devtron https://helm.devtron.ai helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd} ``` ### Access Devtron **URL**: Use the following command to get the dashboard URL: ```bash kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}' ``` **Credentials**: **UserName**: `admin`
**Password**: Run the following command to get the admin password for Devtron version v0.6.0 and higher ```bash kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d ``` For Devtron version less than v0.6.0, run the following command to get the admin password: ```bash kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d ``` Please refer to the document for more information on how to [access the Devtron Dashboard](./docs/setup/install/install-devtron-with-cicd.md/#access-devtron-dashboard). #### Installation Status The above install command for CI/CD integration starts Devtron-operator, which takes about 20 minutes to spin up all of the Devtron microservices one by one. You can check the status of the installation with the following command: ```bash kubectl -n devtroncd get installers installer-devtron \ -o jsonpath='{.status.sync.status}' ``` The command executes with one of the following output messages, indicating the status of the installation: * **Downloaded**: The installer has downloaded all the manifests, and installation is in progress. * **Applied**: The installer has successfully applied all the manifests, and the installation is complete. ### 2. Install Devtron with Helm Bundle ```bash helm repo add devtron https://helm.devtron.ai helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd ``` ### Install Multi-Architecture Nodes (ARM and AMD) To install Devtron on clusters with the multi-architecture nodes (ARM and AMD), append the Devtron installation command with ```--set installer.arch=multi-arch``` ## :blue_heart: Technology Devtron is built on some of the most trusted and loved technologies:

## :video_camera: Videos - [Devtron - A Comprehensive Overview](https://youtu.be/FB5BI3Ef7uw?t=363) - [Viktor Farcic's review](https://youtu.be/ZKcfZC-zSMM) - [Running an application on Devtron](https://youtu.be/bA6zgjPD_yA?t=2927) - [Devtron Demo](https://youtu.be/ekxHV2Gje-E?t=7856) ## :memo: Blogs from Community * [How Livspace revolutionised its CI/CD saga](https://blog.livspace.io/how-livspace-revolutionised-its-ci-cd-saga-3120724e271b) * [AppOps with Kubernetes and Devtron: The Perfect Fit](https://hackernoon.com/appops-with-kubernetes-and-devtron-the-perfect-fit-sj934qj) * [Getting started with GitOps on Kubernetes with Devtron](https://piotrminkowski.com/2022/05/04/getting-started-with-gitops-on-kubernetes-with-devtron) * [Zero to hero on Kubernetes with Devtron](https://dzone.com/articles/zero-to-hero-on-kubernetes-with-devtron) * [Kubernetes deployment made easy](https://medium.com/container-talks/kubernetes-deployment-made-easy-cc74f0242f06) ## :muscle: Trusted By Devtron is trusted by communities all across the globe. The list of organizations using Devtron can be found [here](./USERS.md). ## :question: FAQs & Troubleshooting - Devtron - [see here](https://docs.devtron.ai/resources/devtron-troubleshoot) ## :page_facing_up: Compatibility ### Current build - Devtron uses modified version of [Argo Rollout](https://argoproj.github.io/argo-rollouts/) - Application metrics only work for K8s version 1.16+ ## Support, Contribution, and Community ## :busts_in_silhouette: Community Get updates on Devtron's development and chat with project maintainers, contributors, and community members - Follow [@DevtronL on Twitter](https://twitter.com/DevtronL) - Raise feature requests, suggest enhancements, and report bugs in our [GitHub Issues](https://github.com/devtron-labs/devtron/issues) - Articles, Howtos, Tutorials - [Devtron Blogs](https://devtron.ai/blog/) ### Join us at Discord channel

Join Devtron : Heroku for Kubernetes

## :handshake: Contribute Check out our [contributing guidelines](CONTRIBUTING.md). Included, are directions for opening issues, coding standards, and notes on our development processes. We deeply appreciate your contribution. Please look at our [community contributions](COMMUNITY_CONTRIBUTIONS.md) and feel free to create a video or blog around Devtron and add your valuable contribution to the list. ### Contributors: We are deeply grateful to all our amazing contributors! ## :bug: Vulnerability Reporting We at Devtron, take security and our users' trust very seriously. If you believe you have found a security issue, please report it to security@devtron.ai. ## :bookmark: License Devtron is licensed under [Apache License, Version 2.0](LICENSE)