Netomata Config Generator (NCG)

Netomata Config Generator (NCG) creates complete, ready-to-install config files for network devices and services from a common lightweight model of your network. Because these config files are generated programmatically (rather than by hand), and generated from a shared model (rather than being managed separately for each device or service), they are more likely to be consistent and complete, which makes your network more reliable, easier to troubleshoot, and easier to expand in both size and functionality.

The inputs to NCG are a model describing your network (neto and neto_table files), and templates (ncg files) for the config files of the various devices (routers, switches, load balancers, firewalls, etc.) and services (SNMP, DNS, DHCP, etc.) that you want to generate config files for. From these inputs, NCG produces complete, consistent, ready-to-install config files for those devices and services.

For more information about Netomata and the philosophy behind NCG, see


NCG can be downloaded from this page, via the links in the Files section at the bottom of the page.

NCG requires Ruby 1.8.6 (it may work under other versions, but hasn't been tested under other versions) and the "Facets" Ruby Gem. NCG should work just fine on pretty much any UNIX/Linux-based operating system which has Ruby 1.8.6 available. The REQUIREMENTS file (included in the distribution, or available via the "Files" section at the bottom of this page) details how to install the necessary prerequisites on a variety of different platforms.


Please see the Netomata Config Generator (NCG) program documentation pages.


NCG is released as free open source software under the GNU General Public License, version 3. Please see the Netomata Config Generator (NCG) License page for full details. If you would like to discuss alternative licensing terms, please email


The current release is a public beta, and should definitely be considered experimental in nature. Commands and file formats are all subject to change, as we work out what paradigms work best and figure out how to get the most out of this tool. We'll try to limit future changes that break backwards compatibility, but we can't promise that at this stage; right now, we believe that it's more important to experiment with how best to build and use this tool, rather than to carve anything in stone.

To make an anology to programming languages, this release is like the interpreter for a language that is so new that the standard libraries for the language haven't been developed yet. The basic language capability is there, but the functionality and leverage normally provided by standard libraries doesn't exist yet.


The Netomata Wiki is a community-maintained resource that contains examples, demonstrations, tools, and tips for using Netomata tools, including NCG.

Mailing Lists

Netomata hosts a number of mailing lists for discussions and announcements related to NCG.


The ncg-users mailing list is for discussions about using the Netomata Config Generator (ncg) software. Examples of relevant topics include questions about how to set up ncg on a particular system, bug reports, and "tips and tricks".


The ncg-announce mailing list is a low-volume list for announcements related to the Netomata Config Generator (ncg) software, such as announcements of new releases, security alerts, and so forth. This list is only for announcements; any followup discussions pertaining to the announcements will take place on the ncg-users mailing list.


The network-automation mailing list is for discussions of issues related to automating network configuration and management, including (but not limited to) methods, mechanisms, techniques, philosophies, policies, and products (in general; questions about specific products should be directed to the mailing list dedicated to that particular product). These discussions are not limited to Netomata products and services.


You can use the following links to download NCG, as well as certain key explanatory files from within the distribution:

ncg-0.10.3-r558.tar.gz178.47 KB
ncg-0.10.3-r558.QUICKSTART.txt2.12 KB
ncg-0.10.3-r558.RELEASE_NOTES.txt3.71 KB
ncg-0.10.3-r558.README.txt5.53 KB
ncg-0.10.3-r558.REQUIREMENTS.txt3.2 KB
ncg-0.10.3-r558.INSTALL.txt2.88 KB
ncg-0.10.3-r558.ISSUES.txt3.06 KB
ncg-0.10.2-r552.tar.gz177.32 KB
ncg-0.10.2-r552.QUICKSTART.txt2.12 KB
ncg-0.10.2-r552.RELEASE_NOTES.txt3.53 KB
ncg-0.10.2-r552.README.txt5.53 KB
ncg-0.10.2-r552.REQUIREMENTS.txt3.2 KB
ncg-0.10.2-r552.INSTALL.txt2.88 KB
ncg-0.10.2-r552.ISSUES.txt3.06 KB
ncg-0.10.1-r546.tar.gz178.06 KB
ncg-0.10.1-r546.QUICKSTART.txt2.13 KB
ncg-0.10.1-r546.RELEASE_NOTES.txt3.08 KB
ncg-0.10.1-r546.README.txt5.53 KB
ncg-0.10.1-r546.REQUIREMENTS.txt3.27 KB
ncg-0.10.1-r546.INSTALL.txt2.88 KB
ncg-0.10.1-r546.ISSUES.txt3.06 KB
ncg-0.9.1-r342.tar.gz125.58 KB
ncg-0.9.1-r342.QUICKSTART.txt2.13 KB
ncg-0.9.1-r342.README.txt5.49 KB
ncg-0.9.1-r342.REQUIREMENTS.txt3.15 KB
ncg-0.9.1-r342.INSTALL.txt2.23 KB
ncg-0.9.1-r342.ISSUES.txt3.06 KB