Aidbox configuration project structure
Aidbox configuration project consists of a set of files which together describe how a box should behave. Overview is given by the following filesystem tree example:
zen-package.edn
zrc/
system.edn
box/
acl.edn
…
The only required names are
zen-package.edn
and zrc/
directory. As you can see it is just a collection of .edn
config files put into certain directories. Let’s go through them one by one.This is a project meta file. Currently it is only used to specify project dependencies.
zen-package.edn
{:deps {us-core "https://github.com/zen-fhir/hl7-fhir-us-core.git"
plan-net "https://github.com/zen-fhir/hl7-fhir-us-davinci-pdex-plan-net.git"}}
This is a directory with all your configuration files. They specify how a box should behave and what features should be enabled.
zrc/
directory from the example above contains:system.edn
— config file for a system as a whole;box/
— directory with configs for services such as ACL or FHIR IG. Each service config comes with its own set of options.
zrc/system.edn | zrc/box/acl.edn |
---|---|
{ns system import #{aidbox …} box {:zen/tags #{aidbox/system} :services {:http server …}} … server {…}} | {ns box.acl import #{aidbox.rest.acl} some-acl-symbol {…} … some-other-acl-symbol {…}} |

aidbox-project-samples/aidbox-project-samples at main · Aidbox/aidbox-project-samples
GitHub
Examples of Aidbox configuration projects in our GitHub repository.