Spaces:
Sleeping
Sleeping
| name: DevOpsEnv | |
| version: "1.0.0" | |
| description: > | |
| An OpenEnv-compliant Linux DevOps and SRE troubleshooting environment. | |
| Agents act as a junior SRE to diagnose and fix broken simulated server states | |
| using bash commands and file edits. | |
| domain: software_engineering | |
| tags: | |
| - openenv | |
| - devops | |
| - sre | |
| - troubleshooting | |
| - linux | |
| license: MIT | |
| author: SolvorLabs | |
| # ------------------------------------------------- | |
| # Environment interface | |
| # ------------------------------------------------- | |
| interface: | |
| reset: | |
| method: POST | |
| path: /reset | |
| request: | |
| task_id: string # task1 | task2 | task3 | |
| response: Observation | |
| step: | |
| method: POST | |
| path: /step | |
| request: | |
| episode_id: string | |
| action: Action | |
| response: StepResult | |
| state: | |
| method: GET | |
| path: /state | |
| params: | |
| episode_id: string | |
| response: State | |
| tasks: | |
| method: GET | |
| path: /tasks | |
| response: List[TaskInfo] | |
| grader: | |
| method: POST | |
| path: /grader | |
| request: | |
| episode_id: string | |
| response: GraderResponse | |
| health: | |
| method: GET | |
| path: /health | |
| # ------------------------------------------------- | |
| # Typed models (Matches your models.py) | |
| # ------------------------------------------------- | |
| models: | |
| Observation: | |
| task_id: string | |
| task_description: string | |
| episode_id: string | |
| system_state: SystemState | |
| thread_history: list[dict] | |
| available_actions: list[string] | |
| step_number: integer | |
| max_steps: integer | |
| hint: string | null | |
| SystemState: | |
| task_id: string | |
| available_commands: list[string] | |
| filesystem_snapshot: string | |
| running_processes: list[dict] | |
| service_status: dict[string, string] | |
| logs: string | |
| http_ports_open: list[integer] | |
| docker_containers: list[dict] | |
| cpu_usage: float | |
| memory_usage_mb: integer | |
| Action: | |
| action_type: string # bash_cmd | file_edit | submit | |
| command: string | null | |
| file_path: string | null | |
| file_content: string | null | |
| summary: string | null | |
| Reward: | |
| step_reward: float | |
| total_reward: float | |
| explanation: string | |
| StepResult: | |
| observation: Observation | |
| reward: Reward | |
| done: boolean | |
| info: dict | |
| State: | |
| task_id: string | |
| episode_id: string | |
| step_number: integer | |
| max_steps: integer | |
| done: boolean | |
| total_reward: float | |
| history: list[dict] | |
| final_score: float | null | |
| GraderResponse: | |
| episode_id: string | |
| task_id: string | |
| score: float # 0.0 – 1.0 | |
| breakdown: dict[string, float] | |
| feedback: string | |
| # ------------------------------------------------- | |
| # Tasks (Matches your data.py) | |
| # ------------------------------------------------- | |
| tasks: | |
| task1: | |
| name: "Nginx Service Recovery" | |
| difficulty: easy | |
| max_steps: 10 | |
| description: > | |
| The Nginx web server has crashed. The agent must restart the service | |
| and ensure port 80 is returning an HTTP 200 OK status. | |
| task2: | |
| name: "Docker Compose Fix" | |
| difficulty: medium | |
| max_steps: 15 | |
| description: > | |
| A Docker container is misconfigured with the wrong port mapping. | |
| The agent must edit docker-compose.yml to fix the port and spin the container up. | |
| task3: | |
| name: "API Memory Leak" | |
| difficulty: hard | |
| max_steps: 20 | |
| description: > | |
| A Python mock API is experiencing a memory leak. The agent must diagnose | |
| the running processes, kill the faulty process, patch the python file, and restart. | |
| # ------------------------------------------------- | |
| # Deployment | |
| # ------------------------------------------------- | |
| deployment: | |
| framework: FastAPI | |
| python: ">=3.11" | |
| port: 7860 | |
| dockerfile: Dockerfile | |
| huggingface_space: true | |
| space_sdk: docker |