Should there be "templates/" and "files/" directories under the "profile" organizational module ?

asked 2016-11-30 11:22:51 -0500

cedef gravatar image

I've read quite a lot of documentation about roles and profiles and I still can't figure out if I should create, for example, a profile solr with the following structure:

    dist/
├── profile
│   ├── manifests
│   │   ├── solr.pp
│   ├── files
│   │   ├── solr.service

Although declaring a file resource to deploy 'solr.service' in '/etc/systemd/system/' works like a charm, I feel like having files/ and templates/ directories in the profile module will become soon a big messy place: profile would become one big module that deploys tons of different config files for douzens of different services...

Should I systematically create a custom "solr" module and then include ::solr from the profile ? Problem I encounter with this solution: I often use a solr module from the forge and would like to add just a small piece of config on the top of it... Then I got :

  • dist/profile/manifests/solr.pp (my site specific class that declare class { "solr" :} with parameters)
  • modules/solr/manifests/init.pp (module from the forge)
  • site/solr_misc/manifests/init.pp (my custom module with a single class that will only deploy the systemd solr.service file)

What would be the "roles & profiles" best practice ?

edit retag flag offensive close merge delete