Skip to content
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

doc: Chart Store Doc Revamp + OCI push/pull with Usecase #11

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,5 @@ redirects:
usage/clusters: user-guide/resource-browser.md
global-configurations/authorization/sso-login/okta: user-guide/global-configurations/authorization/sso/okta.md
usage/applications/creating-application/ci-pipeline/ci-build-pre-post-plugins: user-guide/creating-application/workflow/ci-build-pre-post-plugins.md
global-configurations/custom-charts: user-guide/global-configurations/deployment-charts.md
global-configurations/custom-charts: user-guide/global-configurations/deployment-charts.md
usage/deploy-chart/overview-of-charts: user-guide/deploy-chart/README.md
7 changes: 3 additions & 4 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,11 @@
* [Resource Browser](user-guide/resource-browser.md)
* [Resource Watcher](user-guide/resource-watcher.md)
* [Charts](user-guide/deploy-chart/README.md)
* [Charts Overview](user-guide/deploy-chart/overview-of-charts.md)
* [Deploy & Observe](user-guide/deploy-chart/deployment-of-charts.md)
* [Deploy a Chart](user-guide/deploy-chart/deployment-of-charts.md)
* [Deploy a Chart Group](user-guide/deploy-chart/chart-group.md)
* [Examples](user-guide/deploy-chart/examples/README.md)
* [Deploying Mysql Helm Chart](user-guide/deploy-chart/examples/deploying-mysql-helm-chart.md)
* [Deploying MongoDB Helm Chart](user-guide/deploy-chart/examples/deploying-mongodb-helm-chart.md)
* [Chart Group](user-guide/deploy-chart/chart-group.md)
* [Security](user-guide/security-features.md)
* [Security Scans](user-guide/security-features/security-scans.md)
* [Security Policies](user-guide/security-features/security-policies.md)
Expand Down Expand Up @@ -165,7 +164,7 @@
* [Connect SpringBoot with Mysql Database](user-guide/use-cases/connect-springboot-with-mysql-database.md)
* [Connect Expressjs With Mongodb Database](user-guide/use-cases/connect-expressjs-with-mongodb-database.md)
* [Connect Django With Mysql Database](user-guide/use-cases/connect-django-with-mysql-database.md)
* [Pull Helm Charts from OCI Registry](user-guide/use-cases/oci-pull.md)
* [Deploying Software on Air-gapped Environment](user-guide/use-cases/airgapped-app-deployment.md)
* [Telemetry Overview](user-guide/telemetry.md)
* [Devtron on Graviton](reference/graviton.md)
* [Release Notes](https://github.com/devtron-labs/devtron/releases)
11 changes: 10 additions & 1 deletion docs/user-guide/creating-application/workflow/cd-pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,20 @@ This section expects four inputs from you:

| Setting | Description | Options |
| ----------- | ---------------------------------------------------------- | ------------------------- |
| Environment | Select the environment where you want to deploy your application | (List of available environments) |
| Environment | Select the environment where you want to deploy your application. | (List of available environments) |
| Namespace | Automatically populated based on the selected environment | Not Applicable |
| Trigger | When to execute the deployment pipeline | **Automatic**: Deployment triggers automatically when a new image completes the previous stage (build pipeline or another deployment pipeline) <br /> **Manual**: Deployment is not initiated automatically. You can trigger deployment with a desired image. |
| Deployment Approach | How to deploy the application | **Helm** or **GitOps** <br /> Refer [GitOps](../../global-configurations/gitops.md) |

{% hint style="info" %}
### Deploying to an Isolated Environment?
In case you are choosing an [isolated environment](../../global-configurations/cluster-and-environments.md#add-isolated-cluster) for deployment, you will get two additional options to choose from in the 'Deploy to Environment' window ([check snapshot](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/use-cases/oci-push/create-cd2.jpg)):
* **Do not push** - A link to download the helm package will be available after the deployment. However, it will not push the helm package to the OCI registry.
* **Push to registry** - This will generate and [push the helm package to the OCI registry](../../global-configurations/container-registries.md#push-helm-packages). Upon selecting this option, you will get two more fields:
* **Registry** - Choose the OCI registry to which the helm chart package must be pushed. Only those registries that have `Push helm packages` enabled will be shown in the dropdown.
* **Repository** - Write the repository name in the format `username/repo-name`. You can find the username from your registry provider account (e.g., Docker Hub).
Copy link
Member

Choose a reason for hiding this comment

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

This format is only true for dockerhub ig not all repositories...

{% endhint %}

### Deployment Strategy

Devtron supports multiple deployment strategies depending on the [deployment chart type](../../creating-application/deployment-template.md#select-chart-from-default-charts).
Expand Down
67 changes: 60 additions & 7 deletions docs/user-guide/deploy-chart/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,67 @@
# Deploy Chart
# Chart Store

Welcome! This is the documentation for Deploying Charts.
## Introduction

**Parts of Documentation**
Devtron makes it easier for you to populate your charts from multiple sources to the [chart store](../../reference/glossary.md#chart-store). These sources are:
* [Chart Respository](../global-configurations/chart-repo.md)
Copy link
Member

Choose a reason for hiding this comment

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

Helm chart repostories...

* [OCI Registry](../global-configurations/container-registries.md#use-as-chart-repository)
Copy link
Member

Choose a reason for hiding this comment

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

OCI repositories


[Overview of Charts](overview-of-charts.md)
![Figure 1: Chart Store](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/overview-of-charts/chart-store-main.jpg)

[Charts Create, Update, Upgrade, Deploy, Delete](deployment-of-charts.md)
### Prerequisites

[Chart Group Create Edit And Deploy](chart-group.md)
* Helm Chart(s)
Copy link
Member

Choose a reason for hiding this comment

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

If this page is about chart store, helm chart cannot be a pre-requisite

* Chart Repository added to Devtron
* OCI-Compliant Registry (e.g. Docker Hub and [many more](../global-configurations/container-registries.md#supported-registry-providers)) with
Copy link
Member

Choose a reason for hiding this comment

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

Either Helm chart repository or OCI repository, any one should be sufficient, maybe this feels like both are required steps?


[Examples](examples/README.md)
---

## Populating your Charts to the Chart Store

1. From the left sidebar, go to **Chart Store**.

2. You can find your chart(s) either by using the search bar or by selecting your chart source.

![Figure 2: Searching your Chart](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/use-cases/oci-pull/chart-search.jpg)

You have successfully pulled your charts to the chart store.

![Figure 3: Uploaded Helm Charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/use-cases/oci-pull/chart-list.jpg)

### Unable to find your Charts?

Deprecated charts won't show up in the Chart Store unless you enable the **Show deprecated charts** filter as shown below

![Figure 4: Checking Deprecated Charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/use-cases/oci-pull/deprecated.jpg)

Or, you may try performing a chart resync as shown below:

![Figure 5: Performing a Resync](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/use-cases/oci-pull/chart-sync.jpg)

---


## Removing your Charts from the Chart Store

{% hint style="warning" %}
### Who Can Perform This Action?
You cannot remove a chart from the Chart Store if the source was a [chart repository](../global-configurations/chart-repo.md). Removal is possible only if the charts [come from OCI registry](../global-configurations/container-registries.md#push-helm-packages).
{% endhint %}

1. Go to your OCI registry settings in Devtron.

2. In the **List of repositories** field, remove the unwanted chart repo.

![Figure 6: Removing a Chart Repo](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/use-cases/oci-pull/remove-chart-repo.jpg)

3. Click **Update**.

The removed chart will no longer appear in the Chart Store.

{% hint style="info" %}
Deleting a chart repo from your OCI registry will not lead to the removal of chart from the Chart Store
{% endhint %}

A light alternative is to disable the chart source as shown below, but this doesn't imply the removal of a chart.

![Figure 7: Disabling a Chart Source](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/overview-of-charts/disable-chart-source.jpg)
91 changes: 71 additions & 20 deletions docs/user-guide/deploy-chart/chart-group.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,91 @@

## Introduction

Using Devtron UI, one or more Helm charts can be grouped and deployed together with a single click.
Using the Chart Group feature of Devtron, you can group and deploy one or more Helm charts in a single click.

## 1. Create Group
---

1. In the left pane, select `Charts`.
2. On the `Chart Store` page, select `Create Group` from the upper-right corner.
## 1. Create a Group

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/chart-group-1.jpg)
1. Go to the **Chart Store** page and click **+ Create Group**.

3. In the `Create Chart Group` screen, enter `name` and `description`(optional) for the chart group, and then select `Create Group`.
![Figure 1: Creating a Group](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/create-group.jpg)

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/chart-group-2.jpg)
2. In the **Create Chart Group** window, give a name and description (optional) to your chart group, and then click **Create Group**.

Once you create the group, you can now select and add the charts to this chart group.
![Figure 2: Adding Group Data](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/create-group-window.jpg)

## 2. Add Charts To Group
Once you create a group, you can now select and add charts to it.

1. To add a chart to the group, click the `+` sign at the top-right corner of a chart, and then select `Save`.
---

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/chart-group-3.jpg)
## 2. Add Charts to the Group

2. Click on `Group Detail` to see all the running instances and group details. You can also edit the chart group from here.
1. To add a chart to the group, click the `+` sign next to the chart you wish to add. You also can add multiple copies of the same chart in the chart group as per your requirements.

## 3.Bulk Deploy and Edit Option for Charts
![Figure 3: Adding Charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/add-chart.jpg)

You can see all the charts in the chart group in the right panel.
1. Select `Deploy to..`.
2. Once you have finalized the charts for your group, click **Save**.

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/chart-group-4.jpg)
![Figure 4: Saving Chart Group](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/save-chart.jpg)

2. In the `Deploy Selected Charts`, select the `Project` and `Deploy to Environment` values where you want to deploy the chart group.
---

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/chart-group-5.jpg)
## 3. Bulk Deploy and Edit Option for Charts

3. Select `Advanced Options` for more deploy options, such as editing the `values.yaml` or changing the `Environment` and `Project` for each chart.
1. By default, a chart group will show all the charts you added to it. However, you may choose to deploy only selected charts and deselect the rest from the chart group.

![Figure 5: Selecting Charts for Deployment](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/deploy-selected-charts.jpg)

2. In the **Deploy Selected Charts** window, select the project and environment where you wish to deploy the chart group. You may use the [Advanced Options](#advanced-options) if you wish to edit the chart configurations too.

![Figure 6: Deploying Selected Charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/deploy-chart-group-window.jpg)

3. Click **Deploy** to initiate the deployment of the selected charts in the Chart Group.

![Figure 7: Deploying Chart Group](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/deploy-chart.jpg)

### Advanced Options

Before deploying your chart group, you may click **Advanced Options** to edit the chart configuration of any chart in the group.

![Figure 8: Using Advanced Options](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/advanced-options.jpg)

<!-- {% hint style="warning" %}
If you selected specific charts for deployment, and then if you use **Advanced Options**, you may have to select the charts again and deselect the ones you don't wish to deploy.
{% endhint %} -->

![Figure 9: Editing Individual Chart Configurations](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/advanced-options-2.jpg)

You can edit the following fields and also the YAML file of the corresponding chart.

| Key | Description |
| :--- | :--- |
| **App name** | Name of the app |
| **Deploy to Environment** | Select the environment in which the chart has to be deployed |
| **Chart version** | Select the version of the chart to be used |
| **Values** | You can use a default value or custom value. Ensure the value that you select for the chart is compatible with the 'Chart Version' you selected. |

After changing the configurations, select your project and click **Deploy**

![Figure 10: Deploying Chart Group](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/project-selection.jpg)

---

## Extras

### Edit a Chart Group

You can rename a chart group, remove charts from it, or add new charts to the group. To edit a chart group, click it and use the **Edit** button.

{% embed url="https://www.youtube.com/watch?v=4bsxuUyRYTI" caption="Editing Chart Group in Devtron" %}

You may click **Group Detail** to view the charts added to the group and check their running instances.


### Delete a Chart Group

To delete a chart group, click it and use the **Delete** button.

![Figure 11: Deleting a Chart Group](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/delete-chart-group.gif)

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/deploy-chart/chart-group/chart-group-6.jpg)
Loading