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: Edit Deployment Chart Schema #5735

Merged
merged 3 commits into from
Aug 23, 2024
Merged
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
5 changes: 3 additions & 2 deletions .gitbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ redirects:
setup/upgrade/devtron-upgrade-0.2.x-0.3.x: getting-started/upgrade/devtron-upgrade-0.2.x-0.3.x
setup/global-configurations: user-guide/global-configurations/README.md
setup/global-configurations/gitops: user-guide/global-configurations/gitops.md
setup/global-configurations/custom-charts: user-guide/global-configurations/custom-charts.md
setup/global-configurations/custom-charts: user-guide/global-configurations/deployment-charts.md
setup/global-configurations/user-access: user-guide/global-configurations/authorization/user-access.md
setup/global-configurations/external-links: user-guide/global-configurations/external-links.md
setup/global-configurations/projects: user-guide/global-configurations/projects.md
Expand Down Expand Up @@ -127,4 +127,5 @@ redirects:
user-guide/clusters: user-guide/resource-browser.md
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
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
2 changes: 1 addition & 1 deletion docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
* [Git Accounts](user-guide/global-configurations/git-accounts.md)
* [Container/OCI Registry](user-guide/global-configurations/container-registries.md)
* [Chart Repositories](user-guide/global-configurations/chart-repo.md)
* [Custom Charts](user-guide/global-configurations/custom-charts.md)
* [Deployment Charts](user-guide/global-configurations/deployment-charts.md)
* [Authorization](user-guide/global-configurations/authorization/README.md)
* [SSO Login Services](user-guide/global-configurations/sso-login.md)
* [Google](user-guide/global-configurations/authorization/sso/google.md)
Expand Down
4 changes: 2 additions & 2 deletions docs/reference/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ Temporarily marking a node as unschedulable, preventing new pods from being assi

