coreos/butane

Butane translates human-readable Butane Configs into machine-readable Ignition Configs.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 39 minutes ago
Added to GitGenius on June 10th, 2024
Created on April 26th, 2019
Open Issues & Pull Requests: 14 (+0)
Number of forks: 92
Total Stargazers: 332 (+0)
Total Subscribers: 10 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 23.7 hours
Mean response time: 178.3 days
90th percentile: 812.9 days
Tracked items: 98

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 6% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • jira (82)
  • enhancement (42)
  • triage/migrate (28)
  • bug (19)
  • good first issue (16)
  • triage/close (13)
  • sugar (9)
  • validation (5)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Butane is a configuration translation tool that converts human-readable Butane Configs into machine-readable Ignition Configs. Originally developed as the Fedora CoreOS Config Transpiler (FCCT), the project has evolved into a critical component of the CoreOS infrastructure ecosystem. Written in Go, Butane serves as a bridge between system administrators who write declarative configuration specifications and the low-level Ignition format that CoreOS systems consume during provisioning and initialization.

The primary purpose of Butane is to simplify the process of configuring CoreOS systems by allowing users to write configurations in a more accessible YAML-based format rather than directly authoring Ignition JSON. This abstraction layer makes infrastructure-as-code practices more approachable for operators managing containerized and Kubernetes environments. The tool supports a comprehensive range of configuration options documented in its specification files, enabling users to define system settings, user accounts, file systems, and other deployment parameters through a declarative syntax.

Butane can be used both as a command-line tool and as a library, providing flexibility for different integration scenarios. The project includes development documentation that explains how to use Butane programmatically, how to build the released binaries, and how to contribute to the codebase. This dual-use approach has made it valuable for both direct system configuration and for integration into larger automation frameworks.

The repository shows active maintenance and community engagement.

This interconnection reflects Butane's role within a larger suite of tools for managing containerized infrastructure.

Butane's classification spans multiple domains including cluster setup, OS installation, configuration management, Kubernetes integration, and deployment automation. The tool is particularly relevant for Red Hat Atomic Host environments and integrates with cloud-init patterns, making it applicable across various Linux deployment scenarios. Its support for declarative YAML syntax aligns with modern infrastructure-as-code practices, while its conversion capability to Ignition format ensures compatibility with CoreOS and Fedora CoreOS systems that rely on Ignition for system initialization.

The project's documentation includes getting started guides and comprehensive configuration specifications, supporting both new users and advanced operators. By abstracting away the complexity of Ignition's JSON format, Butane enables more maintainable and readable infrastructure definitions, particularly valuable in environments where configuration management and reproducibility are critical concerns.