Project Creation

What is a Mason Project?

In the simplest terms, a Mason project is a representation of versioned configurations, each of which can be deployed to groups of devices.

As an example, lets say you are looking to maintain software releases across devices located in your warehouses across the country.

Your product definition may contain custom groups based on stages of development (eg, “Development”, “Staging”, “QA”, “Production”) that all have different versions of a configurations, or Mason Projects, deployed to them.

The “Production” group may then be split by different warehouses that you have in your portfolio (eg, “Production WH #1”, “Production WH #2”).

You could then theoretically test different software configurations – or Mason Projects – by locality in an attempt to strive for better efficiency in the field by deploying different versions to different warehouses.

Creating a Mason Project

To create a Mason Project, you need to have a valid Mason Platform account configured. Please contact Mason Support to ensure that you have a Mason account configured already.

From the Mason Platform Project Dashboard, you can click “Add Project” to create a new Mason Project.

Add Project Image

On the Mason Project creation dialog, choose a name which fittingly represents the goals of the project. Please note that the Project Identifier may be different from your display name. The Project Identifier is used when interfacing with the Mason CLI.

New Project Image

Once you’ve set the display name, choose the device model for which this project will be tied to. Currently, projects are strictly tied to device types.

Choose Device Image

Hit “Create” to finish the Mason Project creation flow.

Mason Project in CLI

The Mason Project Identifier is used when creating, registering, or deploying the configuration to a group of devices in the field.

As an example, if you were to create a Mason Project entitled “Warehouse Distribution”, the project identifier may be normalized to warehouse-distribution. To then configure, or reference this project, you would utilize warehouse-distribution in the Mason CLI.

Example snippet Warehouse Distribution Configuration

os:
  name: warehouse-distribution
  version: 1
  configurations:
     ...

apps:
  - name: TestApp
    ...

Which, after being registered and built, could be deployed to devices in the “development” group via:

mason deploy config warehouse-distribution 1 development