devtron

command module
v0.3.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2022 License: Apache-2.0 Imports: 103 Imported by: 0

README ΒΆ

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 . YouTube

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.

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

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.

πŸŽ‰ 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, 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

πŸ“ Compatibility notes

Current build:

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

🦹 Hyperion

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:

πŸŽ‰ Features(For Hyperion)

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.
Side Note:

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.

πŸš€ Getting Started(For Hyperion)

Install Hyperion using Helm3

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

Access Hyperion dashboard

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.

Hyperion Admin credentials

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
If you want to perform CI/CD, App creation present in Devtron you are always few commands away:

Getting Started for Devtron

πŸ“Ή Videos:

πŸ‘₯ Community

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

Join Our Discord Community

πŸ’ͺ 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.

❓ 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 ```bash 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

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
api
sse
sso
client
cmd
internal
sql/repository
@description: app listing view
@description: app listing view
pkg
app
dex
git
sql
sso
user/repository
@description: user authentication and authorization @description: user crud
@description: user authentication and authorization @description: user crud
tests
e2e
* Copyright (c) 2020 Devtron Labs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright (c) 2020 Devtron Labs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
k8s

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL