|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: Updating Files Managed With ModuleSync |
| 4 | +date: 2021-06-30 |
| 5 | +summary: How to proceed to update files managed by ModuleSync in Vox Pupuli templates. |
| 6 | +--- |
| 7 | + |
| 8 | +## What is ModuleSync? |
| 9 | + |
| 10 | +[ModuleSync] is used at Vox Pupuli to syncronise common files across the various modules we manage. It helps us to update all of the modules in a consistent way. |
| 11 | + |
| 12 | +## Should I update files managed by ModuleSync? |
| 13 | + |
| 14 | +Generaly speaking, there is a better way around. |
| 15 | + |
| 16 | +If your modifications are specific to a particular use-case / a single module, it is generaly better to find another way. If you are unsure about where to look, [feel free to reach to us](/docs/about_vox_pupuli/#where-you-can-find-us). But if your changes makse sense to *all* modules (or maybe juste *most* modules), read on to submit your changes to the right place. |
| 17 | + |
| 18 | +## How do I update a file managed by ModuleSync? |
| 19 | + |
| 20 | +The configuration shared between our modules is setup in the [modulesync_config repository]. |
| 21 | + |
| 22 | +At the root of this repository, is a directory named `moduleroot` which contains all the templates used to generate the files ModuleSync manages. Fill-in a PR against the [modulesync_config repository] to make changes to files managed by ModuleSync. |
| 23 | + |
| 24 | +If your changes do not apply to *all* modules managed by Vox Pupuli, add a toggle key with a sane default in the `config_defaults.yml` file at the root of the repository and use `@config['your_custom_key']` to tune the templates expansion. Then, in the modules that should use this feature, update the setting accordingly in the `.sync.yml` file at the root of the module. |
| 25 | + |
| 26 | +For a complete example, see this commit to the [modulesync_config repository] which manage a few files and introduce 3 tunables: |
| 27 | + |
| 28 | +* https://github.com/voxpupuli/modulesync_config/commit/758366479d9d65a7cf14b2f5f757eff154bfbd8b |
| 29 | + |
| 30 | +After this commit got merged, the tunables where updated in the appropriate repository, for example: |
| 31 | + |
| 32 | +* https://github.com/voxpupuli/puppet-jenkins/commit/e25d6bf3fe047659f3375fe069c151cb5171a7ce#diff-b1bbc4d50c1c098ca18224cbc9519ad646dcc5e3dd912edf55610ab5bba3566e |
| 33 | +* https://github.com/voxpupuli/puppet-zabbix/commit/2d2fd20b3ceb036cd8a44747bc9c537e27022b82#diff-b1bbc4d50c1c098ca18224cbc9519ad646dcc5e3dd912edf55610ab5bba3566e |
| 34 | + |
| 35 | +[ModuleSync]: https://github.com/voxpupuli/modulesync |
| 36 | +[modulesync_config repository]: https://github.com/voxpupuli/modulesync_config |
0 commit comments