pub struct Component {
pub name: &'static str,
pub deployment: &'static str,
pub container: &'static str,
pub image_env: &'static str,
pub default_image: &'static str,
}Expand description
One published component the cluster upgrade rolls.
Carries a short stable name (also the key an operator decision’s signed
digest set is keyed on and the --digest <name>=… CLI arg uses), the
Deployment resource name, the container name inside the pod spec, the
environment variable that overrides its image reference, and the GHCR
default reference used when that variable is unset.
Fields§
§name: &'static strShort stable identifier (control-plane / slack / telegram). The key
in a signed decision’s digest set and the --digest CLI arg.
deployment: &'static strmetadata.name of the Deployment.
container: &'static strspec.template.spec.containers[].name the image lives on.
image_env: &'static strEnvironment variable that, when set, overrides this component’s full image reference (registry host + repository, no tag).
default_image: &'static strDefault image reference (public GHCR) used when Component::image_env
is unset. May name a host or be a bare owner/repo (defaults to
ghcr.io).
Implementations§
Source§impl Component
impl Component
Sourcepub fn ghcr_basename(&self) -> &str
pub fn ghcr_basename(&self) -> &str
The bare GHCR image name this component actually publishes under —
Component::default_image’s final path segment (e.g. polychrome,
polychrome-slack, polychrome-telegram).
This, not Component::name, is the key
.github/workflows/publish.yml’s channel job and
scripts/make_channel.sh write release-images.yaml entries under
(crate::release_manifest::ManifestImage::name) — the manifest is
keyed by what was actually published, not by the CLI-facing
identifier. Component::name remains the short stable id used for
the --digest <name>=… CLI arg and a signed decision’s digest set.
Trait Implementations§
impl Copy for Component
impl Eq for Component
impl StructuralPartialEq for Component
Auto Trait Implementations§
impl Freeze for Component
impl RefUnwindSafe for Component
impl Send for Component
impl Sync for Component
impl Unpin for Component
impl UnsafeUnpin for Component
impl UnwindSafe for Component
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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