mirror of
https://github.com/imjasonh/krust
synced 2026-07-08 06:45:32 +00:00
This implements authentication for container registries, porting functionality from go-containerregistry's authn package to Rust. Key features: - AuthConfig struct for various auth types (basic, bearer, anonymous) - Authenticator trait for pluggable auth providers - DefaultKeychain that reads Docker config files from standard locations - Support for credential helpers (docker-credential-*) - Integration with oci-distribution for registry operations The implementation checks for credentials in this order: 1. DOCKER_CONFIG environment variable 2. REGISTRY_AUTH_FILE environment variable 3. XDG_RUNTIME_DIR/containers/auth.json 4. HOME/.docker/config.json Credential helpers are supported if configured in the Docker config. This enables krust to: - Pull private base images - Push to authenticated registries - Support various auth methods (basic, token, oauth2) Closes #2 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
34 lines
895 B
TOML
34 lines
895 B
TOML
[package]
|
|
name = "krust"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Jason Hall <imjasonh@gmail.com>"]
|
|
description = "A container image build tool for Rust applications"
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/imjasonh/krust"
|
|
keywords = ["container", "docker", "oci", "build", "rust"]
|
|
categories = ["command-line-utilities", "development-tools"]
|
|
|
|
[dependencies]
|
|
clap = { version = "4.5", features = ["derive", "env"] }
|
|
tokio = { version = "1.35", features = ["full"] }
|
|
anyhow = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
sha256 = "1.5"
|
|
chrono = "0.4"
|
|
tar = "0.4"
|
|
flate2 = "1.0"
|
|
oci-distribution = "0.11"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
dirs = "6.0"
|
|
toml = "0.8"
|
|
which = "8.0"
|
|
tempfile = "3.9"
|
|
base64 = "0.22"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.9"
|
|
assert_cmd = "2.0"
|
|
predicates = "3.0"
|