Skip to main content

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

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

Metadata

Release files for bumerge 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bumerge 0.2.1
File Size Uploaded
bumerge-0.2.1.tar.gz 14.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bumerge 0.2.1
File Interpreter ABI Platform
bumerge-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.5 kB

Release files / bumerge-0.2.1.tar.gz

Download URL bumerge-0.2.1.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8e5276fcb3eb8d1e146d613b4739dd9f664ff72a694b1a3d9b666c91b3c921b6
BLAKE2b-256 checksum
How to use checksums
aa6a1cbadab3d1b5e4147bce5c8c14abb3aef7f114cf21fe93fd99f7ea326a9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.6

Release files / bumerge-0.2.1-py3-none-any.whl

Download URL bumerge-0.2.1-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03b767285d3090a2c8e7b43686897a889a54a70bb00a0fb8f269e3f73048458f
BLAKE2b-256 checksum
How to use checksums
71503fed90d28a6ee6b9a519efbc6b445276f5f363ac561cccc519793fbc3116
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page