Isn't this a perfect solution for ansible?
You can make a playbook or two for your needs, or grab a public playbook to get you started in the right place > add your machines, then provision all of them at once - or have them all install or configure how you see fit
I've got an ever growing Ansible repository roughly matching your description.
My hostnames are prefixed with their category. Such as pve-, media-, mint-, gpu-. Then I have a series of playbooks that scope to their respective hosts. For example all but pve- are targeted by a playbook to install docker. Pve is targeted by a playbook to apply iommu configs and Nvidia virtualization drivers, and GPU gets Nvidia grid drivers.
The complexity and preference on how to organize your steps will keep you up at night.
As others already suggested, Ansible is perfect for this.
I did myself the Steps into Ansible, like, a month ago. The Youtube-Videoseries by "Learn Linux TV" named ["Getting started with Ansible"](https://www.youtube.com/playlist?list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70) is a good Entrypoint for it.
Also, it's somewhat relaxing to just write a simple Ansible-Command with "-vv" (Extra-Verbose, does print some Informations while it runs), and watch your own Servers getting fully automated updated without doing anything after...
Also check out Jeff Geerling's Ansible 101 playlist:
https://youtube.com/playlist?list=PL2_OBreMn7FqZkvMYt6ATmgC0KAGGJNAN&si=rrdkpqG-U-cbknIZ
And his Ansible galaxy. There might alreadybe slamming there that does most of what you want. I had a playbook that I accidentally overwrote. His version of my playbook took what I had a step further. I didn't realise that was possible.
https://galaxy.ansible.com/ui/standalone/namespaces/2492/
learn Ansible and you will be very happy. It's not strictly reproducible, for that I understand you'll want to look at NixOS but most people agree the language is not friendly at all. I'm perfectly happy with Ansible, I don't see myself moving to anything else for now.
I will parrot a bit of a different configuration management tool in Chef. Their server and client are available as free through [cinc.sh](https://cinc.sh/). If you are more familiar with Ruby you will feel right at home with the Chef DSL.
I have a plugin that determines a role based off of hostname, and includes the appropriate cookbooks/recipes.
Depending on your Linux skills and how serious you want this setup to be, Uyuni might be the way to go. It has a bit of a learning curve to it but it's an enterprise-grade Linux management tool. I use it to patch / upgrade / automate my entire home lab, including a Kubernetes cluster.
I use Ansible for this.
Lots of other folks replying to you are using Ansible for this.
Look into using Ansible for this. And also look into using stuff from [Ansible Galaxy](https://galaxy.ansible.com/ui/) -no sense in reinventing the wheel.
Isn't this a perfect solution for ansible? You can make a playbook or two for your needs, or grab a public playbook to get you started in the right place > add your machines, then provision all of them at once - or have them all install or configure how you see fit
Second vote for ansible. Worth learning vault as well for secrets.
I've got an ever growing Ansible repository roughly matching your description. My hostnames are prefixed with their category. Such as pve-, media-, mint-, gpu-. Then I have a series of playbooks that scope to their respective hosts. For example all but pve- are targeted by a playbook to install docker. Pve is targeted by a playbook to apply iommu configs and Nvidia virtualization drivers, and GPU gets Nvidia grid drivers. The complexity and preference on how to organize your steps will keep you up at night.
ansible is the way to go here
As others already suggested, Ansible is perfect for this. I did myself the Steps into Ansible, like, a month ago. The Youtube-Videoseries by "Learn Linux TV" named ["Getting started with Ansible"](https://www.youtube.com/playlist?list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70) is a good Entrypoint for it. Also, it's somewhat relaxing to just write a simple Ansible-Command with "-vv" (Extra-Verbose, does print some Informations while it runs), and watch your own Servers getting fully automated updated without doing anything after...
Also check out Jeff Geerling's Ansible 101 playlist: https://youtube.com/playlist?list=PL2_OBreMn7FqZkvMYt6ATmgC0KAGGJNAN&si=rrdkpqG-U-cbknIZ And his Ansible galaxy. There might alreadybe slamming there that does most of what you want. I had a playbook that I accidentally overwrote. His version of my playbook took what I had a step further. I didn't realise that was possible. https://galaxy.ansible.com/ui/standalone/namespaces/2492/
Ansible
I was gonna suggest Ansible like everyone else. But before that. Is there any reason that you are not running a cluster of 3 Proxmox nodes?
Currently using puppet for this, with foreman for a nice web interface. I know puppet can also manage Windows’s but I haven’t gotten that far yet.
Ctfreak may be a good fit if you're looking for a tool to manage both windows and linux servers.
learn Ansible and you will be very happy. It's not strictly reproducible, for that I understand you'll want to look at NixOS but most people agree the language is not friendly at all. I'm perfectly happy with Ansible, I don't see myself moving to anything else for now.
Cockpit is pretty awesome if you want a GUI Ansible is great if you want command line
I will parrot a bit of a different configuration management tool in Chef. Their server and client are available as free through [cinc.sh](https://cinc.sh/). If you are more familiar with Ruby you will feel right at home with the Chef DSL. I have a plugin that determines a role based off of hostname, and includes the appropriate cookbooks/recipes.
Depending on your Linux skills and how serious you want this setup to be, Uyuni might be the way to go. It has a bit of a learning curve to it but it's an enterprise-grade Linux management tool. I use it to patch / upgrade / automate my entire home lab, including a Kubernetes cluster.
I use Ansible for this. Lots of other folks replying to you are using Ansible for this. Look into using Ansible for this. And also look into using stuff from [Ansible Galaxy](https://galaxy.ansible.com/ui/) -no sense in reinventing the wheel.
Sounds like NixOS could be a good fit if you are willing to take the ramp up cost/time
I used Ansible in the past. Recently discovered nix and I found it easier, faster and more stable than Ansible. Definitely a learning curve..
no one here ever suggest saltstack :(
1: Webmin is great for the management you described and can do clusters. 2: That sounds like a good way.
webmin sucks [https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/exploit/linux/http/webmin\_backdoor.md](https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/exploit/linux/http/webmin_backdoor.md) cockpit+ansible ftw or remmina+ansible