Skip to content
56 changes: 21 additions & 35 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,35 @@
# Overview

## Devtron 🚀
# Introduction to Devtron


Devtron is a tool integration platform for Kubernetes.

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 deeply integrates with products across the lifecycle of microservices i.e., CI/CD, security, cost, debugging, and observability via an intuitive web interface.
Devtron helps you to deploy, observe, manage & debug the existing Helm apps in all your clusters.

> To quickly get started, refer to the [Devtron Installation Guide ⎈](setup/install/README.md) ⎈

{% embed url="https://www.youtube.com/watch?v=AG8HfTceHxw" caption="Introducing Devtron" %}

## Why Devtron?

To improve the use of Kubernetes, we employ several tools. Using these tools at the same time, however, is cumbersome and complex.
This is because these tools do not communicate with one another to manage different aspects of the application lifecycle, such as CI, CD, security, cost, observability, and stabilization.

Devtron is a one-stop solution for the complexity of the tools mentioned above!

<p align="center"><img src="../assets/readme-comic.png"></p>

Devtron is an open-source modular product that provides a 'seamless' and 'implementation agnostic uniform interface', that can be integrated with both open-source and commercial tools across the entire lifecycle. All this is achieved while focusing on a slick user experience, including a self-serve model.
## Devtron's Key Features:

You can efficiently handle security, stability, cost, and more in a unified experience.

### Devtron Features:

#### Zero code software delivery workflow for Kubernetes
### No Code Software Delivery Workflow for Kubernetes

* Workflow which understands the domain of **Kubernetes, testing, CD, SecOps** so that you don't have to write scripts
* Reusable and composable components so that workflows are easy to construct and reason through

#### Multi cloud deployment
### Multi-cloud Deployment

* Deploy to multiple Kubernetes clusters on multiple cloud/on-prem from one Devtron setup.
* Works for all cloud providers and on-premise Kubernetes clusters.
* Deploy to multiple Kubernetes clusters on multiple cloud/on-prem from one Devtron setup
* Works for all cloud providers and on-premise Kubernetes clusters

#### Easy DevSecOps integration
### Easy DevSecOps Integration

* Multi-level security policy at global, cluster, environment, and application-level for efficient hierarchical policy management
* Behavior-driven security policy
* Define policies and exceptions for Kubernetes resources
* Define policies for events for faster resolution

#### Application debugging dashboard
### Application Debugging Dashboard

* One place for all historical Kubernetes events
* Access all manifests securely, such as secret obfuscation
Expand All @@ -51,7 +38,7 @@ You can efficiently handle security, stability, cost, and more in a unified expe
* Intelligent _**correlation between events, logs**_ for faster triangulation of issue
* Auto issue identification

#### Enterprise-Grade security and compliances
### Enterprise-Grade Security and Compliances

* Fine-grained access control; control who can edit the configuration and who can deploy.
* Audit log to know who did what and when
Expand All @@ -60,28 +47,25 @@ You can efficiently handle security, stability, cost, and more in a unified expe
* Relevant cloud events and their impact on applications
* Advanced workflow policies like blackout window, branch environment relationship to secure build and deployment pipelines

#### GitOps aware
### Implements GitOps

* GitOps exposed through API and UI so that you don't have to interact with git CLI
* GitOps backed by Postgres for easy analysis
* Enforce finer access control than Git

#### Operational insights
### Operational Insights

* Deployment metrics to measure the success of the agile process. It captures MTTR, change failure rate, deployment frequency, and deployment size out of the box.
* Audit log to understand the failure causes
* Monitor changes across deployments and reverts easily

## Compatibility notes

