airlock/config.rs
1use std::path::PathBuf;
2
3/// Millstone configuration.
4#[derive(Clone)]
5pub struct MillstoneConfig {
6 /// Container image to use.
7 ///
8 /// This must be a valid image reference -- `millstone:x.y.z`, `registry.ddbuild.io/saluki/millstone:x.y.z`, etc --
9 /// to an image containing the `millstone` binary.
10 pub image: String,
11
12 /// Path to the millstone binary.
13 ///
14 /// Defaults to `/usr/local/bin/millstone`.
15 pub binary_path: Option<String>,
16
17 /// Path to the millstone configuration file to use.
18 ///
19 /// This file is mapped into the millstone container and so it must exist on the system where this command is run
20 /// from.
21 pub config_path: PathBuf,
22}
23
24/// datadog-intake configuration.
25#[derive(Clone)]
26pub struct DatadogIntakeConfig {
27 /// Container image to use.
28 ///
29 /// This must be a valid image reference -- `datadog-intake:x.y.z`,
30 /// `registry.ddbuild.io/saluki/datadog-intake:x.y.z`, etc -- to an image containing the `datadog-intake` binary.
31 pub image: String,
32
33 /// Path to the datadog-intake binary.
34 ///
35 /// Defaults to `/usr/local/bin/datadog-intake`.
36 pub binary_path: Option<String>,
37
38 /// Path to the datadog-intake configuration file to use.
39 ///
40 /// This file is mapped into the datadog-intake container and so it must exist on the system where this command is run
41 /// from.
42 pub config_path: PathBuf,
43}
44
45/// Target configuration.
46#[derive(Clone)]
47pub struct TargetConfig {
48 /// Container image to use.
49 ///
50 /// This must be a valid image reference -- `agent-data-plane:x.y.z`,
51 /// `registry.ddbuild.io/saluki/agent-data-plane:x.y.z`, etc -- to an image containing the `agent-data-plane`
52 /// binary.
53 pub image: String,
54
55 /// Entrypoint to execute.
56 pub entrypoint: Vec<String>,
57
58 /// Command to run.
59 pub command: Vec<String>,
60
61 /// Additional environment variables to be passed into the target container.
62 ///
63 /// These should be in the form of `KEY=VALUE`.
64 pub additional_env_vars: Vec<String>,
65}