Skip to content

v3.0.0

Choose a tag to compare

@kuya1284 kuya1284 released this 02 Aug 04:45
· 15 commits to main since this release

Welcome to Jailmaker v3.0.0

Jailmaker still lives on!

This journey continues. This release comes with several new enhancements that y'all will hopefully find useful. I spent the last couple of weeks refactoring a lot of code, migrating the source from being functional to object oriented. But that's not all. Support for LXC cloud variant images and cloud-init was implemented to make it possible to create config templates containing a cloud-config. This is just another approach to help build a reusable config template to automatically provision a Linux Jail using something that you may already be familiar with. While using the initial_setup was more than enough for most people to create a basic Jail, adding a new cloud_init config option would provide more options for those needing more.

I hope you're thrilled reading this as I am writing it. I just wanted to give back to the community and hopefully there are people out there still using Jailmaker. Whether or not that's the case, I'll continue making improvements whenever I can to this useful tool. Now onto the list of what's new...

What's Changed

  • Refactored the source code to be more object oriented
  • Wrote some new code to handle all the TODO tasks mentioned in the source
  • Improved the handling of indentations in the config file to make them more consistent
  • jlmkr.py images now includes a new --cloud flag to list LXC cloud-variant images
  • jlmkr.py create also includes a new --cloud flag so that the LXC cloud-variant images will appear in an interactive session
  • A new --timeout flag was added to jlmkr.py create to control the length of time to wait before shutting down a new Jail for taking too long to provision and start (system default was 90 seconds)
  • jlmkr.py edit will display the message to restart the Jail only when changes were actually made
  • jlmkr.py shell now requires the Jail name to be specified
  • Two new values were added to the jlmkr.py nvidia command's --action flag to help with checking the status and version:
    • --status: Displays the NVIDIA Proprietary driver installation status, persistence mode status, and version
    • --version: Displays verbose details about the current NVIDIA driver that's installed
  • jlmkr.py remove will now display an appropriate error message when attempting to remove a Jail because the dataset is busy or in use
  • Added a new cloud_init config option that could be used with or instead of initial_setup to provision a newly created Jail
  • A new initial_setup_timeout to control the start timeout as described for the new --timeout flag
  • Improved the handling of ANSI colors for messages displayed on the console
  • Added colored styles to various messages and prompts
  • Improved error handling in various areas
  • Improved validation so that users will be alerted when executing a command for a Jail that does not exist
  • When selecting the Distro and Release in an interactive session, an alert would appear immediately if the selection entered was invalid, so users won't have to wait until the end of the session to be notified
  • ARCH is now the only valid value to Release when applicable for certain Distros
  • Added new cloud-init config templates in the templates directory
  • Updated the docs with new info

Full Changelog: v2.3.1...v3.0.0