forked from scoringengine/scoringengine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathengine.conf.inc
More file actions
83 lines (73 loc) · 2.77 KB
/
engine.conf.inc
File metadata and controls
83 lines (73 loc) · 2.77 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[OPTIONS]
checks_location = scoring_engine/checks
target_round_time = 180
agent_psk = TheCakeIsALie
agent_show_flag_early_mins = 5
worker_refresh_time = 30
engine_paused = False
pause_duration = 30
blue_team_update_hostname = True
blue_team_update_port = True
blue_team_update_account_usernames = True
blue_team_update_account_passwords = True
blue_team_view_check_output = True
anonymize_team_names = True
timezone = US/Eastern
upload_folder = /var/uploads
check_output_folder = /var/check_outputs
debug = False
# SQLite
db_uri = sqlite:////tmp/engine.db?check_same_thread=False
# MySQL
#db_uri = mysql://user:password@host/database?charset=utf8mb4
# Postgresql
#db_uri = postgresql://user:password@host/database
# Set to -1 to use default number of processors for tasks
# else, set to number of concurrent tasks
worker_num_concurrent_tasks = -1
# default to main
# but this allows you to have some workers
# running certain work but not others
worker_queue = main
# Maximum random delay (in seconds) added to each task before workers
# pick it up. Spreads checks across the round window so workers don't
# all hit target services at the same instant. 0 = disabled (all tasks
# dispatched immediately). A good starting value is ~1/6 of
# target_round_time (e.g. 30 for a 180s round).
task_jitter_max_delay = 0
# Set to null to disable caching
cache_type = redis
redis_host = 127.0.0.1
redis_port = 6379
redis_password =
# SLA Penalty Configuration
# Enable/disable SLA penalties (consecutive failure penalties)
sla_enabled = False
# Number of consecutive failures before penalties begin
sla_penalty_threshold = 5
# Penalty percentage per failure after threshold (e.g., 10 = 10%)
sla_penalty_percent = 10
# Maximum total penalty percentage (e.g., 50 = 50% max penalty)
sla_penalty_max_percent = 50
# Penalty mode: additive, flat, exponential, or next_check_reduction
# - additive: Penalty accumulates (10%, 20%, 30%...)
# - flat: Fixed penalty per failure after threshold
# - exponential: Penalty doubles each failure (5%, 10%, 20%...)
# - next_check_reduction: Next successful check worth less
sla_penalty_mode = additive
# Allow scores to go negative from penalties
sla_allow_negative = False
# Dynamic Scoring (Time-Based) Configuration
# Enable/disable dynamic scoring multipliers
dynamic_scoring_enabled = False
# Early phase: First N rounds have a multiplier applied
dynamic_scoring_early_rounds = 10
# Multiplier for early rounds (e.g., 2.0 = 2x points)
dynamic_scoring_early_multiplier = 2.0
# Late phase: After round N, different multiplier applied
dynamic_scoring_late_start_round = 50
# Multiplier for late rounds (e.g., 0.5 = 0.5x points)
dynamic_scoring_late_multiplier = 0.5
# Inject Score Visibility
# Show inject scores on the public scoreboard (default: hidden for private grading)
inject_scores_visible = False