Steps

The steps attribute in the manifest is an array that describes an install or remove action.

The value of steps should be an array and should ideally be defined after metadata:

{
  "name": "manifest",
  "version": "0.0.1",
  "metadata": {
    "gene_system": {
      "version": "0.4.0"
    }
  },
  "steps": []
}

Each step should be in the following format:

{
  "name": "say hello",
  "exe": {
    "install": {
      "cmd": [
        "echo \"hello\""
      ]
    },
    "remove": {
      "cmd": [
        "echo goodbye"
      ]
    }
  },
  "tags": "example step"
}

Steps have a name, exe and tag attribute.

  • name refers to the step name, this will be printed in STDOUT when the step is being executed.
  • exe is an object that runs during the application or removal of a manifest. It must include an install or remove object (see Install and Remove Objects below)
  • tags a space separated string of tags used to control which steps should be executed.

Install and Remove Objects

The install and remove objects are basically the same, only differing in the sense that the install exe instructions are run when the genesystem install command is run, and the remove exe instructions when the genesystem remove command is run.

The install and remove objects require a cmd array like the one in the example above. These should be shell commands to be run. In the above example, these are simply echo commands, but what they can be is limited only by your imagination.

Optionally, both the install and remove objects can accept the following:

  • skip command that prevents execution of cmd instructions
  • prompts array of prompt that asks the user for input