Skip to main content
Version: 14.x

Application

Applications are bundles of resources that brings together services (i.e., plugins, templates, and examples), endpoints, CRUD collections, and public variables to ease the setup of large-scale artifacts.

To create or edit an application, you need to provide a manifest, whose resources property should adhere to the following JSON schema.

tip

The JSON schemas of the application resources and of the full application manifest are available on GitHub.

Catalog application resources
type : object
  • collections object
    type : object
    • (^[\w-]+$) object XOR object
      oneOf
      type : object
      • defaultName string required
        type : string
        Length : <= 80 character(s)
        Pattern : (^[\w-]+$)
      • description string
        type : string
      • fields (object XOR object,...)[]
        type : array
        • items[x] object XOR object
          oneOf
          type : object
          • description string
            type : string
          • encryptionEnabled boolean
            type : boolean
          • encryptionSearchable boolean
            type : boolean
          • name string required
            type : string
            Pattern : ^[^$\.]+$
          • nullable boolean required
            type : boolean
          • required boolean required
            type : boolean
          • schema object
            type : object
            • additionalProperties boolean
              type : boolean
            • encryption object
              type : object
              • enabled boolean
                type : boolean
              • searchable boolean
                type : boolean
            • properties object
              type : object
            • required (string,...)[]
              type : array
              • items[x] string
                type : string
            • type "object" constant
              type : string
              Constant value : object
            🚨 No extra propertie(s) are authorized in this object
          • sensitivityDescription string
            type : string
          • sensitivityValue number
            type : number
            Possible values : >= 0 AND <= 4
          • type string required
            type : string
            Possible values : 
            • RawObject
            • Array_RawObject
          🚨 No extra propertie(s) are authorized in this object
      • id string
        type : string
      • indexes (object XOR object XOR object XOR object,...)[]
        type : array
        • items[x] object XOR object XOR object XOR object
          oneOf
          type : object
          • name string required
            type : string
            Pattern : ^[a-zA-Z_][\w-]*$
          • type "normal" required constant
            type : string
            Constant value : normal
          • unique boolean required
            type : boolean
          • description string
            type : string
          • usePartialFilter boolean
            type : boolean
          • partialFilterExpression string
            type : string
          • fields (object,...)[] required
            type : array
            • items[x] object
              type : object
              • name string required
                type : string
                Pattern : ^_?[ \w-]+(\.[\w-]+|(\.\$\*\*))*$|^(\$\*\*)$
              • order number required
                type : number
                Possible values : 
                • 1
                • -1
      • internalEndpoints (object,...)[] required
        type : array
        • items[x] object required
          type : object
          • basePath string required
            type : string
          • defaultState string
            type : string
            Possible values : 
            • DRAFT
            • PUBLIC
          🚨 No extra propertie(s) are authorized in this object
        Length : >= 1 AND <= 1
      • tags (string,...)[]
        type : array
        • items[x] string
          type : string
      • type "collection" required constant
        type : string
        Constant value : collection
      🚨 No extra propertie(s) are authorized in this object
    🚨 No extra propertie(s) are authorized in this object
    Collections to be created with the application. The key of each collection MUST be equal to the collection `defaultName` property. Collections only work if a Mia-Platform CRUD Service is already in the project or is created through the application itself.
  • endpoints object
    type : object
    • ^(\/$|(\/([\w\-\.]|(:[a-zA-Z]))[\w\-\.]*)+)$ object XOR object
      oneOf
      type : object
      • acl string
        type : string
      • allowUnknownRequestContentType boolean
        type : boolean
        Default value : false
      • allowUnknownResponseContentType boolean
        type : boolean
        Default value : false
      • backofficeAcl object XOR object
        oneOf
        type : object
        • inherited false required constant
          type : boolean
          Constant value : false
        • value string
          type : string
        🚨 No extra propertie(s) are authorized in this object
      • defaultBasePath string required
        type : string
        Pattern : ^(\/$|(\/([\w\-\.]|(:[a-zA-Z]))[\w\-\.]*)+)$
      • defaultPathRewrite string
        type : string
      • description string
        type : string
      • forceMicroserviceGatewayProxy boolean
        type : boolean
        Default value : false
      • listeners object
        type : object
        • property name* boolean
          type : boolean
      • options object
        type : object
        • iframePolicy string
          type : string
          Possible values : 
          • all
          • deny
          • sameorigin
      • port string
        type : string
        Length : >= 1 character(s)
        Pattern : ^$|^((\{\{([A-Z])([A-Z0-9_]*)\}\})|([1-9]\d*|0))$
      • public boolean
        type : boolean
      • routes object
        type : object
        • ^(GET|POST|PUT|PATCH|DELETE|HEAD)(\/$|(\/([\w\-\.]|(:[a-zA-Z]))[\w\-\.]*\/?)+)$ object
          type : object
          • acl object XOR object required
            oneOf
            type : object
            • inherited false required constant
              type : boolean
              Constant value : false
            • value string
              type : string
            🚨 No extra propertie(s) are authorized in this object
          • allowUnknownRequestContentType object XOR object required
            oneOf
            type : object
            • inherited false required constant
              type : boolean
              Constant value : false
            • value boolean required
              type : boolean
            🚨 No extra propertie(s) are authorized in this object
          • allowUnknownResponseContentType object XOR object required
            oneOf
            type : object
            • inherited false required constant
              type : boolean
              Constant value : false
            • value boolean required
              type : boolean
            🚨 No extra propertie(s) are authorized in this object
          • backofficeAcl object XOR object
            oneOf
            type : object
            • inherited false required constant
              type : boolean
              Constant value : false
            • value string
              type : string
            🚨 No extra propertie(s) are authorized in this object
          • catchDecorator string
            type : string
          • id string required
            type : string
            Pattern : ^(GET|POST|PUT|PATCH|DELETE|HEAD)(\/$|(\/([\w\-\.]|(:[a-zA-Z]))[\w\-\.]*\/?)+)$
          • path string required
            type : string
            Pattern : ^(\/$|(\/([\w\-\.]|(:[a-zA-Z]))[\w\-\.]*\/?)+)$
          • postDecorators (string,...)[]
            type : array
            • items[x] string
              type : string
            Default value : 
            []
          • preDecorators (string,...)[]
            type : array
            • items[x] string
              type : string
            Default value : 
            []
          • public object XOR object required
            oneOf
            type : object
            • inherited false required constant
              type : boolean
              Constant value : false
            • value boolean required
              type : boolean
            🚨 No extra propertie(s) are authorized in this object
          • rateLimit object
            type : object
            • inherited boolean required
              type : boolean
            🚨 No extra propertie(s) are authorized in this object
          • schema object
            type : object
          • secreted object XOR object required
            oneOf
            type : object
            • inherited false required constant
              type : boolean
              Constant value : false
            • value boolean required
              type : boolean
            🚨 No extra propertie(s) are authorized in this object
          • showInDocumentation object XOR object required
            oneOf
            type : object
            • inherited false required constant
              type : boolean
              Constant value : false
            • value boolean required
              type : boolean
            🚨 No extra propertie(s) are authorized in this object
          • verb string required
            type : string
            Possible values : 
            • GET
            • POST
            • PUT
            • PATCH
            • DELETE
            • HEAD
          🚨 No extra propertie(s) are authorized in this object
        🚨 No extra propertie(s) are authorized in this object
      • secreted boolean
        type : boolean
      • service string required
        type : string
        Length : >= 1 character(s)
        Pattern : ^[a-z]([-a-z0-9]*[a-z0-9])?$
      • showInDocumentation boolean
        type : boolean
      • tags (string,...)[] required
        type : array
        • items[x] string
          type : string
      • type string required
        type : string
        Possible values : 
        • external
        • custom
        • cross-projects
      • useDownstreamProtocol boolean
        type : boolean
      🚨 No extra propertie(s) are authorized in this object
    🚨 No extra propertie(s) are authorized in this object
    Endpoints to be created with the application. The key of each endpoint MUST be equal to the endpoint `defaultBasePath` property. Endpoints only work if a Mia-Platform API Gateway is already in the project or is created through the application itself.
  • listeners object
    type : object
    • property name* object
      type : object
      • description string
        type : string
      • name string required
        type : string
      • ownedBy object
        type : object
        • componentIds (string,...)[] required
          type : array
          • items[x] string
            type : string
        🚨 No extra propertie(s) are authorized in this object
      • port string required
        type : string
        Length : >= 1 character(s)
        Pattern : ^$|^((\{\{([A-Z])([A-Z0-9_]*)\}\})|([1-9]\d*|0))$
      • selectedByDefault boolean
        type : boolean
      🚨 No extra propertie(s) are authorized in this object
  • services object required
    type : object
    • ^[a-z]([-a-z0-9]*[a-z0-9])?$ object XOR object XOR object
      oneOf
      type : object
      • args (string,...)[]
        type : array
        • items[x] string
          type : string
      • additionalContainers (object,...)[]
        type : array
        • items[x] object
          type : object
          • args (string,...)[]
            type : array
            • items[x] string
              type : string
          • componentId string
            type : string
          • containerPorts (object,...)[]
            type : array
            • items[x] object
              type : object
              • from integer XOR string required
                oneOf
                type : integer
                Possible values : >= 0 AND <= 65535
              • name string required
                type : string
                Pattern : ^[a-z]([-a-z0-9]*[a-z0-9])?$
              • protocol string
                type : string
                Possible values : 
                • TCP
                • UDP
                Default value : TCP
              • to integer XOR string
                oneOf
                type : integer
                Possible values : >= 0 AND <= 65535
              🚨 No extra propertie(s) are authorized in this object
          • defaultArgs (string,...)[]
            type : array
            • items[x] string
              type : string
          • defaultEnvironmentVariables (object,...)[]
            type : array
            • items[x] object
              oneOf
              type : object
              • name string required
                type : string
                Length : >= 1 character(s)
                The variable name (generally, a key written in UPPER_SNAKE_CASE)
              • description string
                type : string
                A brief description of the variable
              • managedBy "fast-data" constant
                type : string
                Possible values : 
                • fast-data
                A string that represents the Console section that manages the variable. It only works used in combination with the `readOnly` property set to `true`
              • readOnly boolean
                type : boolean
                A boolean that represents if you can change the value of the variable through the Console
              • value string
                type : string
                The variable default value. It can contain placeholders that will be replaced with the actual values when the service is created
              • valueType "plain" required constant
                type : string
                Constant value : plain
              🚨 No extra propertie(s) are authorized in this object
          • defaultProbes object
            type : object
            • liveness object XOR object XOR object
              oneOf
              type : object
              • cmd (string,...)[] required
                type : array
                • items[x] string
                  type : string
              • failureThreshold number
                type : number
              • initialDelaySeconds number
                type : number
              • periodSeconds number
                type : number
              • successThreshold number
                type : number
              • timeoutSeconds number
                type : number
              🚨 No extra propertie(s) are authorized in this object
            • readiness object XOR object XOR object
              oneOf
              type : object
              • cmd (string,...)[] required
                type : array
                • items[x] string
                  type : string
              • failureThreshold number
                type : number
              • initialDelaySeconds number
                type : number
              • periodSeconds number
                type : number
              • successThreshold number
                type : number
              • timeoutSeconds number
                type : number
              🚨 No extra propertie(s) are authorized in this object
            • startup object XOR object XOR object
              oneOf
              type : object
              • cmd (string,...)[] required
                type : array
                • items[x] string
                  type : string
              • failureThreshold number
                type : number
              • initialDelaySeconds number
                type : number
              • periodSeconds number
                type : number
              • successThreshold number
                type : number
              • timeoutSeconds number
                type : number
              🚨 No extra propertie(s) are authorized in this object
            🚨 No extra propertie(s) are authorized in this object
            The readiness, liveness, and startup paths of the service. By modifying the map of the probes, you can overwrite the default paths applied by the Console
          • defaultResources object
            type : object
            • cpuLimits object
              type : object
              • max string
                type : string
                Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))m$)|^$
              • min string
                type : string
                Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))m$)|^$
              🚨 No extra propertie(s) are authorized in this object
            • memoryLimits object
              type : object
              • max string
                type : string
                Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))Mi$)|^$
              • min string
                type : string
                Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))Mi$)|^$
              🚨 No extra propertie(s) are authorized in this object
            🚨 No extra propertie(s) are authorized in this object
            CPU and memory limitations of the service, which can be used to overwrite the default limitations imposed by the Console for these parameters
          • description string
            type : string
          • dockerImage string required
            type : string
            Pattern : ^(?:[a-z0-9.\-\/:]+\/)?([\w.}{\-\/]+)(:[\w.}{\-]+)?$
          • name string required
            type : string
            Length : >= 1 character(s)
            Pattern : ^[a-z]([-a-z0-9]*[a-z0-9])?$
          🚨 No extra propertie(s) are authorized in this object
      • componentId string
        type : string
      • containerPorts (object,...)[]
        type : array
        • items[x] object
          type : object
          • from integer XOR string required
            oneOf
            type : integer
            Possible values : >= 0 AND <= 65535
          • name string required
            type : string
            Pattern : ^[a-z]([-a-z0-9]*[a-z0-9])?$
          • protocol string
            type : string
            Possible values : 
            • TCP
            • UDP
            Default value : TCP
          • to integer XOR string
            oneOf
            type : integer
            Possible values : >= 0 AND <= 65535
          🚨 No extra propertie(s) are authorized in this object
      • defaultAnnotations (object,...)[]
        type : array
        • items[x] object
          type : object
          • description string
            type : string
          • name string required
            type : string
            Pattern : ^([a-zA-Z0-9][a-zA-Z0-9\.\-]{0,253}[\/])?([a-zA-Z0-9][a-zA-Z0-9\.\-]{0,63}[a-zA-Z0-9]?)$
          • readOnly boolean
            type : boolean
          • value string required
            type : string
          🚨 No extra propertie(s) are authorized in this object
        The service annotations, which can be used to provide additional information about your services for various purposes. Annotations starting with `mia-platform.eu` are reserved
      • defaultArgs (string,...)[]
        type : array
        • items[x] string
          type : string
      • defaultConfigMaps (object,...)[]
        type : array
        • items[x] object
          type : object
          • files (object,...)[] required
            type : array
            • items[x] object
              type : object
              • content string required
                type : string
              • name string required
                type : string
          • mountPath string required
            type : string
            Pattern : ^[a-zA-Z0-9-/_\s.|\\!"£$%&()=?^"{}[\]*+@]+$
          • name string required
            type : string
            Pattern : ^[a-z][a-z0-9]*(-[a-z0-9]+)*$
          • subPaths (string,...)[]
            type : array
            • items[x] string
              type : string
          • usePreserve boolean
            type : boolean
          • viewAsReadOnly boolean
            type : boolean
          🚨 No extra propertie(s) are authorized in this object
        The default ConfigMaps, if any, that will be mounted inside the container of the microservice
      • defaultDocumentationPath string
        type : string
        Pattern : ^$|^(\/$|(\/([\w\-\.]|(:[a-zA-Z]))[\w\-\.]*)+)$
        The APIs documentation path
      • defaultEnvironmentVariables (object XOR object XOR object XOR object XOR object,...)[]
        type : array
        • items[x] object XOR object XOR object XOR object XOR object
          oneOf
          type : object
          • name string required
            type : string
            Length : >= 1 character(s)
            The variable name (generally, a key written in UPPER_SNAKE_CASE)
          • description string
            type : string
            A brief description of the variable
          • managedBy "fast-data" constant
            type : string
            Possible values : 
            • fast-data
            A string that represents the Console section that manages the variable. It only works used in combination with the `readOnly` property set to `true`
          • readOnly boolean
            type : boolean
            A boolean that represents if you can change the value of the variable through the Console
          • value string
            type : string
            The variable default value. It can contain placeholders that will be replaced with the actual values when the service is created
          • valueType "plain" required constant
            type : string
            Constant value : plain
          🚨 No extra propertie(s) are authorized in this object
        The environment variables that will overwrite the default environment variables applied by the Console
      • defaultLabels (object,...)[]
        type : array
        • items[x] object
          type : object
          • description string
            type : string
          • name string required
            type : string
            Pattern : ^([a-zA-Z0-9][a-zA-Z0-9\.\-]{0,253}[\/])?([a-zA-Z0-9][a-zA-Z0-9\.\-]{0,63}[a-zA-Z0-9]?)$
          • readOnly boolean
            type : boolean
          • value string required
            type : string
          🚨 No extra propertie(s) are authorized in this object
        The service labels, which can be used to categorize, group, and select your service. Labels starting with "mia-platform.eu" are reserved
      • defaultLogParser string
        type : string
        Possible values : 
        • mia-plain
        • mia-json
        • mia-nginx
      • defaultMonitoring object
        type : object
        • endpoints (object,...)[]
          type : array
          • items[x] object
            type : object
            • interval string required
              type : string
              Pattern : ^(\d)+[s]$
            • path string required
              type : string
              Pattern : ^\/(([\w-])\/?)*$
            • port string required
              type : string
            🚨 No extra propertie(s) are authorized in this object
        🚨 No extra propertie(s) are authorized in this object
      • defaultProbes object
        type : object
        • liveness object XOR object XOR object
          oneOf
          type : object
          • cmd (string,...)[] required
            type : array
            • items[x] string
              type : string
          • failureThreshold number
            type : number
          • initialDelaySeconds number
            type : number
          • periodSeconds number
            type : number
          • successThreshold number
            type : number
          • timeoutSeconds number
            type : number
          🚨 No extra propertie(s) are authorized in this object
        • readiness object XOR object XOR object
          oneOf
          type : object
          • cmd (string,...)[] required
            type : array
            • items[x] string
              type : string
          • failureThreshold number
            type : number
          • initialDelaySeconds number
            type : number
          • periodSeconds number
            type : number
          • successThreshold number
            type : number
          • timeoutSeconds number
            type : number
          🚨 No extra propertie(s) are authorized in this object
        • startup object XOR object XOR object
          oneOf
          type : object
          • cmd (string,...)[] required
            type : array
            • items[x] string
              type : string
          • failureThreshold number
            type : number
          • initialDelaySeconds number
            type : number
          • periodSeconds number
            type : number
          • successThreshold number
            type : number
          • timeoutSeconds number
            type : number
          🚨 No extra propertie(s) are authorized in this object
        🚨 No extra propertie(s) are authorized in this object
        The readiness, liveness, and startup paths of the service. By modifying the map of the probes, you can overwrite the default paths applied by the Console
      • defaultResources object
        type : object
        • cpuLimits object
          type : object
          • max string
            type : string
            Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))m$)|^$
          • min string
            type : string
            Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))m$)|^$
          🚨 No extra propertie(s) are authorized in this object
        • memoryLimits object
          type : object
          • max string
            type : string
            Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))Mi$)|^$
          • min string
            type : string
            Pattern : (^((\{\{([A-Z])([A-Z0-9_]*)\}\})|(\d+))Mi$)|^$
          🚨 No extra propertie(s) are authorized in this object
        🚨 No extra propertie(s) are authorized in this object
        CPU and memory limitations of the service, which can be used to overwrite the default limitations imposed by the Console for these parameters
      • defaultSecrets (object,...)[]
        type : array
        • items[x] object
          type : object
          • mountPath string required
            type : string
            Pattern : ^[a-zA-Z0-9-/_\s.|\\!"£$%&()=?^"{}[\]*+@]+$
          • name string required
            type : string
            Pattern : ^[a-z][a-z0-9]*(-[a-z0-9]+)*$
          🚨 No extra propertie(s) are authorized in this object
        The default secrets, if any, to be mounted inside the container of the microservice
      • defaultTerminationGracePeriodSeconds number
        type : number
      • description string
        type : string
      • dockerImage string required
        type : string
        Pattern : ^(?:[a-z0-9.\-\/:]+\/)?([\w.}{\-\/]+)(:[\w.}{\-]+)?$
      • execPreStop (string,...)[]
        type : array
        • items[x] string
          type : string
      • mapEnvVarToMountPath object
        type : object
        • property name* object
          type : object
          • type string required
            type : string
            Possible values : 
            • file
            • folder
          • envName string required
            type : string
          🚨 No extra propertie(s) are authorized in this object
      • name string required
        type : string
        Length : >= 1 character(s)
        Pattern : ^[a-z]([-a-z0-9]*[a-z0-9])?$
      • tags (string,...)[]
        type : array
        • items[x] string
          type : string
      • type "plugin" required constant
        type : string
        Constant value : plugin
      🚨 No extra propertie(s) are authorized in this object
    Length : >= 1 propertie(s)
    🚨 No extra propertie(s) are authorized in this object
    Services to be created with the application. The key of each service MUST be equal to the service `name` property
  • unsecretedVariables object
    type : object
    • property name* object
      type : object
      • noProductionEnv string required
        type : string
      • productionEnv string required
        type : string
      🚨 No extra propertie(s) are authorized in this object
🚨 No extra propertie(s) are authorized in this object
Resources of Catalog items of type application