Release Date

2016-12-29 0.5.0


This release includes new modules and general usability enhancements for users and module authors.

Remove Vendoring

For converge 0.5.0 we have removed the vendor directory from the converge repository. glide install will now run as part of the build process to ensure all dependencies are installed.

Demo Applications

A demo of using converge for a kubernetes deployment was added in 524.

Module Improvements

File Fetch

File download and verification support has been added via #543.

file.fetch "consul.zip" {
  source      = "https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip"
  destination = "/tmp/consul.zip"
  hash_type   = "sha256"
  hash        = "abdf0e1856292468e2c9971420d73b805e93888e006c76324ae39416edcf0627"

File Owner

File ownership can now be changed with the file.owner module added via #549.

file.owner "owner-test" {
  destination = "dir"
  group       = "root"
  user        = "root"
  verbose     = true
  recursive   = true

Usability Enhancements

Better Cascading Error Output

Modules with failing dependencies are now summarized at the end of a run via 516.

 Error: exec: "blah": executable file not found in $PATH
 Has Changes: no
 Changes: No changes

 * root/task.directory: exec: "blah": executable file not found in $PATH

Failed due to failing dependency:
 * root/task.key: error in dependency "root/task.directory"
 * root/task.csr: error in dependency "root/task.key"
 * root/task.crt: error in dependency "root/task.csr"

Summary: 1 errors, 0 changes, 3 dependency errors

Resource Name Restrictions

As of 535 resource names are now restricted to strings consisting of letters, numbers, dots . and dashes -. Unicode letter characters are supported.

Diff Output During Application

As of 533 diff outputs should be displayed when running apply.

Engine Improvements

Module API Enhancements

The module authoring API has been updated to make it easier to develop modules.

Explicit Value Exports

As of 533 the export and re-export-as tags are supported for resource.Resource types in modules. These tags are now required to make fields available for lookup.

New Module Author Idioms

As of 533 resource types in modules should not embed resource.Status. The Check and Apply functions should no longer return the resource itself but instead a generated task status.

Bug Fixes

Converge 0.5.0 introduces a multitiude of bugfixes and stability improvements. Please refer to the changelog for a detailed report.


We provide support via the Converge Slack team and through GitHub issues