ema / pets

A configuration management system for Pets, not Cattle
MIT License
463 stars 9 forks source link

A bit more examples #7

Open rogierlommers opened 2 years ago

rogierlommers commented 2 years ago

Is it possible to add more examples? For example, I would like to see if PETS can replace my Ansible stuff on my home server. I have runbooks for this:

ema commented 2 years ago

Hi!

Thanks for your interest in the project.

* Install packages, set config

That is what all examples under https://github.com/ema/pets/tree/master/sample_pet do. :-)

* Install docker, put docker-compose files in place

I'm not familiar with docker-compose, but I imagine something like this is what you're looking for:

# pets: destfile=/etc/docker-compose/whatever, owner=root, group=root, mode=0644
# pets: package=docker.io

[docker compose config here]
* Add stuff to crontab

See c92d49e58ea48.

* Create symlinks to my dotfiles

Symlinks are not supported yet.

* Install and config ssmtp

See fd749109.

At the end of the day, pets focuses on the following:

The first two things are done with the destfile directive, while packages are installed with the package directive. pre and post can be used for running commands, see https://github.com/ema/pets/blob/master/sample_pet/ssh/sshd_config as an example.

Please feel free to contribute any additional example that you think may be of interest.