Bundle

Cloud Native Application Bundle Descriptor (CNAB v1)

Application DependenciesCloud NativeIntegrationResearchSpecificationsWorkload Specifications

Properties

Name Type Description
schemaVersion string The version of the CNAB specification
name string The name of this bundle
version string A SemVer2 version for this bundle
description string A description of this bundle, intended for users
keywords array A list of keywords describing the bundle
maintainers array A list of parties responsible for this bundle
license string The SPDX license code or proprietary license name
invocationImages array The array of invocation image definitions
images object Images used by this bundle
credentials object Credentials to be injected into the invocation image
parameters object Parameters that can be injected into the invocation image
definitions object JSON Schema definitions for parameters and outputs
outputs object Values produced by executing the invocation image
actions object Custom actions that can be triggered on this bundle
requiredExtensions array Extensions required for this bundle
custom object Reserved for custom extensions
View JSON Schema on GitHub

JSON Schema

application-research-bundle-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Bundle",
  "title": "Bundle",
  "type": "object",
  "description": "Cloud Native Application Bundle Descriptor (CNAB v1)",
  "required": [
    "schemaVersion",
    "name",
    "version",
    "invocationImages"
  ],
  "properties": {
    "schemaVersion": {
      "type": "string",
      "description": "The version of the CNAB specification",
      "const": "v1"
    },
    "name": {
      "type": "string",
      "description": "The name of this bundle",
      "examples": [
        "my-wordpress-bundle"
      ]
    },
    "version": {
      "type": "string",
      "description": "A SemVer2 version for this bundle",
      "pattern": "^v?([0-9]+)(\\.[0-9]+)?(\\.[0-9]+)?(-([0-9A-Za-z\\-]+(\\.[0-9A-Za-z\\-]+)*))?(\\+([0-9A-Za-z\\-]+(\\.[0-9A-Za-z\\-]+)*))?$",
      "examples": [
        "1.2.3",
        "2.0.1-beta.1"
      ]
    },
    "description": {
      "type": "string",
      "description": "A description of this bundle, intended for users"
    },
    "keywords": {
      "type": "array",
      "description": "A list of keywords describing the bundle",
      "items": {
        "type": "string"
      },
      "examples": [
        [
          "wordpress",
          "blog",
          "cms"
        ]
      ]
    },
    "maintainers": {
      "type": "array",
      "description": "A list of parties responsible for this bundle",
      "items": {
        "$ref": "#/components/schemas/Maintainer"
      }
    },
    "license": {
      "type": "string",
      "description": "The SPDX license code or proprietary license name",
      "examples": [
        "Apache-2.0",
        "MIT"
      ]
    },
    "invocationImages": {
      "type": "array",
      "description": "The array of invocation image definitions",
      "minItems": 1,
      "items": {
        "$ref": "#/components/schemas/InvocationImage"
      }
    },
    "images": {
      "type": "object",
      "description": "Images used by this bundle",
      "additionalProperties": {
        "$ref": "#/components/schemas/Image"
      }
    },
    "credentials": {
      "type": "object",
      "description": "Credentials to be injected into the invocation image",
      "additionalProperties": {
        "$ref": "#/components/schemas/Credential"
      }
    },
    "parameters": {
      "type": "object",
      "description": "Parameters that can be injected into the invocation image",
      "additionalProperties": {
        "$ref": "#/components/schemas/Parameter"
      }
    },
    "definitions": {
      "type": "object",
      "description": "JSON Schema definitions for parameters and outputs",
      "additionalProperties": {
        "$ref": "#/components/schemas/Definition"
      }
    },
    "outputs": {
      "type": "object",
      "description": "Values produced by executing the invocation image",
      "additionalProperties": {
        "$ref": "#/components/schemas/BundleOutput"
      }
    },
    "actions": {
      "type": "object",
      "description": "Custom actions that can be triggered on this bundle",
      "additionalProperties": {
        "$ref": "#/components/schemas/Action"
      }
    },
    "requiredExtensions": {
      "type": "array",
      "description": "Extensions required for this bundle",
      "items": {
        "type": "string"
      }
    },
    "custom": {
      "type": "object",
      "description": "Reserved for custom extensions",
      "additionalProperties": true
    }
  }
}