Configuring Your Custom Component Deployment

Configure your custom component service so it can be deployed

πŸ” Introduction

So, your custom component code is packaged inside a Docker image and hosted in an image repository that the Indico cluster manager can access. Next, you need to generate a configuration file with information about how to deploy your component.

Prerequisites

Before thinking about deploying your component, you must package it in a Docker image and push the image to your Harbor registry. See Containerizing a Custom Component for more information.

Helm

Indico uses Helm charts to manage deployment. To learn more about Helm, check out their documentation.

Please ensure Helm is installed on your machine before proceeding with this guide. The Helm docs include installation instructions.

πŸŽ› Configuring the Helm Chart

πŸ“₯ Downloading Indico Helm Charts

Indico's Helm charts, including the custom component chart, are publicly accessible. Add the Indico charts repo to your local Helm client.

helm repo add indico https://harbor.devops.indico.io/chartrepo/indico-charts

You can then access the custom component chart at indico/custom-component.

πŸ–ŠοΈ Writing a Configuration File

Indico has a custom component chart template. In order to deploy your component to a cluster, you must fill in this template by providing specific values in a YAML file. Helm combines your configuration with the Indico template to create a recipe for how to deploy your component.

Indico has created a default configuration that is suitable for most components, but we require a few additional details. Follow the recipe below to create a YAML file that will allow you to customize the chart.

Save the file you created as values.yaml.

βœ… Validating your Configuration

Use the helm template command to validate that your values.yaml config file contains all the required values.

helm template -f values.yaml indico/custom-component --debug

If your config file is formatted correctly, this command outputs the chart with your config applied. For the purposes of this guide, there is no need to save the outputted chart.

Next Steps

Indico-hosted clusters

For Indico-hosted clusters, please email the values.yaml to [email protected], and we will deploy your component for you. Once your component is deployed, see Registering a Custom Blueprint for information on how to start adding your component to workflows.

Self-hosted clusters

For clusters that are not managed by Indico, see Deploying your Custom Component for information on how to install the custom component Helm chart and deploy your code to your cluster.