diff --git a/.gitbook.yaml b/.gitbook.yaml index 2f04cbca95..7ea252955d 100644 --- a/.gitbook.yaml +++ b/.gitbook.yaml @@ -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 @@ -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 \ No newline at end of file + 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 \ No newline at end of file diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 7412526613..8dd29c1efb 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -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) diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index 69402187cb..c219ea5bd1 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -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 diff --git a/docs/user-guide/creating-application/deployment-template.md b/docs/user-guide/creating-application/deployment-template.md index c3e7438236..ab117b9a3c 100644 --- a/docs/user-guide/creating-application/deployment-template.md +++ b/docs/user-guide/creating-application/deployment-template.md @@ -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 @@ -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. @@ -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 diff --git a/docs/user-guide/global-configurations/README.md b/docs/user-guide/global-configurations/README.md index 488ed2328b..6a7aa4cf29 100644 --- a/docs/user-guide/global-configurations/README.md +++ b/docs/user-guide/global-configurations/README.md @@ -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) diff --git a/docs/user-guide/global-configurations/custom-charts.md b/docs/user-guide/global-configurations/deployment-charts.md similarity index 68% rename from docs/user-guide/global-configurations/custom-charts.md rename to docs/user-guide/global-configurations/deployment-charts.md index 18fefc8759..256e105cc3 100644 --- a/docs/user-guide/global-configurations/custom-charts.md +++ b/docs/user-guide/global-configurations/deployment-charts.md @@ -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. @@ -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 @@ -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. @@ -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. \ No newline at end of file