Originally, a utility script to keep configuration files in sync for Puppet modules, ModuleSync allows you to keep files in sync across your many repositories on your Git servers. Pulls your repositories, applies and commits changes based on the file templates you prepare, and pushes the changes back to each repo. Support for creating GitHub PRs and GitLab MRs (since v2.0.0) in an automated fashion is included.
This Docker image runs ModuleSync with an unprivileged msync user in /app.
See Concierge if you want to sync multiple configurations from a single configuration repository.
In a GitLab CI configuration file:
image: ghcr.io/vshn/modulesync
script:
- msync updateWith Docker on the command line:
$ docker run --rm -v "$PWD":/app ghcr.io/vshn/modulesync msync update- Issue tracker (GitHub)
To add a new ModuleSync version tag:
- Renovate should automatically create a Pull Request.
- After merging it, make sure you pulled the latest commits, and run
./tag.shto create an appropriate Git Tag. git push --follow-tagsto push the tag. A new docker image is built automatically.