No description
  • Rust 99.5%
  • HCL 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
ansgarz 0b0fdc8d5e
All checks were successful
Rust Build and Test / build (push) Successful in 1m36s
update README.md
2026-08-21 19:03:34 +02:00
.forgejo/workflows add release creation 2026-07-19 18:07:40 +02:00
.vscode start with target_dir impl 2026-05-21 17:53:24 +02:00
doc update CLI-logic.md, README.md & test files 2026-08-08 18:50:03 +02:00
src add auto-completion 2026-08-21 18:35:13 +02:00
tests update CLI-logic.md, README.md & test files 2026-08-08 18:50:03 +02:00
.gitignore remove outdated 2026-06-26 13:05:04 +02:00
Cargo.lock update Cargo.lock 2026-08-21 18:36:43 +02:00
Cargo.toml bump version to: 0.1.7-SNAPSHOT 2026-08-21 18:36:10 +02:00
publish.yaml add release creation 2026-07-19 18:07:40 +02:00
README.md update README.md 2026-08-21 19:03:34 +02:00

dda-build-rust

dda-build-rust is a devops orchestration tool.

Try out

Build binary

rustup toolchain install
rustup default

cargo build

Run demo

Prerequisite: terragrunt etc is installed

The following commands runs a demo (without remote impact):

cd tests
../target/debug/dbr plan mymodule
../target/debug/dbr apply mymodule    # press enter on question
../target/debug/dbr destroy mymodule  # press enter on question

Install

cargo install --path . installs the binary under ~/.cargo/bin/

Alternatively, build with cargo build --release and copy the binary to your usual binary folder (e.g. /usr/local/bin).

CLI

General usage:

Usage: dbr [OPTIONS] <COMMAND>

Commands:
  plan     
  apply    
  destroy  
  help     Print this message or the help of the given subcommand(s)

Options:
  -b, --build-config-path <BUILD_CONFIG_PATH>
          Filename (and optional path) of build-config [default: ""]
  -d, --dry-run-build
          Prints commands without execution
  -h, --help
          Print help
  -V, --version
          Print version

Usage of terragrunt commands (e.g. command plan):

Usage: dbr plan [OPTIONS] <MODULE_PATH>

Arguments:
  <MODULE_PATH>  

Options:
  -b, --build-config-path <BUILD_CONFIG_PATH>
          Filename (and optional path) of build-config [default: ""]
  -d, --dry-run-build
          Prints commands without execution
  -h, --help
          Print help

Details:

  • <MODULE_PATH>: directory, where the terragrunt source files (*.tf) and potentially other source files are located
  • -b <BUILD_CONFIG_PATH> (optional) name of the configuration file (with or without path) which contains additional configuration parameters, see below.

Format of build-config-file

project_root_path: String  # optional; if empty, then "/tmp" is used (???)
build_dir_name: String     # optional; if empty, then "target" is used

These fields are used to calculate the temporary directory: [project_root_path]/[build_dir_name]

Example:

project_root_path: “myproject/subfolder”    
build_dir_name: “build”

will result in temporary directory: myproject/subfolder/build

Auto-completion

If the dbr binary is in your PATH (such as in /usr/local/bin), you can enable Bash auto-completion by running:

echo 'command -v dbr &>/dev/null && source <(dbr completions)' > ~/.bashrc.d/dda-build-rust.sh

This installs auto-completion for the current user. It dynamically loads the completions for each new shell session. (It assumes that your .bashrc file automatically loads scripts from the ~/.bashrc.d/ folder.).

Alternatively, you can enable it only for your current terminal session by running:

source <(dbr completions)