Helm Chart APIs for Application Management

You can find the following APIs in the 'Apps - Managed by Helm Chart' section of the TIBCO FLOGO® Capability APIs page. For instructions on how to access the TIBCO FLOGO® Capability APIs page, see Accessing the API Documentation with Swagger UI.

Note:
  • When an app is deployed using a Helm chart, the label | Managed | will appear for that app in the UI. 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 APIs under the 'Apps - Managed by Helm Chart' and 'Apps and Builds' sections.

API for Generating the yaml File from an App Build

Use the GET /v2/dp/builds/{buildId}/values API to generate the values.yaml file from an app build for the provided Build Id.

To generate the yaml file, you need the Build Id parameter. To get the Build Id, see API for Building an Application Executable Using app.json or app.flogo File.

Build Id: The applications Build Id.

METHOD Path Parameters
GET
  • Parameters: buildId (required)

  • Type: String

API for Deploying an Application Helm Chart Using yaml File

Use the POST /v2/dp/deploy/release API to deploy or upgrade a TIBCO Flogo application Helm chart using the values.yaml file.

Important: An App Id in the values.yaml file is mandatory for upgrading an existing application. If you are deploying the application for the first time, the App Id remains blank.

To deploy the app, you need the following parameters:

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

  • Chart Name: (Optional) The TIBCO Flogo application Helm Chart name.

  • Chart Version: (Optional) The TIBCO Flogo application Helm Chart version.

  • EULA: The End User License Agreement for the TIBCO Flogo application.

METHOD Path Parameters
POST
  • Parameters: namespace

  • Type: String

  • Parameters: chartName

  • Type: String

  • Parameters: chartVersion

  • Type: String

  • Parameters: eula

  • Type: Boolean

Note: If an app fails to deploy, it will appear in the Applications section with the Status "App not present in dp". In this case, you can delete the app and redeploy it using the relevant APIs to resolve the issue.

API for Viewing Helm Chart Values

Use the GET /v2/dp/apps/{appId}/release/values API to return a list of helm chart values from the TIBCO Flogo app deployment.

To view the helm chart values, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

  • All values: All the required computed values. By default, it is false.

METHOD Path Parameters
GET
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

  • Parameters: allValues

  • Type: Boolean

API for Updating Helm Chart values

Use the PUT /v2/dp/apps/{appId}/release/values API to update the Helm chart values for the TIBCO Flogo application chart. The values can be provided in the values.yaml payload.

Note: If you update the Helm chart values, a new revision of the application is created.

To update the helm chart values, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

METHOD Path Parameters
PUT
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

API for Viewing Status of an Application Chart Deployment Chart Values

Use the GET /v2/dp/apps/{appId}/release/status API to return a list of the status of an application deployed for an App Id.

To view the status of an application chart, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

METHOD Path Parameters
GET
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

API to Rollback an Application Helm Chart Release

Use the PUT /v2/dp/apps/{appId}/release/rollback API to roll back an application's Helm chart release to a specific version. With this API, you can revert your application to a previous deployment state.

To roll back an application's Helm chart release, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

  • Revision: The revision number to roll back to. Default value: 0 (previous revision).

  • Force: A boolean flag indicating whether to force the rollback. Default value: false.

METHOD Path Parameters
PUT
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

  • Parameters: revision

  • Type: Integer

  • Parameters: force

  • Type: Boolean

API for Renaming an Application Chart Deployment

Use the PUT /v2/dp/apps/{appId}/rename API to rename an application deployment.

Warning: This uninstalls the existing release and reinstalls it with a new name. This may cause service outage for clients.
Note: Renaming an application resets the revision number to 1. The new revision will not be added to the previous app name's revision number.

To rename an application deployment, you need the following parameters:

  • App Id: The application Id.

  • App Name: The new application name.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

METHOD Path Parameters
PUT
  • Parameters: appId (required)

  • Type: String

  • Parameters: appName (required)

  • Type: String

  • Parameters: namespace

  • Type: String

API for Enabling or Disabling Service Mesh for an Application

Use the PUT /v2/dp/apps/{appId}/servicemesh API to enable or disable service mesh sidecar of of an application.

To enable or disable service mesh for an app, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

  • Enable: A boolean flag to enable or disable the service mesh. Set to true to enable, false to disable.

METHOD Path Parameters
PUT
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

  • Parameters: enable (required)

  • Type: Boolean

API for Modifying or Creating Autoscaling Configuration for an Application

Use the PUT /v2/dp/apps/{appId}/autoscaling API to modify or create the autoscaling configuration instance for a deployed application. You can define the minimum and maximum number of replicas and set CPU and memory thresholds for scaling in the "Request body" section.

To modify or create autoscaling configuration for an app, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

METHOD Path Parameters
PUT
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

Request Body Field Descriptions:

  • hpaMetrics: Defines the metrics used for Horizontal Pod Autoscaler (HPA).

  • cpuUtilization: Configures CPU-based scaling.

  • averageCpuUtilization: The desired average CPU utilization (as a percentage) before scaling occurs.

  • enabled: Set to true to enable CPU-based scaling.

  • memoryUtilization: Configures memory-based scaling.

  • averageMemoryUtilization: The desired average memory utilization (as a percentage) before scaling occurs.

  • enabled: Set to true to enable memory-based scaling.

  • maxReplicas: The maximum number of replicas that the application can scale up to.

  • minReplicas: The minimum number of replicas that the application should always have running.

API for Removing Autoscaling for an Application

Use the DELETE /v2/dp/apps/{appId}/autoscaling API to delete autoscaling configuration for an application.

To removing the autoscaling configuration of an app, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

METHOD Path Parameters
DELETE
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

API for Changing an Application Endpoint to Private

Use the DELETE /v2/dp/apps/{appId}/endpoints/public API to change an applications endpoint to private. This API removes the Ingress resource from the application to make the endpoint private.

To change the app endpoint to private, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

METHOD Path Parameters
DELETE
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

API for Changing an Application Endpoint to Public

Use the POST /v2/dp/apps/{appId}/endpoints/public API to change an application endpoint to public. This API allows you to configure ingress settings to expose your application to external access.

To change the app endpoint to public, you need the following parameters:

  • App Id: The application Id.

  • Namespace: The namespace where the application is deployed. This parameter is not mandatory and is only required if the application is running outside of the default data plane namespace.

METHOD Path Parameters
POST
  • Parameters: appId (required)

  • Type: String

  • Parameters: namespace

  • Type: String

Request Body Field Descriptions:

  • IngressClassName: The name of the Ingress class to use for this application.

  • IngressControllerName: The name of the Ingress controller to use.

  • IngressHostName: The hostname to use for the Ingress rule. This will be the public address used to access the application.

  • IngressTLSConfigs: (Optional) An array of TLS configurations for HTTPS access.

    • hosts: A list of hostnames that the TLS certificate should be valid for.

    • secretName: The name of the Kubernetes secret containing the TLS certificate and key.

  • portServicePathMappings: An array defining how application ports are mapped to services and paths.

    • port: The application port number.

    • servicePath: The path that will be appended to the Ingress hostname to access this port.

    • isPublic: Set to true to make this port public.

    • isServicediscoveryEnabled: Set to true to enable service discovery for this port.

  • customAnnotations: (Optional) An array of custom annotations to add to the Ingress rule.