Struct mz_orchestrator::ServiceConfig
source · pub struct ServiceConfig<'a> {
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_zone: Option<String>,
pub anti_affinity: Option<Vec<LabelSelector>>,
}
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_zone: Option<String>
The availability zone the service should be run in. If no availability zone is specified, the orchestrator is free to choose one.
anti_affinity: Option<Vec<LabelSelector>>
A set of label selectors declaring 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.
Trait Implementations§
source§impl<'a> Clone for ServiceConfig<'a>
impl<'a> Clone for ServiceConfig<'a>
source§fn clone(&self) -> ServiceConfig<'a>
fn clone(&self) -> ServiceConfig<'a>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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