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

To update the app configuration, 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 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.

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

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

To modify or create an auto scaling 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 Auto Scaling for an Application

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

To removing an auto scaling 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 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.

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 Deploying an Application Using a Build ID

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

To deploy an app, you need the following parameters:

  • Build Id: The applications build 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: buildId (required)

    Type: String

  • Parameters: namespace

    Type: String