Dagger is a programmable CI/CD engine and containerized task runner designed to orchestrate build and test pipelines. It functions as an incremental build system that manages containers, filesystems, and secrets through a typed API to ensure consistent execution across local and cloud environments.
The engine utilizes a language-agnostic client-server API to allow multi-language pipeline orchestration, enabling the sharing of typed artifacts and state across different SDKs without manual serialization. It optimizes execution through content-addressable caching and a directed acyclic graph to run only the pipeline steps affected by specific changes.
The platform covers OCI container orchestration and image management, including pulling and publishing images. It provides integrated secret management, version control integration, and network service coordination with automated liveness probes.
Observability is handled through telemetry-driven execution tracing and interactive shell debugging for real-time pipeline state inspection.