Skip to main content

Bundle Configuration

The massdriver.yaml file contains metadata for publishing a Massdriver bundle to the Massdriver package manager as well as configuration for controlling the UI.

massdriver.yaml Properties:

TypeDescriptionRequired
namestringThe name of the bundle. This will be prefixed with your organization name upon publishing. Yes
schemastringThe JSON Schema used to define the bundle. Yes
descriptionstringA description of the bundles. Yes
source_urlstringLink to the bundle source code. Yes
accessstringThe access level of the bundle. Private will only be available to the organization it is published under. Yes
typestringThe type of bundle: infrastructure (legacy term: bundle) or application. Yes
paramsobjectdraft-07 JSON Schema describing input parameters for the bundle. Yes
connectionsobjectdraft-07 JSON Schema describing input connections for this bundle. Determines which artifacts from other bundles this bundle depends on. Yes
artifactsobjectdraft-07 JSON Schema describing cloud resources created by this bundle that are available to be used as input connections to other bundles. See: https://github.com/massdriver-cloud/artifact-definitions Yes
uiobjectRJSF UI Schema for advanced control over the UI. See https://react-jsonschema-form.readthedocs.io/en/docs/api-reference/uiSchema/#uischema Yes

Additional properties are not allowed.

Bundle Name

The name of the bundle. This will be prefixed with your organization name upon publishing.

  • Type: string
  • Required: No
  • Pattern: ^[a-z][a-z0-9-]+[a-z0-9]$
  • Minimum Length: >= 3
  • Maximum Length: <= 53

Bundle Schema

The JSON Schema used to define the bundle.

  • Type: string
  • Required: Yes
  • Allowed values:
    • "draft-07"

Bundle Description

A description of the bundle.

  • Type: string
  • Required: Yes
  • Minimum Length: >= 10
  • Maximum Length: <= 1024

Bundle Ref

Link to the bundle source code.

Note: ref is a legacy term in Massdriver and will likely change in the future.

  • Type: string
  • Required: Yes
  • Format: uri

Bundle Access

The access level of the bundle. Private bundles will only be accessible by the organization it is published under.

  • Type: string
  • Required: Yes
  • Allowed values:
    • "public"
    • "private"

Bundle Type

The type of bundle: infrastructure (legacy term: bundle) or application.

  • Type: string
  • Required: Yes
  • Allowed values:
    • "bundle"
    • "application"

Bundle Params

Input parameters for the bundle. These will be converted to input variables for your IaC module.

  • Type: any
  • Required: Yes

Bundle Connections

Input connections for this bundle. Determines which artifacts from other bundles this bundle depends on. These will be converted to input variables for your IaC module.

  • Type: any
  • Required: Yes

Bundle Artifacts

Cloud resources created by this bundle that are available to be used as input connections to other bundles. See: https://github.com/massdriver-cloud/artifact-definitions

  • Type: any
  • Required: Yes

Bundle UI

RJSF UI Schema for advanced control over the UI. See https://react-jsonschema-form.readthedocs.io/en/docs/api-reference/uiSchema/#uischema

  • Type: object
  • Required: Yes

Widgets & Fields

Example massdriver.yaml Files