• Everything as code, autogenerated Markdown documentation with Gomplate.

    These days, where the “everything as code” paradigm is pretty much everywhere in the information technology world, infrastructure, containers and applications are configured and deployed usually via declarative tools (Terraform, Ansible, Helm) making the development and deployment consistent and repeatable. However, somewhere where the automate all the things has not made the cut is the documentation in general. People usually argue that documentation is boring and therefore this vital and crucial piece of work is usually neglected. Years ago I came across terraform-docs which has the capability to generate a markdown file from terraform variables, that’s quite cool but it’s pretty much Terraform specific. Back last year I came across Gomplate a tool written in Golang capable to render any data input to an output using templates. From its website “gomplate is a template renderer which supports a growing list of datasources, such as: JSON (including EJSON - encrypted JSON), YAML, AWS EC2 metadata, BoltDB, Hashicorp Consul and Hashicorp Vault secrets.” Hence i started to delve into Gomplate and its reach features which they were well suited for generating README Markdown files in an automated fashion.