Skip to content
Hoplite
Theme

Begin typing to search this site.

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}}}}}}}}
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.