Upgrade from 1.2.0 to 1.3.0
Upgrade Genvid Project
The Genvid Project has been updated to a cleaner design, deprecating some elements in the process. Updating is quite easy:
Update the version number
The version number now matches the one of the first release supporting a new feature. You need to replace this:
version = "1.1"
with this:
version = "1.3.0"
Replace all binary elements
The binary elements are replaced by simple config elements.
Specified paths no longer automatically substitute to absolute ones at
start time, but that can be achieved using a consul-template
plugin.
Replace each element like:
binary "name" {
  path = "exec"
}
with the following:
config {
  local {
    binary {
      name {
        path = "{{plugin `where` `exec` | js}}"
      }
    }
  }
}
If you already know the complete location of the executable, you can directly write the path there (with the correct quoting).
Replace all image elements
Previously, the image elements were placed directly under the
cloud section of the configuration.  They must now be specified
inside a config element.  Therefore, if you had this:
image "name" {
  tag = "myimage:dev"
}
then you must convert it to this instead:
config {
  cloud {
    image {
      name {
        tag = "myimage:dev"
      }
    }
  }
}
Replace all other elements with a configuration
With the addition of binary and image, there were only five
others elements having a special treatment: name, version,
job, event and log.  All other elements were simply added
to the key-value store.  These elements now need to be added to a
config/ element, followed by either local or cloud (or
both) depending on where they were expected.  The previous version
were always loading those configuration under local for
local.py or cloud for cloud.py.  You probably have to make
some adjustment to your template in this case.
If you had:
website {
  root = "{{env `PROJECT_DIR` | js}}\\web"
}
you must now have:
config {
  local {
    // website is only used in the local environment
    website {
      root = "{{env `PROJECT_DIR` | js}}\\web"
    }
  }
}
