Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
71 lines (59 sloc) 3.1 KB


Develop trainings


Please create a issue for each training(idea) at: Use the provided template - it contains a checklist to follow.


  • each training needs a unique name - it's also refered as it's Training-ID
  • naming convention: <category>-<tool/subject>-<sub-subject>-<level|counter>-<OS or distribution>


To generate a training please use boilr - a template is available at: The template generates all files necessary - other instructions may be out of date. The files generated files include information how to customize them.

shared configuration

admindojo\ contains user files and common VM-configuration.

admindojo\: is mounted to the traning VM -> \admindojo
admindojo\config: shared client configuration
admindojo\development: notes etc. used for development
admindojo\internal: Common configuration files
admindojo\internal\ Install required tools
admindojo\internal\ Cleanup at "vagrant destroy"
admindojo\internal\setup-dev-env.ps1:  Setup Dev-ENV for Windows 
admindojo\internal\setup-test-env.ps1:  Setup Test-ENV for Windows (auto test training)
admindojo\internal\teardown-test-env.ps1: Teardown Dev-ENV for Windows 
admindojo\internal\Vagrantfile-base: Common Vagrantfile
admindojo\results: User results. Client creates a directory named after a traning.

training directory

$trainingID\ Content that is used to generate the HTML page at Should be usable without changes.
$trainingID\Vagrantfile: Base Vagrantfile
$trainingID\config\Vagrantfile-overwrite-config: Overwrites for Vagrantfile
$trainingID\config\Vagrantfile-overwrite-vm: Overwrites for Vagrantfile
$trainingID\tmp\: Temporary files for training that should survive restart or reload. Removed at vagrant destroy
$trainingID\taining\: Inspec profile directory. Follows Inspec structure
$trainingID\taining\inspec.yaml: Content is used to generate the HTML page at
$trainingID\taining\ Script to generate a token for
$trainingID\taining\controls\: One test.rb that contains all tests for this training
$trainingID\taining\libraries\: See Inspec readme
$trainingID\taining\tests\: Scripts to fully test the training. Should contain everything to automatically succeed the training. 

inspec verification/controls


Since admindojo is used to teach, each training should be 100% correct and solvable. $trainingID\taining\tests\ Should contain everything needed to solve the traning with 100%. For simple tranings a bash script is ok.

To build VM, run tests and run Inspec:

  1. . admindojo\internal\setup-dev-env.ps1
  2. . admindojo\internal\setup-test-env.ps1
  3. vagrant up
You can’t perform that action at this time.