yes, but when I looked at bastille it required the setup scripts to be written in a short-hand form. I wanted to utilize all the existing setup scripts out in the wild already. Like the iocage ones from iX, yours, etc… But, yes, I don’t expect mine to used mainstream (I doubt anyone besides me has even tried it) and I know my code doesn’t stack up to professionally written and/or sponsored jail managers like bastille but, for my first venture into shell scripting, I really tried to apply professional coding practices to the scripts (created single use functions with proper headers) and added a ton of comments in my code in the hopes someone smart will actually comment.
My feeling is that jails will become even more trivial to setup for the end user and there will be a bigger push towards packaged jails developed using automated configuration/packaging/deployment of “jails” with things like tarfs
. I mean, I think in the future people can set up a jail and package up the userland for deployment so my concept of keeping a directory for each configuration should help in the automation and setup aspects. However, most of these jail managers store the jail.confg file in the jail’s container location instead of the system default of /usr/local/jail.conf.d
. This will hinder the whole idea of sharing jail userlands.
So, for example: my script will ignore the “userland extraction” process if the userland already exists and just create the jail.conf file. This will hopefully allow an end user to download a tared-up jail, mount it–or extract it–and just create a jail.conf file. …sharing is caring.
But yes, you are right. My script will never get tried and people will stick to flashy, more known, tools like Bastille, IoCAGE, CBSD, etc.
EDIT:
I guess that post was a bit gibberishy. I think people are focusing on the wrong aspect of what a “containers” should be and I’m tired of redoing every six months (jails, docker, k8s, k3s). The fundamental aspect of a “jailed service (like: plex)” should contain all the things it needs to run (aka: a userland which is only dependent on the host’s kernel) and the configuration (IP address, name, mount points, etc) should be kept separate. I’d love to just tar up a jail, share that tarfile and you just create a jail.conf file containing the mount points specific to your system/needs. Let other people who are actually smart talk/work on setting up fancy container specifications, schemas, deployment methods, and whatnot I just want to download a “14.1 plex” tarfile, extract it, give it the name, mount points, and IP I want so I can do something else besides sit in front of a damn computer.