This is the internal
cage API. If you're looking for documentation
about how to use the
cage command-line tool, please see the
cage library API is unstable, and it will remain so until
further notice. We do provide "semver" guarantees, but only for the
command-line interface and the on-disk project format, not for the
library API itself.
If you would like to use
cage as a library in another tool, please
contact the maintainers. We may be able to stabilize parts of our API.
Cage relies heavily on the
compose_yml crate, which
A good place to start reading through this API is the
which represents an entire project managed by
cage. Most other
interesting types can be reached from there.
You may also want to look the
plugins module, which handles much of
our code generation and YAML transformation. Essentially, cage works
like a multi-pass "compiler", where the intermediate representation is
compose_yml::v2::File object, and each transformation plugin is a
analogous to a "pass" in a compiler.
Data structures representing arguments that we can pass to
Various commands which can be performed on a project, corresponding to CLI entry points.
Utilities for running and testing shell commands.
Utilities for finding and working with project directories.
Hooks that are run during cage execution.
Create an error using a format string and arguments.
An iterator over all the
This is typically used to incorporate image tags for specific builds generated by a continuous integration system (such as Go).
A pod, specified by
An iterator over the pods in a project.
Configuration information about a project, read in from
Everything we know about the running application, based on querying Docker.
A single source tree.
An iterator over all source trees associated with this project.
All the source trees associated with a project's Docker images.
An iterator over this pods targets and their associated files.
An iterator over the targets in a project.
Represents either a
Indicates whether a pod is a regular service or a one-shot task.
Create an error using a string literal. (This exists mostly so that
clippy doesn't complain about
The version of this crate.