Skip to content

kytta/bumerge

Repository files navigation

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 .bu files 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  # or pip, or conda, or pipsi, or ...

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