Skip to main content

systemprompt_models/profile/
evaluator.rs

1//! Evaluator worker configuration: which worker identity this replica claims
2//! assignments under and the pinned images it runs them with.
3//!
4//! Copyright (c) systemprompt.io — Business Source License 1.1.
5//! See <https://systemprompt.io> for licensing details.
6
7use std::path::PathBuf;
8
9use serde::{Deserialize, Serialize};
10use systemprompt_identifiers::EvalWorkerId;
11
12/// Present only on replicas that run evaluator assignments; the supervisor
13/// job is idle without it.
14#[derive(Debug, Clone, Serialize, Deserialize, schemars::JsonSchema)]
15#[serde(deny_unknown_fields)]
16pub struct EvaluatorConfig {
17    pub worker_id: EvalWorkerId,
18    pub client_image: String,
19    pub relay_image: String,
20    pub control_network: String,
21    #[serde(default = "default_docker")]
22    pub docker: PathBuf,
23    #[serde(default = "default_workspace_root")]
24    pub workspace_root: PathBuf,
25}
26
27fn default_docker() -> PathBuf {
28    PathBuf::from("/usr/bin/docker")
29}
30
31fn default_workspace_root() -> PathBuf {
32    PathBuf::from("/var/lib/systemprompt/evaluator")
33}