{
  "description": "Prepare base Ubuntu 14.04 server for firmament-docker deploys",
  "options": {
    "displayExecutionGraphDescription": true
  },
  "asynchronousCommands": [
    {
      "description": "Add 'set -o vi' to .bashrc",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "command": "/usr/bin/env",
      "args": [
        "bash",
        "-c",
        "echo \"set -o vi\" >> ~/.bashrc"
      ]
    },
    {
      "description": "Add 'alias d='docker'' to .bashrc",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "command": "/usr/bin/env",
      "args": [
        "bash",
        "-c",
        "echo \"alias d='docker'\" >> ~/.bashrc"
      ]
    },
    {
      "description": "Add 'alias f='firmament'' to .bashrc",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "command": "/usr/bin/env",
      "args": [
        "bash",
        "-c",
        "echo \"alias f='firmament'\" >> ~/.bashrc"
      ]
    },
    {
      "description": "Add 'set nu' to .vimrc",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "command": "/usr/bin/env",
      "args": [
        "bash",
        "-c",
        "echo \"set nu\" >> ~/.vimrc"
      ]
    },
    {
      "description": "[sudo] deb https://apt.dockerproject.org/repo ubuntu-trusty main > /etc/apt/sources.list.d/docker.list",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "/usr/bin/env",
      "args": [
        "bash",
        "-c",
        "echo \"deb https://apt.dockerproject.org/repo ubuntu-trusty main\" > /etc/apt/sources.list.d/docker.list"
      ]
    },
    {
      "description": "[sudo] apt-get update",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "apt-get",
      "args": [
        "update"
      ]
    }
  ],
  "serialSynchronizedCommands": [
    {
      "description": "[sudo] apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "apt-key",
      "args": [
        "adv",
        "--keyserver",
        "hkp://p80.pool.sks-keyservers.net:80",
        "--recv-keys",
        "58118E89F3A912897C070ADBF76221572C52609D"
      ]
    },
    {
      "description": "[sudo] apt-cache policy docker-engine",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "apt-cache",
      "args": [
        "policy",
        "docker-engine"
      ]
    },
    {
      "description": "[sudo] apt-get update",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "apt-get",
      "args": [
        "update"
      ]
    },
    {
      "description": "[sudo] apt-get install ...",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "apt-get",
      "args": [
        "install",
        "-y",
        "apt-transport-https",
        "ca-certificates",
        "build-essential",
        "git",
        "apparmor",
        "docker-engine"
      ]
    },
    {
      "description": "apt-get install linux-image-extra",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "/usr/bin/env",
      "args": [
        "bash",
        "-c",
        "export UNAME=`uname -r` && apt-get install -y linux-image-extra-$UNAME"
      ]
    },
    {
      "description": "[sudo] npm install -g strongloop",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "npm",
      "args": [
        "install",
        "-g",
        "strongloop"
      ]
    },
    {
      "description": "git config --global 'user.name'",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": false,
      "command": "git",
      "args": [
        "config",
        "--global",
        "user.name",
        "nobody.nobody"
      ]
    },
    {
      "description": "git config --global 'user.email'",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": false,
      "command": "git",
      "args": [
        "config",
        "--global",
        "user.email",
        "nobody@nowhere.com"
      ]
    },
    {
      "description": "service docker start",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "service",
      "args": [
        "docker",
        "start"
      ]
    },
    {
      "description": "usermode -aG docker <me>",
      "suppressOutput": false,
      "suppressDiagnostics": true,
      "showPreAndPostSpawnMessages": true,
      "useSudo": true,
      "command": "/usr/bin/env",
      "args": [
        "bash",
        "-c",
        "export USERNAME=`whoami` && usermod -aG docker $USERNAME"
      ]
    }
  ]
}
