Expand description
Lockfile types for cuenv tool management.
The lockfile (cuenv.lock) stores resolved tool digests for
reproducible, hermetic builds. It supports multiple tool sources:
GitHub releases, Nix flakes, and OCI images.
§Structure (v2)
version = 2
# Tools section - multi-source tool management
[tools.jq]
version = "1.7.1"
[tools.jq.platforms."darwin-arm64"]
provider = "github"
digest = "sha256:abc..."
source = { repo = "jqlang/jq", tag = "jq-1.7.1", asset = "jq-macos-arm64" }
[tools.jq.platforms."linux-x86_64"]
provider = "github"
digest = "sha256:def..."
source = { repo = "jqlang/jq", tag = "jq-1.7.1", asset = "jq-linux-amd64" }
[tools.rust]
version = "1.83.0"
[tools.rust.platforms."darwin-arm64"]
provider = "nix"
digest = "sha256:ghi..."
source = { flake = "nixpkgs", package = "rustc" }
# Legacy artifacts section (for OCI images)
[[artifacts]]
kind = "image"
image = "nginx:1.25-alpine"
[artifacts.platforms]
"linux-x86_64" = { digest = "sha256:abc...", size = 1234567 }Structs§
- Locked
Artifact - A locked OCI artifact with platform-specific digests.
- Locked
Tool - A locked tool with version and per-platform resolution (v2+).
- Locked
Tool Platform - Platform-specific tool resolution data (v2+).
- Lockfile
- The root lockfile structure.
- Platform
Data - Platform-specific artifact data.
Enums§
- Artifact
Kind - The kind of OCI artifact.
Constants§
- LOCKFILE_
NAME - Filename for the lockfile.
- LOCKFILE_
VERSION - Current lockfile format version.
Functions§
- current_
platform - Get the current platform string.
- normalize_
platform - Normalize a platform string to our canonical format.