CronJob is used to create Jobs on a repeating schedule. It is commonly used for running periodic tasks with no manual intervention. In Devtron, you can view a list of cronjobs by going to Resource Browser → (choose a cluster) → Workloads → CronJob. [Read More...](../user-guide/creating-application/deployment-template/job-and-cronjob.md#2.-cronjob)

### Custom Charts
### Deployment Charts

Devtron offers a variety of ready-made Helm charts for common tasks and functions. If you have a specific need that isn't met by these preconfigured charts, super-admins have the permission to upload their own custom charts. Once uploaded, these custom charts become accessible for use by all users on the Devtron platform. [Read More...](../user-guide/global-configurations/custom-charts.md)
Devtron offers a variety of ready-made Helm charts for common tasks and functions. If you have a specific need that isn't met by these preconfigured charts, super-admins have the permission to upload their own charts. Once uploaded, these charts become accessible for use by all users on the Devtron platform. [Read More...](../user-guide/global-configurations/deployment-charts.md)

### DaemonSet

Expand Down
20 changes: 13 additions & 7 deletions docs/user-guide/creating-application/deployment-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Users need to have [Admin role](../user-guide/global-configurations/authorizatio

{% hint style="warning" %}
### Note
After you select and save a chart type for a given application, you won't be able to change it later. Make sure to choose the correct chart type before saving. You can select a chart from [Devtron Charts](#from-devtron-charts) or [Custom Charts](#from-custom-charts).
After you select and save a chart type for a given application, you won't be able to change it later. Make sure to choose the correct chart type before saving. You can select a chart from [Devtron Charts](#from-devtron-charts) or other [Deployment Charts](#from-deployment-charts).
{% endhint %}

### From Devtron Charts
Expand All @@ -37,10 +37,10 @@ You can select a default deployment chart from the following options:

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/creating-application/deployment-template/select-devtron-chart.gif)

### From Custom Charts
### From Deployment Charts

{% hint style="warning" %}
This option will be available only if a custom chart exists. If it doesn't, a user with `super admin` permission may upload one in [Global Configurations → Custom Charts](../global-configurations/custom-charts.md).
This option will be available only if a custom chart exists. If it doesn't, a user with `super admin` permission may upload one in [Global Configurations → Deployment Charts](../global-configurations/deployment-charts.md).
{% endhint %}

You can select an available custom chart as shown below. You can also view the description of the custom charts in the list.
Expand Down Expand Up @@ -110,20 +110,26 @@ Click **Save Changes**. If you want to do additional configurations, then click

{% hint style="warning" %}
### Who Can Perform This Action?
Superadmin can define and apply custom deployment schema using API
Superadmin can define and apply custom deployment schema.
{% endhint %}

By default, the `Basic (GUI)` section comes with multiple predefined fields as seen earlier [in the table](#2-basic-configuration). However, if you wish to display a different set of fields to your team, you can modify the whole section as per your requirement.

{% embed url="https://www.youtube.com/watch?v=09VP1I-WvUs" caption="JSON-driven Deployment Schema" %}

This is useful in scenarios where:
* Your team members find it difficult to understand and edit the [Advanced (YAML)](#3-advanced-yaml) section.
* You frequently edit certain fields in Advanced (YAML), which you expect to remain easily accessible in Basic (GUI) section.
* You don't require some fields in Basic (GUI) section.
* You need the autonomy to keep the Basic (GUI) unique for applications/clusters/environments/charts, or display the same Basic (GUI) everywhere.

This is possible by passing a custom JSON (deployment schema) of your choice through the following API. You may need to run the API with the `POST` method if you are doing it for the first time.
{% hint style="info" %}
There are two ways you can customize the Basic GUI, use any one of the following:
1. From [Deployment Charts](../global-configurations/deployment-charts.md#editing-gui-schema-of-deployment-charts) section
2. Using APIs (explained below)
{% endhint %}

{% embed url="https://www.youtube.com/watch?v=09VP1I-WvUs" caption="JSON-driven Deployment Schema" %}

You can pass a custom JSON (deployment schema) of your choice through the following API. You may need to run the API with the `POST` method if you are doing it for the first time.

```
PUT {{DEVTRON_BASEURL}}/orchestrator/deployment/template/schema
Expand Down
2 changes: 1 addition & 1 deletion docs/user-guide/global-configurations/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Before you start creating an application, we recommend to provide basic informat

[Chart Repositories](chart-repo.md)

[Custom Charts](custom-charts.md)
[Deployment Charts](deployment-charts.md)

[Authorization](authorization/README.md)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Custom Charts
# Deployment Charts

Devtron includes predefined helm charts that cover the majority of use cases.
For any use case not addressed by the default helm charts, you can upload your own helm chart and use it as a custom chart in Devtron.
Expand All @@ -8,7 +8,7 @@ For any use case not addressed by the default helm charts, you can upload your o

> A super admin can upload multiple versions of a custom helm chart.

![Custom charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/custom-charts/custom-charts-lists.png)
![Figure 1: Deployment Charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/deployment-charts/gc-deployment-charts.jpg)

## Prerequisites

Expand Down Expand Up @@ -99,7 +99,9 @@ helm package my-custom-chart

The above command will create a `my-custom-chart-0.1.0.tgz` file.

## Uploading a custom chart
---

## Uploading a Deployment Chart

> A custom chart can only be uploaded by a super admin.

Expand Down Expand Up @@ -142,21 +144,73 @@ The following are the validation results:

![Already exists](https://devtron-public-asset.s3.us-east-2.amazonaws.com/custom-charts/List+-+Empty-1.png)

## View the custom charts
---

## Viewing Deployment Charts

> All users can view the custom charts.

To view a list of available custom charts, go to **Global Configurations > Custom charts** page.
To view the list of available custom charts, go to **Global Configurations → Deployment Charts** page.

* The charts can be searched with their name, version, or description.
* New [custom charts can be uploaded](#uploading-a-custom-chart) by selecting **Upload chart**.

![Custom charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/custom-charts/custom-charts-lists.png)
![Custom charts](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/deployment-charts/upload-custom-chart.jpg)

---

## Use the custom chart in an application
## Using Deployment Chart in Application

The custom charts can be used from the [Deployment Template](../creating-application/deployment-template.md) section.

> **Info**:
>
> The deployment strategy for a custom chart is fetched from the custom chart template and cannot be configured in the [CD pipeline](../creating-application/workflow/cd-pipeline.md#deployment-strategies).

---

## Editing GUI Schema of Deployment Charts [![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/elements/EnterpriseTag.svg)](https://devtron.ai/pricing)

{% hint style="warning" %}
### Who Can Perform This Action?
Only superadmins can edit the GUI schema of deployment charts.
{% endhint %}

{% hint style="info" %}
### Reference
This section is an extension of [Customize Basic GUI](../creating-application/deployment-template.md#customize-basic-gui) feature within **App Configuration** → **Base Deployment Template**. Refer the document to know more about the significance of having a customizable GUI schema for your deployment templates.
{% endhint %}

You can edit the GUI schema of both the deployment charts:
1. Charts provided by Devtron (*Deployment*, *Job & CronJob*, *Rollout Deployment*, and *StatefulSet*)
2. Custom charts uploaded by you

### Tutorial

{% embed url="https://www.youtube.com/watch?v=93tGIsM1qC8" caption="JSON-driven Deployment Schema" %}

### Steps

In this example, we will edit the Deployment chart type provided by Devtron.

1. Click the edit button next to the chart as shown below.

![Edit GUI Schema Button](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/deployment-charts/edit-chart-schema.jpg)

2. A GUI schema is available for you to edit in case of Devtron charts. In case of custom charts, you may have to define a GUI schema yourself. To know how to create such GUI schema, refer [RJSF JSON Schema Tool](https://rjsf-team.github.io/react-jsonschema-form/).

![Editable Schema](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/deployment-charts/gui-schema.jpg)

3. You may start editing the schema by excluding existing fields/objects or including more of them. Click the **Refer YAML** button to view all the supported fields.

![Refer YAML Button](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/deployment-charts/refer-yaml.gif)

4. While editing the schema, you may use the **Preview GUI** option for a real-time preview of your changes.

![Preview GUI Button](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/deployment-charts/preview-gui.gif)

5. Click **Save Changes**.

![Save Changes](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/deployment-charts/save-changes.jpg)

Next, if you go to **App Configuration** → **Base Deployment Template**, you will be able to see the deployment template fields (in Basic GUI) as per your customized schema.
Loading