Generating config files
Raise your hand if you enjoy generating config files from scratch. Anyone? Anyone? Format complexity, baroque syntax, variations in syntax between software versions, environment-specific requirements, validation, security concerns, integration issues … the list of challenges goes on and on. And getting just one server personality (Bind, Apache, Nginx, Redis, etc.) to do all the things it needs to do in a production environment can take a combination of five, 10, or 20 different config files in total. The admin has to make sure the network interface, DNS, NTP, web server, and so on are all configured perfectly.
For all of these reasons, using a language model to generate config files is pretty awesome—a huge time saver, potentially trimming hundreds of human work hours down to just a few. It’s not OK, however, to leave it completely to generative AI to generate config files. Humans must review and validate files to ensure that they address organization-specific factors, for example, or comply with industry standards and regulatory mandates. A human also needs to make sure config files are documented to help avoid problems with future translation. (See “Translating config files” below.)
We know this is coming because if you look at GitHub Copilot or Ansible Lightspeed, language models are already generating formal language syntax such as Python, Ruby, Node.js, etc. Extending this to even more limited syntaxes like config files should be an easy win in the coming months and years. Even better, Ansible Lightspeed even cites its work, showing what source code it was trained on, which is a feature I think we should all demand of any syntax generation code.