- Rust 99.5%
- HCL 0.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| .vscode | ||
| doc | ||
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| publish.yaml | ||
| README.md | ||
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)