Docker config and credential helper integration.
This crate provides functionality for resolving container registry credentials from Docker config files and credential helpers.
Overview
The main types in this crate are:
- [
AuthResolver] - Resolves credentials for a registry - [
Credential] - A credential (anonymous, basic, bearer, etc.) - [
DockerConfig] - Parsed Docker config file
Example
use containerregistry_auth::{AuthResolver, Credential};
// Create a resolver that loads from default Docker config
let resolver = AuthResolver::new();
// Resolve credentials for a registry
let cred = resolver.resolve("gcr.io")?;
// Use the credential
if let Some(header) = cred.authorization_header() {
println!("Authorization: {}", header);
}
# Ok::<(), containerregistry_auth::Error>(())
Resolution Order
The resolver checks multiple sources in order of precedence:
- Explicit credentials (if set via [
AuthResolver::with_explicit]) - Docker config
authssection (base64-encoded or plaintext) - Registry-specific credential helper (
credHelpers) - Default credential store (
credsStore) - Anonymous access (fallback)