Manifest

Creating a new Manifest

To create a blank manifest run:

genesystem new

Structure

A configuration manifest is a description of changes to make to a host system, and at its simplest looks something like this:

{
  "name": "manifest",
  "version": "0.0.1",
  "metadata": {
    "gene_system": {
      "version": "0.4.0"
    }
  },
  "steps": [
    {
      "name": "say hello",
      "exe": {
        "install": {
          "cmd": [
            "echo \"hello\""
          ]
        },
        "remove": {
          "cmd": [
            "echo goodbye"
          ]
        }
      },
      "tags": "example step"
    }
  ]
}

Below is a description of the root level manifest attributes, each of which is required:

  • name is the name of the configuration manifest
  • version refers to the version of the configuration. You might want to increment this number as you make changes to the manifest.
  • metadata contains data about the manifest, notably the gene_system > version attribute which governs the minimum version of the Gene System gem required to execute the manifest
  • steps an array of step objects that configure a host machine.