In the last few days, I’ve added configurable retry logic into Jet, added a fairly flexible “with/items” looping construct, added —limit-groups and —limit-hosts to constrain playbooks to a subset of the machines they would normally target, and added check (dry-run) modes. Things feel like they are moving really fast, as I keep comparing them to prior implementation efforts and how they didn’t all happen exactly one day right after another. At launch time, even for a tech preview, Jet is going to be a very nearly full-featured program minus some obvious module additions that we’ll want to have. Because of the Rust compiler, confidence in the code’s quality remains extremely high.
Feature-wise, all of the new stuff is documented on jetporch.com right now and there are examples for basically all of this. A few more examples have also been added to the example repo. A bit more has also been added to some of the development topics, which will make much more sense once there is code to skim!
Chat was very productive, with a lot of work going on to make more of our inventory scripts functional — Jet will have full ability to address the most popular clouds at launch, and probably many of these slightly less used inventory scripts are fully functional as well. We’ve started to remove dependencies on legacy ansible content from the scripts, and the scripts now require Python 3. Most of the code removed dealt with python 2.X support on the control machine. The question came up if we will accept new inventory script additions in Rust and this is a definite yes, but there is also no need to port the Python ones.