A CLI to generate EKS cluster definitions in Terraform.
Based on a few inputs, cookiecluster
will guide you through the process of configuring a Terraform based EKS cluster definition that fits your requirements using the appropriate values. Once you have provided all the necessary inputs, cookiecluster
will generate an eks.tf
file containing the cluster definition.
It does not require any AWS credentials; it is merely a glorified templating engine for EKS clusters defined in Terraform. The snapshot tests demonstrate the various different configurations generated by cookiecluster
.
Archives of pre-compiled binaries for cookiecluster
are available for Windows, macOS and Linux.
brew install clowdhaus/taps/cookiecluster
cargo install cookiecluster
cookiecluster
is written in Rust, so you'll need to grab a Rust installation in order to compile it.
cookiecluster
compiles with Rust 1.79.0 (stable) or newer. In general, cookiecluster
tracks the latest stable release of the Rust compiler.
To build cookiecluster
:
git clone https://github.com/clowdhaus/cookiecluster
cd cookiecluster
cargo build --release
./target/release/cookiecluster --version
0.7.0
cookiecluster
uses Rust stable for production builds, but nightly for local development for formatting and linting. It is not a requirement to use nightly, but if running fmt
you may see a few warnings on certain features only being available on nightly.
Build the project to pull down dependencies and ensure everything is setup properly:
cargo build
To format the codebase:
If using nightly to use features defined in rustfmt.toml, run the following:
cargo +nightly fmt --all
If using stable, run the following:
cargo fmt --all
To execute lint checks:
cargo clippy --all-targets --all-features
To run cookiecluster
locally for development:
cargo run
To execute the tests provided, run the following from the project root directory:
cargo test --all