Application manifest file

Overview

Application manifest is a json file, named socotra-app.json, that configures all the details of how app will integrate with Marketplace platform. This file and docker container is all what's needed for CLI tool to publish a version of the application to Socotra's Marketplace environment.

A minimal socotra-app.json manifest file needs only two fields - name and version:

{
  "name": "org-name/app-name",
  "version": "0.0.1"
}

Everything else is optional and if not configured - will be either set to a default value or will be skipped completely when application launched.

Values for this config are displayed at the end of the publishing process

Successful publish screen

But they can be found any time after this process by navigating to Manifest editor of publishing application. Via Publish -> Your Application -> Edit Manifest:

Manifest editor

App manifest fields

name (required) - this is a fully qualified application name, which includes organization part and application part, separated by /.

version (required) - version of the app. Must follow semantic versioning format of Major.Minor.Patch , for example 0.45.13

targetPlatform (optional) - This field allows to choose which Socotra's product this application can integrate with. If this field is not specified - by default ConnectedCore will be used. Supported platform values:

  • ConnectedCore
  • EnterpriseCore

performancePlan (optional) - This field allows to affect resources allocation for the app, when it will be launched in Marketplace cluster. If this field is not speified - by default Standard plan is assigned. It's recommended to use default platform plan. But if application known to be resource-hungry, this field is the way to request more resources. Currently, following performance plans are available:

  • Standard - This is a default performance plan and with it, each application gets guaranteed resources in cluster - vCPU: 150Mhz Memory: 128Mb
  • IncreasedMemory - doubles the memory amount of standard plan. vCPU: 150Mhz Memory: 256Mb
  • IncreasedMemoryPv2 - even more memory available for app container. vCPU: 150Mhz Memory: 368Mb
  • IncreasedCpu - doubles the CPU amount of standard plan. vCPU: 300Mhz Memory: 128Mb
  • HighPerformance - maximum allowed resource allocation. vCPU: 450Mhz Memory: 368Mb
Important: Application may not start successfully, if requested performance plan resources, can't be allocated in a cluster of a specific regon (in situations when it's low on unreserved memory or CPU resources).

Example of the manifest with all fields

{
  "name": "org-name/app-name",
  "version": "0.0.1",

  "targetPlatform": "EnterpriseCore",
  "performancePlan": "IncreasedMemoryPv2",
}

App manifest sections

Additionally, manifest supports variety of features. Specific feature purpose and details can be found in corresponding sections: