astro_run_shared/
config.rs1use crate::{EnvironmentVariables, Id};
2use serde::{Deserialize, Serialize};
3use std::time::Duration;
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6pub struct Secret {
7 pub key: String,
9 pub env: String,
11}
12
13#[derive(Serialize, Deserialize, Debug, Clone)]
14pub struct Volume {
15 pub key: String,
17 pub path: String,
19}
20
21#[derive(Serialize, Deserialize, Debug, Clone)]
22pub struct Command {
23 pub id: (Id, Id, usize),
24 pub name: Option<String>,
25 pub image: Option<String>,
26 pub run: String,
27 pub continue_on_error: bool,
28 pub environments: EnvironmentVariables,
29 pub secrets: Vec<Secret>,
30 pub volumes: Vec<Volume>,
31 pub timeout: Duration,
32 pub security_opts: Option<Vec<String>>,
33}
34
35#[derive(Serialize, Deserialize, Debug, Clone)]
36pub struct Config {
37 pub command: Command,
38 }