pub struct Manager { /* private fields */ }Implementations§
Source§impl Manager
impl Manager
Sourcepub fn install(&self, r: &ProviderReference, force: bool) -> Result<Receipt>
pub fn install(&self, r: &ProviderReference, force: bool) -> Result<Receipt>
Install (or upgrade to a specific tag). The krew atomicity
sequence: staging → verify → extract → receipt LAST → swap.
Plain-HTTP tarball refs stay on the CLI path (deliberate
deployments, plans/0014); everything else flows through
[install_inner] with a live Ui.
Sourcepub fn install_inner(
&self,
r: &ProviderReference,
force: bool,
ui: &ProgressOutput,
expect_sha: Option<&str>,
) -> Result<Receipt>
pub fn install_inner( &self, r: &ProviderReference, force: bool, ui: &ProgressOutput, expect_sha: Option<&str>, ) -> Result<Receipt>
The release-install flow with the Ui swapped in — the
update_inner pattern: rootle update’s sweep and the TUI’s
consent install (0019) drive the same verified flow, the
latter through a silent recorder Ui.
Sourcepub fn install_path(&self, name: &str, path: &Path) -> Result<Receipt>
pub fn install_path(&self, name: &str, path: &Path) -> Result<Receipt>
Local dev install: symlink a binary, no network (gh’s gh extension install . model).
Sourcepub fn update(
&self,
name: Option<&str>,
) -> Result<Vec<(String, String, String)>>
pub fn update( &self, name: Option<&str>, ) -> Result<Vec<(String, String, String)>>
krew’s non-mutating update: refresh the latest-known tag into
receipts. Returns (name, current, latest) for the ones that are
stale.
Sourcepub fn upgrade(
&self,
name: Option<&str>,
dry_run: bool,
force: bool,
) -> Result<()>
pub fn upgrade( &self, name: Option<&str>, dry_run: bool, force: bool, ) -> Result<()>
upgrade: swap the binary for the latest-known (or fresh
latest) tag. Pinned skips unless force.
Sourcepub fn sweep(&self, dry_run: bool, ui: &ProgressOutput) -> Vec<SweepOutcome>
pub fn sweep(&self, dry_run: bool, ui: &ProgressOutput) -> Vec<SweepOutcome>
rootle update’s provider sweep (0019 M1): refresh-and-upgrade
every tracked, unpinned receipt with failures isolated per
provider — one dead forge neither aborts the rest nor fails
the command’s app half. Outcome rows are returned for the
caller to render; the release-install stages render through
ui. dry_run reports staleness without swapping anything.
Source§impl Manager
impl Manager
pub fn current_link(&self, name: &str) -> PathBuf
Sourcepub fn current_binary(&self, name: &str) -> Option<PathBuf>
pub fn current_binary(&self, name: &str) -> Option<PathBuf>
The binary path the current symlink resolves to.
pub fn receipt(&self, name: &str) -> Option<Receipt>
pub fn receipts(&self) -> Vec<Receipt>
Sourcepub fn pin(&self, name: &str, tag: Option<String>) -> Result<()>
pub fn pin(&self, name: &str, tag: Option<String>) -> Result<()>
Pin an installed provider to its current (or given) tag —
update leaves pinned receipts alone.