Skip to content

Creating a BigConfig project

BigConfig requires Clojure, Babashka, and deps-new.

Terminal window
brew install clojure/tools/clojure
brew install borkdude/brew/babashka
clojure -Ttools install-latest :lib io.github.seancorfield/deps-new :as new

The fastest way to start with BigConfig is to use the official template.

Terminal window
clojure -Sdeps '{:deps {io.github.amiorin/big-config {:git/sha "81aec53608e63a97564cd5e7f05cd400fdd5bac7"}}}' \
-Tnew create \
:template amiorin/big-config \
:name my-org/my-artifact \
:target-dir my-project \
:aws-account-id-dev 111111111111 \
:aws-account-id-prod 222222222222 \
:aws-profile default \
:aws-region eu-west-1 \
:overwrite :delete \
&& cd my-project && bb smoke-test
  • Directoryenv/ ignore for now
  • Directoryresources
    • Directorymy_org
      • Directorymy_artifact
        • Directoryalpha example of OpenTofu module
          • main.tf
        • Directorybuild files copied by deps-new in the target root
          • projectile for emacs users
        • config.edn project config files parsed with aero
        • Directoryfiles additional file for the alpha module
          • user_data.sh
        • Directorygamma example of Ansible module
          • ansible.cfg
          • inventory.ini
          • main.yml
        • template.edn main config file for deps-new
  • Directorysrc/
  • Directorytest/ ignore for now
  • .dir-locals.el for emacs users
  • .envrc for direnv users
  • .gitignore
  • .projectile for emacs users
  • bb.edn babashka config file
  • CHANGELOG.md
  • deps.edn clojure config file
  • LICENSE
  • README.md
Terminal window
cd my-project
# List all tasks
bb tasks
# How to create workflow in the cli
bb show-help
# List the files of module alpha profile prod
bb build exec -- alpha prod ls -l
# List the files of module beta profile prod
bb build exec -- beta prod ls -l
# List the files of module gamma profile prod
bb build exec -- gamma prod ls -l
# Run the tests, you need to have at least 2 commits
bb test:bb