Go templates: http://golang.org <http://golang.org/> Fast and simple with gRPC and other good stuff like kelsey’s confd (a daemon that watches for changes and update templates)
% go doc text/template package template // import "text/template" Package template implements data-driven templates for generating textual output. To generate HTML output, see package html/template, which has the same interface as this package but automatically secures HTML output against certain attacks. Templates are executed by applying them to a data structure. Annotations in the template refer to elements of the data structure (typically a field of a struct or a key in a map) to control execution and derive values to be displayed. Execution of the template walks the structure and sets the cursor, represented by a period '.' and called "dot", to the value at the current location in the structure as execution proceeds. The input text for a template is UTF-8-encoded text in any format. "Actions"--data evaluations or control structures--are delimited by "{{" and "}}"; all text outside actions is copied to the output unchanged. Except for raw strings, actions may not span newlines, although comments can. Once parsed, a template may be executed safely in parallel. Here is a trivial example that prints "17 items are made of wool". type Inventory struct { Material string Count uint } sweaters := Inventory{"wool", 17} tmpl, err := template.New("test").Parse("{{.Count}} items are made of {{.Material}}") if err != nil { panic(err) } err = tmpl.Execute(os.Stdout, sweaters) if err != nil { panic(err) } Alexis > On 6 Jun 2017, at 15:22, Graham Johnston <johnst...@westmancom.com> wrote: > > Short of complete SDN, for those of you that have some degree of > configuration templating and/or automation tools what is it that you run? I'm > envisioning some sort of tool that let's me define template snippets of > configuration and aids in their deployment to devices. I'm okay doing the > heaving lifting in defining everything, I'm just looking for the tool that > stitches it together and hopefully makes things a little less error prone for > those who aren't as adept. > > Graham Johnston > Network Planner > Westman Communications Group > 204.717.2829 > johnst...@westmancom.com<mailto:johnst...@westmancom.com> >