Skip to main content
Version: 14.x

Items manifest

The information needed to create or edit an item (or, better yet, an item release) must be provided through a manifest, a JSON representation of the data to store on the database.

Manifests top-level structure is the same for any item, while the content of the resources property is specific for each item type.

What follows is the formal definition of a generic manifest, with the other pages of this section documenting how the assets (field resources) should be shaped for each type.

tip

The full JSON schema is available on GitHub.

Catalog item manifest
type : object
  • categoryId string
    type : string
    Identifier of the item's category
  • description string
    type : string
    Brief description of the item
  • documentation object
    type : object
    • type string required
      type : string
      Possible values : 
      • externalLink
      • markdown
    • url uri-reference required
      type : string (uri-reference)
    Documentation of the item
  • imageUrl uri-reference
    type : string (uri-reference)
    Url of the image associated with the item
  • itemId string required
    type : string
    Length : >= 1 character(s)
    Pattern : ^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$
    RFC-1035 compliant identifier of the item. It forms a composite PK with tenantId and, if present, version.name
  • lifecycleStatus string required
    type : string
    Possible values : 
    • coming-soon
    • draft
    • published
    • maintenance
    • deprecated
    • archived
    Lifecycle status of the item
  • name string required
    type : string
    Length : >= 1 character(s)
    Human-readable name of the item
  • providerId string
    type : string
    Identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item type
  • publishOnMiaDocumentation boolean
    type : boolean
    Flag stating if the resource documentation should be published on Mia-Platform public documentation
  • releaseDate date-time
    type : string (date-time)
    Creation date of this item's release
  • repositoryUrl uri-reference
    type : string (uri-reference)
    URL of the repository containing the source code of the resource created by the item
  • resources object required
    type : object
    Representation of the resource that will be created starting from this item. It could be validated through the matching CRD
  • supportedBy string
    type : string
    Identifier of the company that has produced the item
  • supportedByImageUrl uri-reference
    type : string (uri-reference)
    Url of the image associated with the company that has produced the item
  • tenantId string required
    type : string
    Identifier of the tenant to which the item belongs. It forms a composite PK with itemId and, if present, version.name
  • type string required
    type : string
    Type of the item. It must match a CRD resources.name property
  • version object
    type : object
    • name string required
      type : string
      Pattern : ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
      Semantic version
    • releaseNote string required
      type : string
      Markdown release note
    • security boolean
      type : boolean
      Flag stating if the version addresses any vulnerability
    Version of the item following semver
  • visibility object
    type : object
    • allTenants boolean
      type : boolean
      Default value : false
      If true, the item will be accessible to all companies
    • public boolean
      type : boolean
      Default value : false
      If true, the item will be accessible from any user that access the Console, even if not authenticated
    Visibility of the item
🚨 No extra propertie(s) are authorized in this object
Data model of a Catalog item to apply

Categories​

Items can be organized in categories with the field catagoryId. The available categories are pre-defined, and can be found here.

Permissions​

To create or edit items, users must have the role of Company Owner or Project Administrator in the Company the item belongs to.

On top of that, the specific permission marketplace.root.manage is needed to set or edit these restricted properties:

  • publishOnMiaDocumentation
  • supportedBy
  • supportedByImage
  • visibility