nixers
Most automaton-friendly OS/Distro? - Printable Version
+- nixers (https://nixers.net)
+-- Forum: Operating Systems & Administration (https://nixers.net/Forum-Operating-Systems-Administration)
+--- Forum: Other *nix-like OSes & POSIX related (https://nixers.net/Forum-Other-nix-like-OSes-POSIX-related)
+--- Thread: Most automaton-friendly OS/Distro? (/Thread-Most-automaton-friendly-OS-Distro)


Most automaton-friendly OS/Distro? - freem - 11-05-2021

Hello.

I wanted to know, what is the most automaton-friendly by default system you know, and why is it, for you, the best on that?

What I mean is, take an OS, install it without changing more than strictly required to get it working.
It could already be ready to automate a lot, for example already running cfengine, chef, puppet, or alike and have it's configuration already done in templates, or it should be damn easy to get it to that point, I don't know.

If you know such a system, which one would it be?


RE: Most automaton-friendly OS/Distro? - TheAnachron - 11-05-2021

There are many distros which have automated install scripts laying around publicly.

Not sure what exactly you're planning to do? Do you want to automate VM creation and booting? Containers? Or just install some distro on multiple devices you own without having to repeat the setup over and over?


RE: Most automaton-friendly OS/Distro? - freem - 11-05-2021

Automating a system is not only installing it (this is relatively easy to do, I have my own scripting to generate bunches of custom debian, which can work either with ISO files, in-place or through PXE). What I meant was a system built around the idea of being automated by default. I know it's rather vague, but don't know how to make it clearer.


RE: Most automaton-friendly OS/Distro? - stratex - 11-05-2021

Guix System or Nix OS, you write your config and everything else is automated.


RE: Most automaton-friendly OS/Distro? - movq - 12-05-2021

Depends on how you look at it.

Systems that don’t try to hold your hand all the time are “automation friendly”, I think. With those systems, you can install a package (meaning: download a tarball and extract it, nothing else) and then you can push your config to the system, start the daemon, done. OpenBSD, Arch and Void (I think) are good examples of that. They are in contrast to systems which do things like creating default configuration files when installing a package – because that means you have to clean up those default configs before you can push your own configs.

So, essentially, systems that are plain stupid and don’t really do anything on their own are good for automation. At least if “automation” means using something like Ansible or BundleWrap.

Or you can look at it from a different angle: Maybe the system should do as much as possible on its own. Basically, it would have the config management system builtin. So, dunno, maybe boot the system with a kernel parameter like “dhcp=true config=https://example.com/webserver-1.json”, then it asks for an IP via DHCP, fetches the config (which would be something like a short abstract description of the system as JSON/YAML/whatever), and configures itself. That would mean you could install the exact same OS image everywhere, just change the kernel parameters a bit.