-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample_config.yaml
65 lines (56 loc) · 3.55 KB
/
example_config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# This is an example of a Shell Adventure tutorial config file
# All paths are interpreted as relative to the config file unless they are absolute
# All fields are optional except for "modules" and "puzzles", but are listed here with their default values for documentation
# Required. A list of Python scripts that contain the puzzles templates for the tutorial
modules:
- simple_examples.py
- advanced_examples.py
- permissions_examples.py
# Required. A list of the puzzles templates that will be generated in the tutorial.
# Each puzzle is the name of a function in one of the modules which will be used to generate it
# Specify the functions as <module_name>.<puzzle_function_name>
# You can also "nest" puzzles. Dependent puzzles will be hidden until their parent has been solved.
puzzles:
- simple_examples.cd
- simple_examples.move
- simple_examples.move # You can include randomized puzzles more than once
- simple_examples.copy:
- advanced_examples.copy_folder # This puzzle will only show up after default.copy is solved
- simple_examples.rm:
- advanced_examples.rm_folder
- simple_examples.create_file
- simple_examples.cat
- advanced_examples.grep
- permissions_examples.chown:
- permissions_examples.chmod:
- permissions_examples.chmod_executable
- permissions_examples.create_file_in_protected_folder
# Optional. This is the tag of the Docker image that the tutorial will run in.
# Default is "shelladventure/shell-adventure:v1.0"
image: "shelladventure/shell-adventure:v1.0"
# Optional. These are passed directly to the docker-py create() method. You generally shouldn't mess with these
# unless you know what you are doing. Invalid container_options may cause Docker to crash or hang.
# See https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.ContainerCollection.create
# for details on all the options you can pass.
container_options:
# Most commonly used container_options are "user", "working_dir", and "command"
user: "student" # The user the student is logged in as. Default "student" in the "shell-adventure" image
working_dir: "/home/student" # The directory the tutorial starts in. Default "/home/student" in the "shell-adventure" image
command: "bash" # The shell the student is using. Default "bash" in the "shell-adventure" image
# Optional. A list of Python scripts which will be run before puzzles are generated.
# Use setup scripts to create resources that will be accessible in all puzzle generators. Generally, you
# should use a custom Docker image instead if you can, especially for slow operations like installing things,
# since the setup script will run every time the tutorial is launched. Setup scripts can be used to make randomized
# resources shared by all puzzles or to launch background processes.
setup_scripts:
- example_setup_script.py
# Optional. Path to a dictionary file with one word on each line. The dictionary will be used by rand().name()
# If omitted, a dictionary based on http://www.desiquintans.com/nounlist will be used
# name_dictionary: ../shell_adventure/host_side/name_dictionary.txt
# Optional. A list of files containing text. Random paragraphs from these files will be used by the rand().paragraphs()
# method for generating random content for files. If omitted, a "Lorem Ipsum" style generator will be used.
content_sources: []
# Optional. Whether to allow the student to restart the tutorial without regenerating randomized puzzles. Default is yes
restart_enabled: yes
# Optional. Whether to show the visual file tree in the GUI. Default is yes
show_tree: yes