Deploying a Flogo App using Helm Charts
This topic describes how to deploy a Flogo application to a data plane using the Helm Charts. Before you begin, ensure that you have created an app build. To learn how to create an app build, see Building and Deploying a Flogo Application.
- Procedure
-
In the Deploy App dialog, click Deploy app in the Managed By Helm Charts card.
Tip: You can access the Deploy App dialog in two ways:If you have just created an app build, select Deploy App on the Finished tab.
In the App Builds section, click the menu
next to the app you want to deploy, and then select Deploy.
-
On the App and Resource Configurations tab, specify the values for the following fields:
Field Description Application Name Specify the name of your application.
Default: The application name is automatically retrieved from the uploaded
.flogoor.jsonfile.Note: When naming your application, ensure that the name contains only lowercase letters (a-z), numeric characters (0-9), and hyphens (-). Hyphens must be placed in the middle of the name, not at the beginning or end. For example,abcdefg,123458,abcd458, or12-ab-4are valid. Any other characters, such as uppercase letters, spaces, or special symbols, cause the deployment to fail.NameSpace Before specifying a namespace in this field, ensure that you have created it. As you type, the field autosuggests a list of existing namespaces.
Tip: If you type a non-existing namespace, it suggests the commands to create it in your data plane.Note: If a namespace is not specified, the default namespace of the data plane is used.A data plane can have multiple namespaces, which are linked to a service account of the respective data plane. To create a namespace other than the default data plane namespace, see Deploying App Outside Data Plane Namespace.
Chart Name Specify the chart name of the app managed by Helm Chart.
Note: If the chart name is not specified, the default chart name of the data plane is used.Chart Version Specify the chart version of the app managed by Helm Chart.
Note: If the chart version is not specified, the default chart version of the data plane is used.Retain Failed App Select this checkbox to retain the app if the deployment fails. If the checkbox is not selected, the app will not be retained in case of a deployment failure. Application Tags
Click the
icon to add tags for your application to enhance searchability and categorization. -
Click Next.
-
On the YAML Editor tab, add or edit app configuration details.
Tip: To configure custom metrics for Horizontal Pod Autoscaler (HPA) when deploying an app using the Helm chart, update theautoscaling.customMetricssection in thevalues.yamlfile to define the desired scaling metrics.Here is a sample for adding custom metrics:
Copyautoscaling:
enabled: true
customMetrics:
- type: Pods
metric:
name: custom_requests_per_second
target:
type: AverageValue
averageValue: "100"Tip: To attach a volume to an app container, addvolumeMountsin the 'flogoapp' section andvolumesat the parent level in the YAML file.• Here is a sample for adding volumeMountin the 'flogoapp' section:Copyflogoapp:
volumeMounts:
- name: app-volume
mountPath: "<Path to mount the volume. Example: "/flogo-files">To use this volume for a connector, add the
mountPathto the file. For example:/flogo-files/<file name>.• Here is a sample for adding volumesat parent level in the YAML file:Copyvolumes:
- name: app-volume
persistentVolumeClaim:
claimName: "<Name of the PVC you created earlier>"Tip: To configure the Flogo application container's root filesystem as read-only, setreadOnlyRootFilesystemtotruewhen deploying a Flogo app using the Helm chart. The default value isfalse. You must use TIBCO Flogo version 2.25.11 or higher to enable the read-only root filesystem feature.Copy...
flogoapp:
securityContext:
allowPrivilegeEscalation: false
# To enable readOnlyRootFilesystem, the app build must use the flogo version 2.25.11 or higher.
readOnlyRootFilesystem: false
capabilities:
drop:
- ALL
- CAP_NET_RAW
...Tip: To enhance your Flogo application with initialization or sidecar containers, you can addinitContainersandsidecarssections to thevalues.yamlfile. This allows for running preliminary tasks or auxiliary services alongside your main application container.Here is a sample for adding an
initContainer:CopyinitContainers:
- name: init-myservice
image: busybox
command: ['sh', '-c', 'echo The app init container is running! && sleep 60']Here is a sample for adding a
sidecarcontainer:Copysidecars:
- name: sidecar-myservice
image: busybox
command: ['sh', '-c', 'echo The app sidecar container is running! && sleep 3600']
-
Select the I have read and accepted the TIBCO End User Agreement (EUA) checkbox to accept the End-User Agreement.
-
Click Deploy App.
-
Apps deployed using a Helm chart are identified with the "
Managed" label in the App Details page. This label indicates that the app deployment is managed through Helm, providing clear identification of Helm-managed applications. -
Apps deployed using the Helm chart APIs cannot be managed using the Flogo provisioner APIs. You can manage these apps using the Helm Chart APIs for Application Management and Application and Build Management APIs.