Expand description
§Dockdash
Build and push OCI container images from Rust — no Docker daemon required.
Dockdash lets you programmatically create OCI-compliant container images, add layers from files or raw bytes, and push them to any OCI registry. It works anywhere Rust runs: CI pipelines, serverless functions, CLIs, or embedded tooling.
§Quick Start
use dockdash::{Arch, Image, Layer, PushOptions, Result};
use std::path::PathBuf;
let layer = Layer::builder()?
.file("./my-binary", "./app", Some(0o755))?
.build()
.await?;
let (image, _) = Image::builder()
.from("ubuntu:latest")
.platform("linux", &Arch::ARM64)
.layer(layer)
.entrypoint(vec!["/app".to_string()])
.build()
.await?;
image.push("registry.example.com/my-app:latest", &PushOptions::default()).await?;Structs§
- Blob
Cache - Manages access to a content-addressable blob cache on disk.
- Build
Diagnostics - Contains diagnostic information about the image build process.
- Image
- Represents a built OCI image stored as an OCI layout tarball. The temporary directory holding the tarball is cleaned up when this struct is dropped.
- Image
Builder - Builder for creating
Imageinstances. - Image
Metadata - Runtime metadata extracted from an OCI image configuration.
- Layer
- Represents a single layer in an OCI image.
- Layer
Builder - Builder for creating
Layerinstances. - Pull
AndExtract Options - Options for pulling and extracting an image.
- Push
Options - Options for pushing an image.
- Push
Progress Info - Progress information for image push operations
Enums§
- Arch
- Name of the CPU target architecture.
- Client
Protocol - The protocol that the client should use to connect
- Error
- Represents application-specific errors.
- Manifest
Source - Indicates the source from which an image manifest was obtained during a build.
- Monolithic
Push Policy - Policy for determining whether to use monolithic push.
- Pull
Policy - Defines the policy for pulling an image manifest.
- Registry
Auth - A method for authenticating to a registry
Traits§
- Push
Progress Callback - Trait for receiving progress updates during image push operations