Live data from Hacker News

A configuration management system for computers that are pets, not cattle

github.com

81–90 of 93 posts

Re: A configuration management system for computers that are pets, not cattle

#81

> The idea behind Pets is that Configuration Management of individual hosts shouldn’t be harder than administering the system by hand. Just administer it by hand and back it up.

If people were good about doing it by hand and keeping track of what was done to the box, and ensuring that changes only happen via the documented pipeline, then we wouldn't have a cottage industry of configuration management tools. Maybe you are an outlier and are able to keep good notes, but I think its obvious that the general population is not diligent enough.

> changes only happen via the documented pipeline

Why do you have a "documented pipeline" for your laptop?

And I never bother keeping notes, I just back it up so that the whole thing is recoverable.

Re: A configuration management system for computers that are pets, not cattle

#82

Earlier quoted context omitted.

Also the deployments decay and break over time

Very true. I really wish Terraform would have attempted to solve automation on the scale of Ansible, or another organization would have committed to a replacement in Go or Rust. Unfortunately Ansible is still the best that we have currently.

There's https://github.com/purpleidea/mgmt, written in Go.

Re: A configuration management system for computers that are pets, not cattle

#83

Earlier quoted context omitted.

Very true. I really wish Terraform would have attempted to solve automation on the scale of Ansible, or another organization would have committed to a replacement in Go or Rust. Unfortunately Ansible is still the best that we have currently.

There's https://github.com/purpleidea/mgmt , written in Go.

Thanks.. I'll take another look. Last time I checked it out it wasn't really being maintained but maybe things have improved.

Re: A configuration management system for computers that are pets, not cattle

#84

Earlier quoted context omitted.

If people were good about doing it by hand and keeping track of what was done to the box, and ensuring that changes only happen via the documented pipeline, then we wouldn't have a cottage industry of configuration management tools. Maybe you are an outlier and are able to keep good notes, but I think its obvious that the general population is not diligent enough.

> changes only happen via the documented pipeline Why do you have a "documented pipeline" for your laptop? And I never bother keeping notes, I just back it up so that the whole thing is recoverable.

Well I use nix so its tracked in git and I can mostly rely on data-only backups then. It makes it so much easier to have multiple laptops (e.g. I have a "completely personal" and "contract work" laptop which have a lot of overlap but are not the same).

Re: A configuration management system for computers that are pets, not cattle

#85
post #45

Earlier quoted context omitted.

Pets, not cattle is the general mantra for configuration management systems. Personally I use Ansible for fleet management.

> Pets, not cattle is the general mantra for configuration management systems. Oh, I didn't realize it was in widespread use. But still. Someone thought of it, and it's great use of language.

Totally agree, it's the kind of sentence which immediately imparts of knowledge and gives you a lot to chew on.

Re: A configuration management system for computers that are pets, not cattle

#86

Earlier quoted context omitted.

> changes only happen via the documented pipeline Why do you have a "documented pipeline" for your laptop? And I never bother keeping notes, I just back it up so that the whole thing is recoverable.

Well I use nix so its tracked in git and I can mostly rely on data-only backups then. It makes it so much easier to have multiple laptops (e.g. I have a "completely personal" and "contract work" laptop which have a lot of overlap but are not the same).

> It makes it so much easier to have multiple laptops

You're getting away from having a pet then.

And once you consider that you might have a third laptop for something work related and be able to duplicate the base configuration then you no longer have pets and you just need configuration management.

That isn't even the common use case of most IT professionals, much less most laptop users.

Re: A configuration management system for computers that are pets, not cattle

#88
post #67

> The idea behind Pets is that Configuration Management of individual hosts shouldn’t be harder than administering the system by hand. Just administer it by hand and back it up.

but then you dont have visibility of what changes you have made. having config management improves visibility of how something is configured

I don't think I've done anything to my laptop that I can't google in a minute or two at the most. I don't really need that visibility. If I need to know something very specific, I could always drop it into a note to keep.

The visibility of the changes aren't a virtue in themselves, it is only when you do something with them that they become useful.

Spending hours documenting my build system for my pet laptop to save myself 60 seconds a few times a year isn't a good payoff for me. If the payoff is that you also learn configuration management along the way, then that's fine.

(I also don't quite understand how you're testing and validating your build system for your laptop without periodically wiping it and reprovisioning it -- and once you start considering things like that I definitely don't have enough time for all that)

Re: A configuration management system for computers that are pets, not cattle

#89

give me this for mac os please. my home-rolled dotfiles repo is ok, but id really love some config management system that’s not ansible that i could use to bootstrap my workstations. i used to write a lot of chef and generally like ruby, but i can’t make heads or tails of whatever progress chef is. mostly seems like chef as an oss tool is dead. anybody got something else they like to configure their mac os systems wi…

I use chezmoi + homebrew. 1) Install homebrew (one-liner, easily googled) 2) Use brew to install chezmoi 3) chezmoi pulls my dotfiles, including my Brewfile 4) Say 'brew bundle' and 90-95% of the software I need is installed Then I need to set up settings sync in VSCode and Alfred and I'm pretty much done. What few things are missing I can install manually, or update the Brewfile to match.

yeah, my home rolled stuff does the same with the Brewfile. chezmoi looks great though—i have a bit of cross-platform (mac os and linux) stuff happening too, so this looks really great to make those bits better. thanks!

Re: A configuration management system for computers that are pets, not cattle

#90
I use salt stack, and with all its warts I think it works just fine for environments with "pets". The idea is of course that in theory, you should be able to re-deploy any system as it's nothing but a collection of "states", but it works just as well for patching, maintaining and upgrading existing systems that never move.

I don't have much experience with Ansible or the other popular configuration management alternatives, but I don't imagine they are much different in this respect.

Post reply on HN