Converge is a configuration management tool that makes it easy to manage servers, laptops and other devices.
Key features:
- Easy to install and run. A single binary and configuration file is all you need.
 - A powerful graph engine that automatically generates dependencies and runs tasks in parallel.
 - API-first communication using grpc.
 - Module verification: only run trusted modules.
 
Table of Contents
go get github.com/asteris-llc/convergeor download a release for your platform from the releases page on Github.
See the docs! It's pretty reasonable, though. Here's a summary:
Converge uses HCL for syntax. HCL is a superset of JSON that looks (and acts) quite a bit nicer.
The basic unit of composition in converge is the module. Modules have parameters and contain resources. Creating a module looks something like this:
# write "hello world" to disk
param "message" {
  default = "Hello, World in {{param `filename`}}"
}
param "filename" {
  default = "test.txt"
}
file.content "render" {
  destination = "{{param `filename`}}"
  content     = "{{param `message`}}"
}Invoke this with converge apply --local samples/fileContent.hcl to install
Traefik from yum on your system. You can also converge plan --local samples/fileContent.hcl to see what changes will be made before you apply them.
For linting, you'll need:
| tool | go get | 
|---|---|
golint | 
github.com/golang/lint/golint | 
go tool vet | 
(built in) | 
gosimple | 
honnef.co/go/simple/cmd/gosimple | 
unconvert | 
github.com/mdempsky/unconvert | 
structcheck | 
github.com/opennota/check/cmd/structcheck | 
varcheck | 
github.com/opennota/check/cmd/varcheck | 
aligncheck | 
github.com/opennota/check/cmd/aligncheck | 
gas | 
github.com/HewlettPackard/gas | 
You'll need:
- Google's protobuf compiler, 3.0 or above.
 - The go protoc plugin: 
go get -a github.com/golang/protobuf/protoc-gen-go - The grpc gateway plugin(s): 
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger 
Converge is licensed under the Apache 2.0 license. See LICENSE for full details.