package main import ( "github.com/hashicorp/consul/api" /*"crypto/aes"*/ "log" /*"github.com/aws/aws-sdk-go/service/s3"*/ ) func errIsPanic(err error, format string, a ...interface{}) { if err != nil { log.Panicf(format, a...) } } func main() { log.Println("starting consul kv backup...") conf := api.DefaultConfig() //@FIXME add later support for a different URL //@FIXME add later support for HTTPS options := api.QueryOptions { // Prevent from backuping forever silently a desynchronized node AllowStale: false, } consul, err := api.NewClient(conf) errIsPanic(err, "Unable to build a new client. %v", err) _, _, err = consul.Snapshot().Save(&options) errIsPanic(err, "Snapshot failed. %v", err) }