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​