pub struct EnvSpec {
pub public: BTreeMap<String, String>,
pub private: Vec<String>,
pub pass: BTreeMap<String, String>,
}Expand description
Child-process environment declaration for a command node.
Two YAML shapes are accepted:
# Legacy / shorthand — all keys are public assignments
env:
FOO: bar
# Explicit sections
env:
public:
FOO: bar
private:
- GH_TOKEN
pass:
GH_TOKEN: github/patpublic values are taken from the YAML. private names must already exist in
jan’s own environment; their values are copied into the child and never stored
in the spec. pass maps an environment variable name to a pass store id;
jan runs pass <id> and sets only the first line of stdout as that variable
in the child. When any section is non-empty, the child runs with a cleared
environment containing only those variables plus a small essential allowlist
(PATH, HOME, …).
Fields§
§public: BTreeMap<String, String>§private: Vec<String>§pass: BTreeMap<String, String>Env var name → pass store id (e.g. GH_TOKEN → github/pat).
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EnvSpec
impl<'de> Deserialize<'de> for EnvSpec
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for EnvSpec
impl StructuralPartialEq for EnvSpec
Auto Trait Implementations§
impl Freeze for EnvSpec
impl RefUnwindSafe for EnvSpec
impl Send for EnvSpec
impl Sync for EnvSpec
impl Unpin for EnvSpec
impl UnsafeUnpin for EnvSpec
impl UnwindSafe for EnvSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.