Skip to content

Add experimental Fleet runtime orchestration API - #45

Merged
jezdez merged 12 commits into
mainfrom
fix/conda-fleet-api
Jul 21, 2026
Merged

Add experimental Fleet runtime orchestration API#45
jezdez merged 12 commits into
mainfrom
fix/conda-fleet-api

Conversation

@jezdez

@jezdez jezdez commented Jun 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • keeps stamped runtime binaries and automatic first-run bootstrap as the primary conda-ship workflow
  • adds an opt-in conda_ship::fleet Rust API for downstream orchestrators that manage several locked prefixes
  • reuses the process lock, bootstrap state, metadata, bundle handling, and reinstall code used by stamped runtimes
  • requires an explicit delegate for every Fleet runtime and returns executable and PATH data
  • leaves condarc content, base freezing, and Constructor installer metadata disabled unless the caller requests them
  • leaves launcher update and removal policy with the Fleet caller

Compatibility boundaries

  • Fleet adds no runtime command namespace and does not intercept delegate arguments
  • Fleet has no fallback to conda and does not set conda activation variables
  • lockfile channels are recorded as provenance and never become an implicit condarc
  • force performs an in-place full-lock reinstall while preserving named environments and unrelated files
  • recursive deletion remains an explicit Fleet::remove operation under the same adjacent prefix lock
  • ready metadata is written only after package installation, configured condarc and CEP 22 files, Constructor metadata, bytecode compilation, and delegate validation succeed
  • Fleet rejects invalid specs, foreign metadata, symlinks, and nonregular managed files before installing packages
  • stamped templates remain unaffected unless the non-default fleet Cargo feature is enabled

Launcher ownership

Fleet does not create or consume direct-install launcher receipts. The optional receipt API in #73 is independent and is not a prerequisite.

Follow-ups

Closes #48
Closes #49
Closes #52

@jezdez

jezdez commented Jul 7, 2026

Copy link
Copy Markdown
Owner Author

@mattkram I restacked and narrowed #45. Fleet remains an optional API in conda-ship. It installs, lists, gets, and removes locked prefixes, then returns the executable and PATH entries. It does not create wrappers, manage PATH, or own product update policy. Those remain ana's responsibility.

@jezdez
jezdez force-pushed the fix/conda-fleet-api branch from 00f248f to 5ee59b4 Compare July 7, 2026 14:57
@jezdez jezdez changed the title Add experimental conda-fleet API Add conda-fleet API behind fleet feature Jul 7, 2026
@jezdez jezdez changed the title Add conda-fleet API behind fleet feature Add experimental conda-fleet runtime orchestration API Jul 7, 2026
@jezdez jezdez changed the title Add experimental conda-fleet runtime orchestration API Add experimental fleet runtime orchestration API Jul 7, 2026
@jezdez jezdez closed this Jul 7, 2026
@jezdez
jezdez deleted the fix/conda-fleet-api branch July 7, 2026 15:24
@jezdez
jezdez restored the fix/conda-fleet-api branch July 7, 2026 16:40
@jezdez jezdez reopened this Jul 7, 2026
@jezdez
jezdez force-pushed the fix/conda-fleet-api branch from 32118e8 to d3e2e81 Compare July 21, 2026 02:03
@jezdez jezdez changed the title Add experimental fleet runtime orchestration API Add experimental Fleet runtime orchestration API Jul 21, 2026
@jezdez
jezdez changed the base branch from main to fix/issue-69-launcher-receipts July 21, 2026 02:04
@jezdez
jezdez marked this pull request as draft July 21, 2026 02:04
@jezdez
jezdez marked this pull request as ready for review July 21, 2026 06:24
@jezdez
jezdez force-pushed the fix/conda-fleet-api branch from d3e2e81 to 280dbb7 Compare July 21, 2026 06:40
@jezdez
jezdez force-pushed the fix/issue-69-launcher-receipts branch 2 times, most recently from aebc20d to 982b7ce Compare July 21, 2026 06:46
@jezdez
jezdez force-pushed the fix/conda-fleet-api branch from 280dbb7 to 04f6414 Compare July 21, 2026 06:46
@jezdez
jezdez force-pushed the fix/issue-69-launcher-receipts branch from 982b7ce to 5cd0bc4 Compare July 21, 2026 06:50
@jezdez
jezdez force-pushed the fix/conda-fleet-api branch from 04f6414 to ba90c05 Compare July 21, 2026 06:50
@jezdez
jezdez changed the base branch from fix/issue-69-launcher-receipts to main July 21, 2026 16:58
@jezdez
jezdez force-pushed the fix/conda-fleet-api branch from ba90c05 to 499aa58 Compare July 21, 2026 16:58
@jezdez
jezdez merged commit 4c5dc61 into main Jul 21, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant