Structure of the UBOS Manifest

/docs/developers/details/manifest/structure/

A Manifest JSON file has a type declaration, three required components, and three optional components:

{
  "type" : "<<type>>",
  "info" : {
     ... info section (not required but recommended)
  },
  "requirestls" :
     ... (optional)
  "roles" : {
     ... roles section
  },
  "customizationpoints" : {
     ... customizationpoints section (optional)
  },
  "appinfo" : {
     ... appinfo section (for Apps only)
  },
  "accessoryinfo" : {
     ... accessoryinfo section (for Accessories only; required for Accessories)
  }
}

The type declaration states whether the manifest is for an App or an Accessory. An App uses:

"type" : "app"

while an Accessory uses:

"type" : "accessory"

The optional info section contains user-friendly, localized information about the App or Accessory. This is described in Info section.

If "requirestls" : true, this App must only be deployed to Sites that are protected by TLS.

The required roles section declares how the App wishes to be installed and configured with respect to Apache, MySQL, and other roles. This is described in Roles section.

Apps or Accessories that support customization declare their parameters in an optional customizationpoints section. This is described in Customization points section.

In addition, Accessories need to provide a accessoryinfo section to identify the App that they belong to. This is described in Accessoryinfo section.