Cloud Object Storage
ITX Runtime Server can download maps and flows from a Cloud Object Storage (COS) location. The Amazon S3 and GCP APIs are supported (see external.cos.platform in values.yaml). When deploying a REST V1 or V2-based installation, all the compiled maps and/or packaged flows can be zipped up in a file with a .zip extension and uploaded to COS for subsequent downloading and automatic setup by the REST V1 or REST V2 pods. The automatic download of both maps and flows is done before the REST pod even starts. The REST pod will only become available once all the maps and/or flows are ready to be executed, thereby avoiding any need for manual deployment and streamlining the overall startup process.
In the case of a REST V1-based deployment whereby maps are only invoked in a synchronous and unfenced configuration, the persistent volume requirement is optional. The REST V1 deployment must be configured for unfenced mode, which is the default. Otherwise, a fenced configuration would require incoming REST data to be stored on a shared persistent volume for subsequent processing by one of the executing pods. In the case of unfenced mode, however, each and every pod that is spun up for map execution runs independently of the others - since the maps are loaded in the ephemeral storage location of the running pod. As long as log files are sent to the Kubernetes log and map logs to the REST API invocation when needed, persistent volumes are no longer required and the REST V1-based deployment can be run in a cloud-native capacity that has no single point of failure and a higher degree of availability.