The initial release of WxConfig NG is getting closer to completion. So I wanted to give you a short update on what is happening right now. Should I miss an aspect that is important to you, let me know in the comments below.
As you can see from the screenshot above, there is a first rudimentary UI available. The menu structure will be similar to WxConfig classic, but of course also with some differences. There are two main reasons for this. Firstly, when I started with WxConfig classic back in March 2008 I only had a basic understanding of configuration management. And secondly, my experience over the years had been that more than 50% of WxConfig’s functionality was probably not used at all. At least I never got any questions, and that is a pretty strong indicator.
Section overview
Let me start by quickly going over the various sections and how they are meant to be used. Where possible I will also include screenshots. Please understand that this is all work-in-progress, so changes are to be expected before the official release. Nevertheless, you should get a good first impression.
Packages
The Packages
section is the starting point. You see the active packages that also make use of WxConfig NG. It is also possible with a single click to enable a non-system package for WxConfig NG. And if you have enabled or disabled a WxConfig NG-enabled package, you can trigger a rescan to update the list.
The other columns of the table (Valid
, Secrets
, Interpolators
) will eventually indicate whether the respective area is ok for the package. At the moment this is not implemented yet.
Files
The Files
section is what the original WxConfig started with (it had no “Packages
” initially). In those early days it simply displayed all the files, and that is also what happens when you click the Files
section in the menu. The screenshot below demonstrates the result and you can see that files from multiple packages are shown. This is particularly handy when you are starting out and don’t (yet) have tons of files per package.
And then there is the per-package mode. So if you click a package name in the Packages
menu, only files from that package will be displayed as demonstrated below. Please also note how the package name is provided (red arrow). This allows you, if needed, to embed customized views via deep-links.
Clicking on the file name, will take you to the editor. As in WxConfig classic this using the Ace editor under the covers.
People familiar with WxConfig classic will note that the syntax of WxConfig NG to include additional files is similar. Yet there are some differences. The main “issue” with the old syntax is that it had grown over many years. Therefore different conditions were not handled in a uniform way. E.g. the environment type or hostname had their own special key (e.g. wx.config.env.DEV=file.cnf
).
The new syntax is consistent in that each directive (condition, special handling, file location, etc.) is surrounded by curly braces. This not only makes reading it easier. It is also more straightforward to implement.
Secrets
The ability to handle sensitive information in an easy and safe way was a key value-add that WxConfig provided. Back in 2009/2010 (not sure when exactly this was introduced) the world was very different in that respect. Security was mostly handled by username/password, 2-factor-authentication was still a bit exotic, and secret management systems were far from mainstream. The probably best-known such system (HashiCorp Vault) was only introduced in 2015.
So at the time I had to come up with my own name for such data and it was Encrypted Values
. Today I do think that Secrets
is better, but the Encrypted Values
are still concise in my view.
Of course Secrets will also be available in WxConfig NG. Some details still need to be ironed out. But the general approach will be such that people “will feel at home”.
Licensing
WxConfig NG will be released as closed source with a commercial license. The alternative would have been some mixed open-/closed-source model. I have long thought about this and also debated it with several people. The bottom line is that for the time being to make it available as open source might do more harm than good.
Instead I have decided to make the Core Edition of WxConfig NG available at no cost. I think this is a cleaner approach with less risk for confusion. And at the end of the day customers will benefit in that a viable commercial model will ensure the long-term success of WxConfig NG.
In terms of functionality there will of course be some limitations to the Core Edition. But its features will be more than enough for many basic use-cases, where a dedicated budget would have been hard to argue for. And if customers can get value from the features that come with higher editions, paying a price that is a bargain relative to the savings on operational costs will be a win for both sides.
In closing
This is certainly not my longest blog post of all times ;-). But I wanted to get it out as soon as possible. If you want to learn more about configuration management in general, I recommend that go over the JahnTech blog. It contains a number of posts on the topic, some more technical, others more on the conceptual side.
Other than that I recommend that you register to be notified on updates about WxConfig NG. And of course I will continue to blog and post on LinkedIn.
If you want me to write about other aspects of this topic, please leave a comment or send an email to info@jahntech.com. The same applies if you want to talk how we at JahnTech can help you with your project.
© 2024, 2025 by JahnTech GmbH and/or Christoph Jahn. No unauthorized use or distribution permitted.
One Response