Struct mz_orchestrator::ServiceConfig

source ·
pub struct ServiceConfig<'a> {
Show 14 fields pub image: String, pub init_container_image: Option<String>, pub args: &'a (dyn Fn(&BTreeMap<String, String>) -> Vec<String> + Send + Sync), pub ports: Vec<ServicePort>, pub memory_limit: Option<MemoryLimit>, pub cpu_limit: Option<CpuLimit>, pub scale: u16, pub labels: BTreeMap<String, String>, pub availability_zones: Option<Vec<String>>, pub other_replicas_selector: Vec<LabelSelector>, pub replicas_selector: Vec<LabelSelector>, pub disk: bool, pub disk_limit: Option<DiskLimit>, pub node_selector: BTreeMap<String, String>,
}
Expand description

Describes the desired state of a service.

Fields§

§image: String

An opaque identifier for the executable or container image to run.

Often names a container on Docker Hub or a path on the local machine.

§init_container_image: Option<String>

For the Kubernetes orchestrator, this is an init container to configure for the pod running the service.

§args: &'a (dyn Fn(&BTreeMap<String, String>) -> Vec<String> + Send + Sync)

A function that generates the arguments for each process of the service given the assigned listen addresses for each named port.

§ports: Vec<ServicePort>

Ports to expose.

§memory_limit: Option<MemoryLimit>

An optional limit on the memory that the service can use.

§cpu_limit: Option<CpuLimit>

An optional limit on the CPU that the service can use.

§scale: u16

The number of copies of this service to run.

§labels: BTreeMap<String, String>

Arbitrary key–value pairs to attach to the service in the orchestrator backend.

The orchestrator backend may apply a prefix to the key if appropriate.

§availability_zones: Option<Vec<String>>

The availability zones the service can be run in. If no availability zones are specified, the orchestrator is free to choose one.

§other_replicas_selector: Vec<LabelSelector>

A set of label selectors selecting all other services that are replicas of this one.

This may be used to implement anti-affinity. If all such selectors match for a given service, this service should not be co-scheduled on a machine with that service.

The orchestrator backend may or may not actually implement anti-affinity functionality.

§replicas_selector: Vec<LabelSelector>

A set of label selectors selecting all services that are replicas of this one, including itself.

This may be used to implement placement spread.

The orchestrator backend may or may not actually implement placement spread functionality.

§disk: bool

Whether scratch disk space should be allocated for the service.

§disk_limit: Option<DiskLimit>

The maximum amount of scratch disk space that the service is allowed to consume.

§node_selector: BTreeMap<String, String>

Node selector for this service.

Trait Implementations§

source§

impl<'a> Clone for ServiceConfig<'a>

source§

fn clone(&self) -> ServiceConfig<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for ServiceConfig<'a>

source§

fn fmt(&self, __f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for ServiceConfig<'a>

§

impl<'a> !RefUnwindSafe for ServiceConfig<'a>

§

impl<'a> Send for ServiceConfig<'a>

§

impl<'a> Sync for ServiceConfig<'a>

§

impl<'a> Unpin for ServiceConfig<'a>

§

impl<'a> !UnwindSafe for ServiceConfig<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T, U> CastInto<U> for T
where U: CastFrom<T>,

source§

fn cast_into(self) -> U

Performs the cast.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromRef<T> for T
where T: Clone,

source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more