* It uses a modified version of [argo rollout](https://argoproj.github.io/argo-rollouts/).
* Application metrics only work for k8s 1.16+
## Compatibility Notes

## What's next
* Devtron uses a modified version of [Argo Rollout](https://argoproj.github.io/argo-rollouts/).
* Application metrics only work for K8s version 1.16+

* [Install Devtron](setup/install/README.md)

## Contribute
## Contributing Guidelines

Check out our [contributing guidelines](https://github.com/devtron-labs/devtron/blob/main/CONTRIBUTING.md). Directions for opening issues, coding standards, and notes on our development processes are all included.

Expand All @@ -96,8 +80,10 @@ Get updates on Devtron's development and chat with the project maintainers, cont

## 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 it by contacting us at [email protected].
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 it by contacting us at **[email protected]**.

## License

Devtron is available under the [Apache License, Version 2.0](../LICENSE).


17 changes: 10 additions & 7 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
# Summary

* [Overview](README.md)

### Getting Started

* [Install Devtron](setup/install/README.md)
* [Install Devtron with CI/CD integration](setup/install/install-devtron-with-cicd.md)
* [Introduction](README.md)
* [Why Devtron](setup/getting-started/why-devtron.md)
* [Getting Started](setup/getting-started/getting-started.md)
* Install Devtron with CI/CD
* [Install Devtron with CI/CD Integration](setup/install/install-devtron-with-cicd.md)
* [Install Devtron with CI/CD on AWS EKS](setup/install/install-devtron-on-AWS-EKS.md)
* [FAQ on Installation](setup/install/faq-on-installation.md)
* Install Devtron
* [Install Devtron](setup/install/install-devtron.md)
* [Install Devtron on Minikube, Microk8s, K3s, Kind](setup/install/Install-devtron-on-Minikube-Microk8s-K3s-Kind.md)
* [Configurations](setup/configurations/configurations-overview.md)
* [Installation Configurations](setup/install/installation-configuration.md)
* [Override Configurations](setup/install/override-default-devtron-installation-configs.md)
* [Ingress setup for Devtron Installation](setup/install/ingress-setup.md)
* [Setup Ingress](setup/configurations/ingress-setup.md)
* [Global Configurations](user-guide/global-configurations/README.md)
* [GitOps](user-guide/global-configurations/gitops.md)
* [Projects](user-guide/global-configurations/projects.md)
Expand Down
12 changes: 12 additions & 0 deletions docs/setup/configurations/configurations-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Configurations

You can configure Devtron by using configuration files. Configuration files are YAML files which are user-friendly.
The configuration allows you to quickly roll back a configuration change if necessary. It also aids cluster re-creation and restoration.

There are two ways you can perform configurations while setting up Devtron dashboard:

* [Installation Configurations](setup/configurations/installation-configuration.md)
* [Override COnfigurations](setup/configurations/override-default-devtron-installation-configs.md)


You can also setup `ingress` while setting up Devtron dashboard. Refer [here](setup/configuration/ingress-setup.md) for ingress setup.
83 changes: 83 additions & 0 deletions docs/setup/getting-started/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Getting Started


Before effectively using Devtron, it is necessary to understand the underlying technology that the Devtron platform is built on.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we are not explaining underlying technology in this page or providing any link to that

It is very IMPORTANT to know the prerequisite requirements so that you can onboard Devtron smoothly as possible according to your needs. You can install Devtron after fulfilling the prerequisite requirements.

Devtron is installed over a Kubernetes cluster and can be installed standalone or along with CI/CD integration:

* [Devtron with CI/CD](setup/install/install-devtron-with-cicd.md): Devtron installation with the CI/CD integration is used to perform CI/CD, security scanning, GitOps, debugging, and observability.
* [Helm Dashboard by Devtron](setup/install/install-devtron.md): The Helm Dashboard by Devtron which is a standalone installation includes functionalities to deploy, observe, manage, and debug existing Helm applications in multiple clusters. You can also install integrations from `Devtron Stack Manager`.

In this section, we will cover the basic details on how you can quickly get started with **Devtron**.
First, lets see what are the prerequisite requirements before you install Devtron.

## Pre-requisite Requirements
* Create a [Kubernetes cluster, preferably K8s version 1.16 or higher](#create-a-kubernetes-cluster)
* [Helm Installation](https://helm.sh/docs/intro/install/)
* [Recommended Resources](#recommended-resources)


### Create a Kubernetes Cluster

You can create any [Kubernetes cluster](https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/) (preferably K8s version 1.16 or higher) for trying Devtron out in a local environment.

You can create a cluster using one of the following cloud providers as per your requirements:

| Cloud Provider | Description |
| --- | --- |
| **AWS EKS** | Create a cluster using [AWS EKS](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html). <br>`Note`: If you want to install `Devtron with CI/CD` on AWS EKS, please refer our customized documentation [here](setup/install/install-devtron-on-AWS-EKS.md).</br> |
| **Google Kubernetes Engine (GKE)** | Create a cluster using [GKE](https://cloud.google.com/kubernetes-engine/). |
| **Azure Kubernetes Service (AKS)** | Create a cluster using [AKS](https://learn.microsoft.com/en-us/azure/aks/). |
| **k3s - Lightweight Kubernetes** | Create a cluster using [k3s - Lightweight Kubernetes](https://devtron.ai/blog/deploy-your-applications-over-k3s-lightweight-kubernetes-in-no-time/).<br>`Note`: If you want to install `Helm Dashboard by Devtron` on `Minikube, Microk8s, K3s, Kind`, please refer our customized documentation [here](setup/install/Install-devtron-on-Minikube-Microk8s-K3s-Kind.md).</br> |



### Install Helm

Make sure to install [helm]((https://helm.sh/docs/intro/install/))

Helm is a package manager for Kubernetes that makes it possible to download charts, which are pre-packaged collections of all the necessary versioned, pre-configured resources required to deploy a container. Helm charts are most useful when first setting up a Kubernetes cluster to deploy simple applications.


### Recommended Resources

When you specify a Pod, you can optionally specify how much of each resource a container needs. The most common resources to specify are CPU and memory (RAM); CPU and memory are collectively referred to as compute resources, or resources. Compute resources are measurable quantities that can be requested, allocated, and consumed.

The minimum requirements for installing `Helm Dashboard by Devtron` and `Devtron with CI/CD` as per the number of applications you want to manage on `Devtron` are provided below:

* For configuring small resources (to manage not more than 5 apps on Devtron):

| Integration | CPU | Memory |
| --- | :---: | :---: |
| **Devtron with CI/CD** | 2 | 6 GB |
| **Helm Dashboard by Devtron** | 1 | 1 GB |

* For configuring medium/larger resources (to manage more than 5 apps on Devtron):

| Integration | CPU | Memory |
| --- | :---: | :---: |
| **Devtron with CI/CD** | 6 | 13 GB |
| **Helm Dashboard by Devtron** | 2 | 3 GB |

> Refer to the [Override Configurations](setup/install/override-default-devtron-installation-configs.md) section for more information.

>**Note:** It is NOT recommended to use brustable CPU VMs (T series in AWS, B Series in Azure and E2/N1 in GCP) for Devtron installation.



## Installation of Devtron

As it is mentioned before, you can install Devtron standalone (Helm Dashboard by Devtron) or along with CI/CD integration. Or, you can upgrade Devtron to the latest version.

Choose one of the options as per your requirements:

| Installation Options | Description |
| --- | --- |
| [Devtron with CI/CD](setup/install/install-devtron-with-cicd.md) | Devtron installation with the CI/CD integration is used to perform CI/CD, security scanning, GitOps, debugging, and observability. |
| [Helm Dashboard by Devtron](setup/install/install-devtron.md) | The Helm Dashboard by Devtron which is a standalone installation includes functionalities to deploy, observe, manage, and debug existing Helm applications in multiple clusters. You can also install integrations from `Devtron Stack Manager`. |
| **Upgrade Devtron to latest version** | You can upgrade Devtron in one of the following ways:<ul><li>[Upgrade Devtron using Helm](https://docs.devtron.ai/v/v0.5/getting-started/upgrade#upgrade-devtron-using-helm)</ul></li><ul><li>[Upgrade Devtron from UI](https://docs.devtron.ai/v/v0.5/getting-started/upgrade/upgrade-devtron-ui)</ul></li> |

**Note**: If you have questions, please let us know on our discord channel. [![Join Discord](https://img.shields.io/badge/Join%20us%20on-Discord-e01563.svg)](https://discord.gg/jsRG5qx2gp)


25 changes: 25 additions & 0 deletions docs/setup/getting-started/why-devtron.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

# Why Devtron?


Kubernetes is an open-source container orchestration tool that enables administrators to seamlessly deploy, manage and scale containerized apps in a wide variety of production environments. It works on a wide variety of platforms and cloud deployment models. By organizing apps into a cluster of containers that run on virtualized host operating systems, Kubernetes enables businesses to manage IT workloads efficiently.

In the process, however, Kubernetes has also introduced a lot of new complexities for developers and systems administrators alike.

To improve the usage of Kubernetes, several tools are needed to be integrated. But using these tools at the same time, however, is cumbersome and complex. These tools do not communicate with one another to manage different aspects of the application lifecycle, such as CI/CD, security, cost, observability, and stabilization.

This is where **Devtron** comes into the picture!

<p align="center"><img src="../assets/readme-comic.png"></p>

The need to declaratively manage Kubernetes clusters and application delivery is what is driving **Devtron** on Kubernetes.

Devtron is an open-source modular product that provides a `seamless` and `implementated agnostic uniform interface`, that can be integrated with both open-source and commercial tools across the entire application lifecycle.

With Devtron, you can efficiently handle security, stability, cost, and more in a unified experience.






41 changes: 41 additions & 0 deletions docs/setup/install/faq-on-installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

# FAQ

<details>
<summary>1. How will I know when the installation is finished?</summary>

Run the following command to check the status of the installation:

```bash
kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'
```

The above command will print `Applied` once the installation process is complete. The installation process could take up to 30 minutes.
</details>

<details>
<summary>2. How do I track the progress of the installation?</summary>

Run the following command to check the logs of the Pod:

```bash
pod=$(kubectl -n devtroncd get po -l app=inception -o jsonpath='{.items[0].metadata.name}')&& kubectl -n devtroncd logs -f $pod
```
</details>

<details>
<summary>3. How can I restart the installation if the Devtron installer logs contain an error?</summary>

First run the below command to clean up components installed by Devtron installer:

```bash
cd devtron-installation-script/
kubectl delete -n devtroncd -f yamls/
kubectl -n devtroncd patch installer installer-devtron --type json -p '[{"op": "remove", "path": "/status"}]'
```

Next, [install Devtron](./install-devtron.md)
</details>


Still facing issues, please reach out to us on [Discord](https://discord.gg/jsRG5qx2gp).