GitRoot
craft your forge, build your project, grow your community freely
1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
2//
3// SPDX-License-Identifier: MIT
4
5use serde::{Deserialize, Serialize};
6
7#[derive(Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct Exec {
10 pub build: String, //image docker, path to Dockerfile
11 pub cmds: Vec<Cmd>,
12 pub env: Vec<String>,
13}
14
15#[derive(Serialize, Deserialize)]
16#[serde(rename_all = "camelCase")]
17pub struct ExecStatus {
18 pub cmds_exec: Vec<String>,
19 pub cmds_status: Vec<i32>,
20 pub cmds_logs: Vec<String>,
21 pub cmds_stats: Vec<CmdStats>,
22}
23
24#[derive(Serialize, Deserialize)]
25#[serde(rename_all = "camelCase")]
26pub struct CmdStats {
27 pub max_memory_bytes: u64,
28 pub max_threads: i32,
29 pub read_bytes_total: u64,
30 pub write_bytes_total: u64,
31 pub total_cpu_time_ms: u64,
32}
33
34#[derive(Serialize, Deserialize)]
35#[serde(rename_all = "camelCase")]
36pub struct Cmd {
37 pub cmd: String,
38 pub args: Vec<String>,
39}