Skip to content

Opts map

BigConfig workflows are composed of steps and steps are Clojure functions taking one parameter called opts. You should be familiar with Clojure qualified keywords . Qualified keywords are used to achieve composability of steps.

The notation ::name is a shortcut to avoid to type :big-config.name

{::lock/owner (or (System/getenv "ZELLIJ_SESSION_NAME") "CI")
::lock/lock-keys [::step/module ::step/profile]
::run/shell-opts {:dir dir
:extra-env {"AWS_PROFILE" "default"}}
::render/templates [{:template "multi"
:template-fn template-fn
:data-fn 'multi/data-fn
:target-dir dir
:overwrite true
:transform [["common"
{"projectile" ".projectile"}
:raw]]}]})]

For the lock step

  • :big-config.lock/owner
  • :big-config.lock/lock-keys

For the exec step

  • :big-config.run/shell-opts

For the render step

  • :big-config.render/templates