Project Manifest

A DTaaS project manifest is a JSON file containing information about a set of prototypes. Through the manifest, the SDK is able to load the defined prototypes into DTaaS for use. The project manifest must be named either MANIFEST or MANIFEST.json.

The top level keys in the manifest are the names of the prototypes in the project, with their values being the prototype metadata.

{
    "prototype_name": {
        ...
    },
    ...
}

Required Values

  • name

    The name of the prototype. This must match the top level key.

  • tag

    The tag associated with the current version of the prototype.

  • type

    The object type in DTaaS. The list of valid types may be retrieved using the sdk types command.

  • dependencies

    A mapping of prototypes to act as dependencies. The keys should be a name that is understood by the prototype code and the value a reference to the prototype that is a dependency. The value may be an artifact ID of an existing prototype or the name of another prototype in the same project.

  • arguments

    A JSON mapping used to configure values for specific prototype types.

  • capabilities

    A mapping of artifacts to a list of capabilities we require on said artifact. The key may be an artifact ID or the name of a prototype defined in the same manifest. The value must be a list of the capabilities needed on the key. An explanation of the valid capabilities and their meanings may be found here.

  • config-capabilities

    Used to define capabilities for artifacts that aren’t known at creation time. The structure must mirror the structure of the config required by the prototype. Where the list of capabilities are provided here, an artifact ID must be provided in the actual config. This will result in the capabilities defined here being granted on the artifact defined in the config.

Optional Values

  • dockerfile

    A path to a dockerfile used to build the images for the prototype. If not included, the SDK will be unable to build the images for the prototype and will require they be pre-built with the correct name and tag.

  • context

    A path to a directory to be used as the build context when building the docker images for the prototype.

Type Specific Arguments

Some types of prototypes require certain values be included in their arguments section.

Daemons

  • volume_location

    The absolute path within the container to mount the daemon’s persistent volume.

  • volume_size

    The size in megabytes for the daemon’s persistent volume.