Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Containers
  3. dgr

dgr

Apache-2.0Gov95

A command-line tool for building and configuring App Container Images (ACI) and pods with runtime templating and convention over configuration.

GitHubGitHub
248 stars21 forks0 contributors

What is dgr?

dgr is a command-line utility for building and configuring App Container Images (ACI) and pods. It follows the App Container (appc) specification and uses convention over configuration to create generic images that can be customized at runtime. The tool solves the problem of environment-specific container configurations by separating build-time and runtime concerns.

Target Audience

DevOps engineers and platform teams managing containerized applications with rkt, especially those needing runtime configuration and templating for multi-environment deployments.

Value Proposition

Developers choose dgr for its strong runtime configuration capabilities, support for the App Container spec, and ability to build generic images that adapt to different environments without duplication. Its integrated templating and script runlevels provide flexibility not found in simpler build tools.

Overview

Container build and runtime tool

Use Cases

Best For

  • Building App Container Images (ACI) for rkt runtime
  • Configuring containerized applications at runtime for different environments
  • Managing container dependencies and overlays in multi-layer deployments
  • Creating reusable container images with templated configuration files
  • Integrating container builds into CI/CD pipelines with testing
  • Orchestrating pods as a unit for multi-service applications

Not Ideal For

  • Projects exclusively using Docker and not interested in adopting rkt or the App Container spec
  • Teams needing immediate Open Container Initiative (OCI) compliance without waiting for future support
  • Simple container builds where runtime templating and script runlevels add unnecessary overhead
  • Environments without root access or Linux kernel support for overlay filesystem

Pros & Cons

Pros

Runtime Templating Power

Uses Go templating with built-in functions to dynamically generate configuration files at container start, enabling the same image to adapt to different environments without rebuilds, as highlighted in the templates section.

Flexible Script Runlevels

Executes scripts at multiple stages like build, prestart, and inherit, providing fine-grained control over container setup and customization, detailed in the runlevels documentation.

Integrated Testing Framework

Includes a built-in test system that can be extended to support various testing frameworks, allowing automated ACI testing within the build process, as mentioned in the commands and features.

Pod as a Unit

Builds and manages pods as cohesive groups of ACIs, enabling orchestration of multi-service applications during both build and runtime, which is a key feature outlined in the pod support section.

Cons

Niche Runtime Dependency

Heavily reliant on rkt and the App Container spec, which have smaller adoption compared to Docker, limiting community support, tooling, and future compatibility, as noted in the comparison and requirements.

Root and Kernel Requirements

Requires root privileges to run rkt and a Linux kernel >= 3.18 with overlay filesystem, making it unsuitable for restricted, non-Linux, or legacy environments, as specified in the requirements section.

Incomplete Documentation

Some parts of the README, such as detailed pod building instructions, are marked as TODO, indicating gaps that could hinder learning and implementation for new users.

Frequently Asked Questions

Quick Stats

Stars248
Forks21
Contributors0
Open Issues38
Last commit5 years ago
CreatedSince 2015

Tags

#devops#container-orchestration#continuous-integration#runtime-configuration#container-build#containers#rkt#templating#self-hosted#pod#builder

Built With

Y
YAML
G
Go

Included in

Containers2.0k
Auto-fetched 23 hours ago

Related Projects

divedive

A tool for exploring each layer in a docker image

Stars54,055
Forks1,994
Last commit5 months ago
kanikokaniko

Build Container Images In Kubernetes

Stars15,765
Forks1,535
Last commit1 year ago
skopeoskopeo

Work with remote images registries - retrieving information, images, signing content

Stars10,925
Forks928
Last commit5 days ago
buildahbuildah

A tool that facilitates building OCI images.

Stars8,811
Forks898
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub