Merge Butane configurations
- Python 100%
|
pre-commit-ci[bot]
f4283ddbc5
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> |
||
|---|---|---|
| .github | Don't allow prereleases in test | |
| LICENSES | Relicense to BSD-3-Clause | |
| tests | Relicense to BSD-3-Clause | |
| .gitignore | Relicense to BSD-3-Clause | |
| .pre-commit-config.yaml | [pre-commit.ci] pre-commit autoupdate ( #45 ) | |
| bumerge.py | Release 0.2.1 | |
| CHANGELOG.md | Release 0.2.1 | |
| LICENSE | Relicense to BSD-3-Clause | |
| pyproject.toml | Handroll coverage | |
| README.md | Add Homebrew install to README | |
bumerge
Merge Butane configurations
This is a simple Python script that will merge Butane configurations from multiple files into one. Makes your job easier when you manage servers.
- merges multiple
.bufiles into one - inlines external files into the configs
- checks source configs for errors
bumerge currently supports Fedora CoreOS Specification v1.5.0. Support for other distributions is planned, but not prioritized.
Install
pipx install bumerge
Alternatively, with Homebrew:
brew install kytta/python/bumerge
Use
Just pass the list of the files to the app
bumerge root.bu modules/time.bu modules/user.bu
Important: bumerge will perform a deep merge. If there are key conflicts, the latter file takes precedence.
Command-line arguments
usage: bumerge [-h] [--version] [--output FILE] [--variant {fcos}]
[--spec-version {1.5.0}]
FILE [FILE ...]
positional arguments:
FILE config files to merge
options:
-h, --help show this help message and exit
--version, -V show program's version number and exit
--output FILE, -o FILE output file. Outputs to stdout by default
--variant {fcos} Butane specification variant
--spec-version {1.5.0} Butane specification version
Licence
© 2023 Nikita Karamov
Licensed under the BSD 3-Clause "New" or "Revised" License.
This README can also be licensed under the Creative Commons Attribution 4.0 International
This project is hosted on GitHub: https://github.com/kytta/bumerge.git