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"
}
}
}