pub struct ImageDefinition {
pub base: Option<BaseImage>,
pub oci_ref: Option<String>,
pub architecture: ImageArchitecture,
pub env: HashMap<String, String>,
pub python_version: String,
pub filesystem: ImageFilesystem,
pub steps: Vec<ImageDefinitionStep>,
}Expand description
A custom image definition: a base image plus ordered build steps, where
local-file steps still reference paths on this machine. Resolve it with
Client::resolve_image (hash + upload) or hand it to
Client::build_image_definition to also build it to ready.
Fields§
§base: Option<BaseImage>Base image to build on. Mutually exclusive with oci_ref.
oci_ref: Option<String>Your own image as the root filesystem: a reference to a Debian- or
Ubuntu-based image whose first segment names a supported public
registry (docker.io, ghcr.io, public.ecr.aws, or quay.io),
with an optional :tag or @sha256:<64 hex> pin (no tag means the
latest tag). Once Sail has a built image for a tag, later builds keep
using it; if no image was ever built from a lookup, Sail may look the
tag up again later. The image’s ENV and WORKDIR become the Sailbox
defaults for commands you run; its ENTRYPOINT and CMD are not run,
because a Sailbox manages its own processes. Mutually exclusive with
base.
architecture: ImageArchitectureTarget CPU architecture. Unspecified means amd64 with base, and with
oci_ref means whichever architecture the registry image was built for
(amd64 when it was built for both). Setting it with oci_ref requires
the image to provide that architecture.
env: HashMap<String, String>Environment variables baked into the image.
python_version: StringExact Python version to install as python3; empty uses the builder
default. Not accepted with oci_ref: a registry image keeps its own
python3.
filesystem: ImageFilesystemWritable root filesystem; unspecified preserves the ext4 default.
steps: Vec<ImageDefinitionStep>Ordered build steps.
Trait Implementations§
Source§impl Clone for ImageDefinition
impl Clone for ImageDefinition
Source§fn clone(&self) -> ImageDefinition
fn clone(&self) -> ImageDefinition
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ImageDefinition
impl Debug for ImageDefinition
Source§impl Default for ImageDefinition
impl Default for ImageDefinition
Source§fn default() -> ImageDefinition
fn default() -> ImageDefinition
Auto Trait Implementations§
impl Freeze for ImageDefinition
impl RefUnwindSafe for ImageDefinition
impl Send for ImageDefinition
impl Sync for ImageDefinition
impl Unpin for ImageDefinition
impl UnsafeUnpin for ImageDefinition
impl UnwindSafe for ImageDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request