Flogo Provisioner APIs for Application Management

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

Note: Apps deployed using the Flogo provisioner APIs cannot be managed using the Helm Chart APIs. You can manage these apps using the APIs under the 'Apps - Managed by FLOGO Provisioner' and 'Apps and Builds' sections.

API for Updating a Deployed Application Configuration

Use the PUT /v1/dp/apps/{appId} API to update the configuration of an already deployed application from a data plane. When you apply the configuration, the application restarts.

Note:
  • App tags are completely replaced each time an application is updated. Be sure to include any tags you want to retain when updating the application.

  • Sending an empty array of app tags removes all tags from the application.

  • To change one application property for an app, you need to provide all existing app properties along with their values for that app in the Request body section.

  • To use a namespace other than the default data plane namespace for APIs using the Namespace parameter, see Deploying App Outside Data Plane Namespace.

Required and Optional API Parameters:

Parameter Name Type Required Description
appId Path Yes The application ID of the app to update the app configuration.
namespace Query No The namespace where the application is deployed. This parameter is required only if the application is running outside of the default data plane namespace.

API for Changing an Application Endpoint to Public

Use the POST /v1/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.

Required and Optional API Parameters:

Parameter Name Type Required Description
appId Path Yes The application ID of the app to change the app endpoint to public.
namespace Query No The namespace where the application is deployed. This parameter is required only if the application is running outside of the default data plane namespace.

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 is 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 is 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.

API for Changing an Application Endpoint to Private

Use the DELETE /v1/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.

Required and Optional API Parameters:

Parameter Name Type Required Description
appId Path Yes The application ID of the app to change the app endpoint to private.
namespace Query No The namespace where the application is deployed. This parameter is required only if the application is running outside of the default data plane namespace.

API for Modifying or Creating Auto Scaling Configuration for an Application

Use the PUT /v1/dp/apps/{appId}/autoscaling API to modify or create the auto scaling 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.

Required and Optional API Parameters:

Parameter Name Type Required Description
appId Path Yes The application ID of the app to modify or create the auto scaling configuration.
namespace Query No The namespace where the application is deployed. This parameter is required only if the application is running outside of the default data plane namespace.

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 Auto Scaling for an Application

Use the DELETE /v1/dp/apps/{appId}/autoscaling API to delete auto scaling configuration for an application from a data plane.

Required and Optional API Parameters:

Parameter Name Type Required Description
appId Path Yes The application ID of the app to remove the auto scaling configuration.
namespace Query No The namespace where the application is deployed. This parameter is required only if the application is running outside of the default data plane namespace.

API for Enabling or Disabling Service Mesh for an Application

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

Required and Optional API Parameters:

Parameter Name Type Required Description
appId Path Yes The application ID of the app to enable or disable service mesh.
namespace Query No The namespace where the application is deployed. This parameter is required only if the application is running outside of the default data plane namespace.
enable Query Yes A boolean flag to enable or disable the service mesh. Set to true to enable, false to disable.

API for Deploying an Application Using a Build ID

Use the POST /v1/dp/builds/{buildId}/deploy API to deploy or upgrade a TIBCO Flogo application using the build Id. You can override app properties, engine variables, resource limits for the pod, replicas or auto scaling configuration, and network policy configurations when deploying or upgrading the app.

Note: To upgrade an existing application, the App Id is mandatory.
Caution: If you want to change one application property for an app, you need to provide all existing app properties along with their values for that app.
Before you begin

Before you deploy your application, ensure that both the app name and app ID in the request body contain only lowercase letters (a-z), numeric characters (0-9), and hyphens (-). Hyphens must appear only in the middle of the name or ID, not at the beginning or end. For example, abcdefg, 123458, abcd458, or 12-ab-4 are valid. Any other characters, such as uppercase letters, spaces, or special symbols, cause the deployment to fail.

Required and Optional API Parameters:

Parameter Name Type Required Description
buildId Path Yes The application build ID to deploy the app.
namespace Query No The namespace where the application is deployed. This parameter is required only if the application is running outside of the default data plane namespace.