Skip to content

Fortified IDDocs

Examples

Example configuration snippets

Demo configuration with inclusion and expansion

Section titled “Demo configuration with inclusion and expansion”

Assume the following directories/files:

/
+ server/
+ config/
+ config.json
+ includes/
+ globals.json
+ modules/
+ mod01.json
+ mod02.json
+ demo/
+ file01
+ file02
config/config.json
{
"globals": "@include:includes/globals.json",
"modules": "@include:includes/modules"
}
config/includes/globals.json
{
"demo_dir": "/demo"
}
config/includes/modules/mod01.json
{
"name": "DemoModule",
"enabled": true,
"config": {
"path": "${globals.demo_dir}/file01"
}
}
config/includes/modules/mod02.json
{
"name": "DemoModule",
"enabled": true,
"config": {
"path": "${globals.demo_dir}/file02"
}
}

When inclusion and expansion is performed, config.json will have the following content:

{
"globals": {
"base_dir": "/server"
},
"modules": [
{
"name": "DemoModule",
"enabled": true,
"config": {
"path": "/demo/file01"
}
},
{
"name": "DemoModule",
"enabled": true,
"config": {
"path": "/demo/file02"
}
}
]
}

Note that:

  • globals.json include was expanded to an object
  • modules include was expanded to an array containing each of the JSON files in the directory as elements
  • all expansion expressions (${globals.demo_dir}) are replaced with the property value ("/demo")