Skip to main content

Pack

Struct Pack 

Source
pub struct Pack {
    pub secret_globs: Vec<String>,
    pub cache_dirs: Vec<String>,
    pub keep: Vec<String>,
    pub no_link_report: Vec<String>,
}
Expand description

Classification overrides for lds pack.

Every list here is added to the built-in defaults rather than replacing them, so a project that declares one project-specific secret name does not silently lose the protection of the built-in list. keep is the one escape hatch that subtracts: it names files the built-ins would classify as secret or cache but that this operator wants carried anyway.

Every list here scopes its globs the way .gitignore does: one with no / (*.vault, my-app-keys.json) matches the file name at any depth, one with a / (docs/samples/*.pem, frontend/dist) is anchored to that path relative to the project root.

Reaching the whole tree is the right default for naming a kind of file, and the hazard when naming one particular file: keep = ["*.pem"] written to carry one sample key carries every private key in the project. Anchor such a rule to a path and it stays where it was meant to apply.

Fields§

§secret_globs: Vec<String>

Extra globs to treat as secrets (never packed, only reported).

§cache_dirs: Vec<String>

Extra directories to treat as regenerable caches (never packed).

§keep: Vec<String>

Globs that must be packed even if a built-in rule excludes them.

The only subtractive list, and so the only way a file the secret rules named ends up in the archive. Anything it rescues is recorded in the manifest’s kept_over_secret.

§no_link_report: Vec<String>

Path globs whose symlinks are packed but left out of the link report.

A symlink is a problem by default: it breaks when the project is carried somewhere else, so every one is reported for the operator to deal with. The exception is a directory that is meant to be links — a shared dotfile tree such as .zsh/, deployed the same way on every machine the operator uses. Those are already known, so reporting them is noise that hides the links that do need attention.

Scoped like the lists above, and in practice always with a / — what makes links expected is where they sit.

No built-in default: only the operator knows which of their directories are link-by-design. Left unset, every symlink is reported.

Suppression affects the report alone — the links are packed either way, and every rule that suppressed something is named in the manifest, so a silent report can always be told apart from an empty one.

Trait Implementations§

Source§

impl Clone for Pack

Source§

fn clone(&self) -> Pack

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Pack

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Pack

Source§

fn default() -> Pack

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Pack
where Pack: Default,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Pack

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Pack

§

impl RefUnwindSafe for Pack

§

impl Send for Pack

§

impl Sync for Pack

§

impl Unpin for Pack

§

impl UnsafeUnpin for Pack

§

impl UnwindSafe for Pack

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more