/devtron

Web based CI/CD Platform for Kubernetes

Primary LanguageGoApache License 2.0Apache-2.0

Web based CI/CD Platform for Kubernetes

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

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

🔥 Want to accelerate K8s adoption? Our core team would love to help 30 companies do it the Devtron way! 🔥 Apply Now 👋

📖 Menu

💡 Devtron?

Why use it?

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.

🎉 Features



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

💙 We Support:

In addition to the features, we love supporting platforms that devs find easy to work with.

🌐 Architecture:


🚀 Getting Started

You can follow our detailed installation guide, using Devtron and other key functionalities of devtron, in our

Devtron Documentation

Quick installation with default settings

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

For detailed installation instructions and other options, check out:

devtron installation documentation

🔑 Access Devtron dashboard

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

💪 Trusted By

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.

📹 Videos:

📝 Compatibility notes

Current build:

  • Devtron uses modified version of argo rollout
  • Application metrics only works for k8s 1.16+

👥 Community

Get updates on Devtron's development and chat with the project maintainers, contributors, and community members.

Join Our Discord Community

Join Devtron : Heroku for Kubernetes

💖 Love What You See!

If you are loving what we are doing, please consider giving us a star.
GitHub stars
Or you can tweet about us:
Tweet
Your token of gratitude will go a long way helping us reach more developers like you. ❤️ 😄

Or you can do one better and Contribute 👏

❓ FAQ & Troubleshooting:

FAQ:

  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

kubectl apply -f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/yamls/rollout.yaml -n devtroncd

Troubleshooting:

🤝 Contribute

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.

Our Contributors:

We are deeply grateful for all our amazing contributors!

🐛 Vulnerability Reporting

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 security@devtron.ai.

🔖 License

Devtron is available under the Apache License, Version 2.0