License Activation and Enforcement
TIBCO Flogo® app deployment requires activation via a license to start. Licenses can be generated in the TIBCO® Software Downloads site at https://www.tibco.com/downloads.
-
For complete details on activating TIBCO products, see TIBCO Activation® Service documentation.
-
For frequently asked questions on TIBCO® Activation, see FAQs.
Modes of License Enforcement
There are two modes of License enforcement:
-
Production mode
-
Non-production or Developer mode
Production Mode
There are two options for activating this product: In-Product Activation (local activation) and TIBCO Activation Service.
In-Product Activation
In production mode, a valid license file having TIBCO Flogo product entitlement is required to activate and start your Flogo app.
The license file can be provided via the environment variable TIB_ACTIVATION.
The environment variable can be set to the path of a file or a directory.
-
File: Set the variable to the path of a license bin file and then run the Flogo app executable.
export TIB_ACTIVATION="<path of license bin file>"
./your-flogo-app -
Directory: Set the variable to the path of a directory where license bin files are located.
export TIB_ACTIVATION="<path of license folder>"
./your-flogo-appNote: If the folder contains more than one file, the Flogo engine scans all the files and picks the file that has the latest expiry date for the Flogo entitlement.
For an app running as a Docker container:
Docker: Create the base image and application image. Keep your license file on the local system and volume mount the license file or the directory having license files.
-
To mount a license file, run the following command:
docker run -it -v <local_license_folder>:<container_location> -e TIB_ACTIVATION=<container_location/license_file> <application_image>
-
To mount a license directory, run the following command:
docker run -it -v <local_license_folder>:<container_location> -e LICENSE_SOURCE=<container_location> <application_image>
TIBCO® Activation Service
Install TIBCO Activation Service software and upload your license file to the running instance. Consult the TIBCO Activation Service documentation for installation instructions and to determine the URL for running your TIBCO Activation Service instance.
Pass the URL as an environment variable in the following form:
export TIB_ACTIVATION="TIBCO Activation service URL"
./your-flogo-app
For an application running in a Docker container, run the following command:
docker run -it -e TIB_ACTIVATION=<TIBCO Activation service URL> <application_image>
When the Flogo engine successfully validates a license bin file, it stores the license details in a Trusted Storage (cache) folder. This storage is by default set as /tmp/tibco.
You can edit this path to store the license information at some other location. The path can be set to any folder that has the write permission by setting the following variable:
export TIB_ACTIVATION_CACHE_PATH="<path of trusted storage folder>"
Embedding a License File in a Flogo App Executable for Serverless Deployment
For serverless deployment, you can embed a license file with the Flogo app executable so you do not have to provide a license file externally. This approach is only recommended when access to TAS or passing the license file externally is not possible.
In case of updating or renewal of the license you must rebuild the Flogo app executable by embedding the updated license file.
For a Lambda function, build a Lambda Linux/AMD64 Flogo app executable with an embedded renewed license file and update the function as described in Deploying a Flow as a Lambda Function on AWS.
A license file can be embedded in a Flogo app executable while building via Flogo - App Build CLI using flag -l or --license-file "<path of license bin file>"
For example:
$./flogobuild build-exe -f /Downloads/flogoapp.flogo -l
/Downloads/LicenseFile/flogo-license-file.bin -p linux/amd64
Non-Production Mode (Development)
This mode is for developing and testing the Flogo app executable and Flogo app Docker images in a non-production environment. In this mode, the Flogo engine is designed to run for 24 hours, after which the Flogo app terminates. The engine prints a warning message with time left for termination every one hour.
License Enforcement Mode by Build Tool and Platform
The license enforcement mode (production or non-production) of a Flogo app is determined by the build tool and the operating system that it is built on.
-
Flogo Extension for Visual Studio Code: Flogo applications built using Visual Studio Code on all operating systems, whether as an executable or a Docker app, always run in non-production (developer) mode.
-
Flogo - App Build CLI and Flogo Maven Plugin on Linux: Since cross-compilation is not supported, only app executables or Docker images built on the Linux platform using Flogo - App Build CLI or Flogo Maven Plugin will run in production mode.
The following table summarizes the license enforcement mode for each combination.
| Platform | Visual Studio Code | Flogo - App Build CLI | Flogo Maven Plugin |
|---|---|---|---|
| Linux (X64) | Non-production mode | Production mode | Production mode |
| Windows (X64) | Non-production mode | Non-production mode | Non-production mode |
| macOS (X64/ARM64) | Non-production mode | Non-production mode | Non-production mode |
| macOS (X64) | Non-production mode | Non-production mode | Non-production mode |
Build Support: Distributions and Architectures
The following table lists the supported distributions and architectures for building Flogo applications, either as executables or as Docker images.
| Distributions | AMD64 | ARM64 (Cross-compilation) | Additional Libraries Required in the Docker Image |
|---|---|---|---|
| Golang Debian 1.25.3-bookworm | Yes | Yes (with gcc-aarch64-linux-gnu library) | None |
| Debian | Yes | Yes (with gcc-aarch64-linux-gnu library) | Gcc Golang |
|
CentOS |
Yes | No | Gcc Golang |
| Fedora | Yes | No | Gcc Golang |
| Amazon Linux 2023 | Yes | No | Gcc Golang |
| RedHat UBI (RHEL) | Yes | No | Gcc Golang |
Runtime Support: Distributions and Architectures
The following table lists the supported distributions and architectures for running Flogo applications, either as executables or as Docker images.
| Distributions | AMD64 | ARM64 | Additional Libraries Required |
|---|---|---|---|
| Debian | Yes | Yes | NA |
| CentOS | Yes | Yes | NA |
| Fedora | Yes | Yes | NA |
| Amazon Linux 2023 | Yes | Yes | NA |
| Amazon Graviton(2023) | Yes | Yes | NA |
| RedHat UBI(RHEL) | Yes | Yes | NA |
| gcr.io/distroless/base | Yes | Yes | NA |
| Alpine | Yes | No | gcompat |
-
A Flogo app with Flogo Connector for Oracle Database does not run on distorless because Oracle Instant Client needs system libraries, for example libaio and libnsl. Distroless only has the absolute minimum, such as libc and libssl, and there is no package manager to install additional dependencies.
-
If the app has Flogo Connector for SAP Solutions, Flogo Connector for Oracle Database, or Flogo Connector for IBM MQ, it does not run on distroless due to missing the libuuid.so.1 shared libraries.
-
SAP NetWeaver RFC SDK is not compatible with Alpine Linux.
-
Apps with Flogo Connector for SAP Solutions, Flogo Connector for EMS, or Flogo Connector for IBM MQ do not run on Alpine.
Limitations
-
On Windows and macOS, CLI and Flogo Maven Plugin build a Flogo app executable in non-production mode, which means the engine shuts down after 24 hours. Users still have the option to build custom Docker images for the production Flogo app executable.
-
With TIBCO Flogo® Extension for Visual Studio Code extension, you can build non-production Flogo applications in all operating systems. However, cross-compilation is not supported.
-
For embedded license in a Flogo app executable, if the license expires then you must rebuild the Flogo app executable with an updated license file and redeploy the Flogo app.
-
You can build a Linux ARM64 Flogo app executable only on Debian/Ubuntu OS.
-
Alpine OS is not supported for building Flogo app executables.
-
ARM-based Docker images are not supported for EMS, TDV, SAP, and IBM MQ applications.
-
If the app contains Flogo Connector for Oracle Database and builder has been used as Fedora then it only runs on Fedora. On all other distros, you get incompatible glibc error.
-
For Flogo apps, the gcr.io/distroless/static distribution is not supported on AMD64 or ARM64 architecture.