-
Notifications
You must be signed in to change notification settings - Fork 553
docs: add getting started doc #2658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 6 commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
20d6dd1
add getting started doc
SNe789 71c5ed7
updates
SNe789 8509c1b
getting-started-updates
SNe789 d21786b
updates
SNe789 e4f6e29
getting-started-updates
SNe789 d538171
updates
SNe789 bb88ab2
updates getting started
SNe789 fa1215c
updates
SNe789 69f8121
updates
SNe789 0b291f8
updates
SNe789 9ccff89
updates
SNe789 d456a6f
updates
SNe789 a241740
updates
SNe789 c13099c
updates
SNe789 188395c
updates
SNe789 0540fd4
license updates
SNe789 b13b06e
Merge branch 'main' into add-getting-started-doc
nishant-d File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | ||
|
|
@@ -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 | ||
|
|
@@ -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. | ||
|
|
||
|
|
@@ -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). | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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. | ||
| 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. [](https://discord.gg/jsRG5qx2gp) | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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. | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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). |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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