Project configuration
A Hoplite project selects one qualified application Var through project.edn.
{:hara/type :project :hara/version "1.0.0" :project/id example/app :project/version "0.1.0" :project/source-paths ["."] :project/test-paths [] :project/extension-paths [] :project/capabilities #{:host/nginx} :project/main example.app :project/default-profile :server :project/profiles {:server {:profile/language :hoplite :profile/main example.app/app :profile/options {:port 8080} :profile/extensions {:extension/hoplite {:hoplite/authentication {:auth/realms {:management {:auth/providers [:auth/key] :auth/required true} :application {:auth/providers [:auth/key] :auth/required false}}}}}}}}Required profile fields
Section titled “Required profile fields”| Field | Meaning |
|---|---|
:profile/language |
Must be :hoplite |
:profile/main |
Qualified Var that evaluates to hoplite.core/app or hoplite.internal/config |
:profile/options |
Optional map containing :port and :workers |
:profile/extensions |
Optional host configuration; Hoplite modules and authentication live under :extension/hoplite |
The command-line --profile NAME option overrides :project/default-profile.
If :hoplite/authentication is omitted, Hoplite compiles the same safe
defaults: user-owned keys for both realms, mandatory authentication for the
management surface, short-lived access tokens, and rotating single-use refresh
tokens. See the project schema reference
for the full contract.
See the complete project schema reference.