The build.env file
Override defaults via
build.env file ¶
By utilizing the
build.env capability, you can
easily change some default behaviors of the CLI. In the binbash Leverage™ Ref
Architecture you will find the following
build.env example as an example.
This allows you to specify several configurations for the CLI, such as the
Leverage-Toolbox-Image you want to
use, ensuring that you are using the latest version or a specific version that you prefer based on your compatibility
This helps you avoid compatibility issues and ensures that your infrastructure deployments go smoothly.
build.env file format ¶
build.env file format and supported parameters are the following:
# Project settings PROJECT=bb # General MFA_ENABLED=false # Terraform TERRAFORM_IMAGE_TAG=1.2.7-0.1.4
Customizing or extending the leverage-toolbox docker image
You can locally copy and edit the Dockerfile
in order to rebuild it based on your needs, eg for a
Dockerfile placed in the current working directory:
$ docker build -t binbash/leverage-toolbox:1.2.7-0.1.4 --build-arg TERRAFORM_VERSION='1.2.7' .
In case you like this changes to be permanent please consider
creating and submitting a PR.
Working principle & multiple
build.env precedence ¶
leverage CLI has an environmental variable loading utility that will load all
.env files with the given name in
the current directory an all of its parents up to the repository root directory, and store them in a dictionary.
Files are traversed from parent to child as to allow values in deeper directories to override possible
previously existing values.
Consider all files must bear the same name, which in our case defaults to
"build.env". So you can have multiple
build.env files that will be processed by the
leverage CLI in the context of a specific layer of a
Reference Architecture project.
For example the /le-tf-infra-aws/apps-devstg/us-east-1/k8s-kind/k8s-resources/build.env file.