pub struct KrewConfig {Show 19 fields
pub name: Option<String>,
pub ids: Option<Vec<String>>,
pub repository: Option<RepositoryConfig>,
pub commit_author: Option<CommitAuthorConfig>,
pub commit_msg_template: Option<String>,
pub description: Option<String>,
pub short_description: Option<String>,
pub homepage: Option<String>,
pub url_template: Option<String>,
pub caveats: Option<String>,
pub skip_upload: Option<StringOrBool>,
pub skip: Option<StringOrBool>,
pub amd64_variant: Option<Amd64Variant>,
pub arm_variant: Option<String>,
pub update_existing_pr: Option<StringOrBool>,
pub required: Option<bool>,
pub if_condition: Option<String>,
pub mode: Option<KrewMode>,
pub retain_on_rollback: Option<bool>,
}Fields§
§name: Option<String>Override the plugin name (default: crate name).
ids: Option<Vec<String>>Build IDs filter: only include artifacts whose id is in this list.
repository: Option<RepositoryConfig>Unified repository config with branch, token, PR, git SSH support.
(Replaces the legacy manifests_repo: / upstream_repo: form.) The
upstream PR target is derived from repository.pull_request.base
when set, falling back to the canonical kubernetes-sigs/krew-index.
Commit author with optional signing.
commit_msg_template: Option<String>Custom commit message template.
description: Option<String>Full description of the kubectl plugin.
short_description: Option<String>One-line summary of the kubectl plugin (max 255 chars).
homepage: Option<String>Project homepage URL for the plugin.
url_template: Option<String>Custom URL template for download URLs (overrides release URL).
caveats: Option<String>Post-install message shown to the user.
skip_upload: Option<StringOrBool>Skip publishing. "true" always skips; "auto" skips for prereleases.
Accepts bool or template string.
skip: Option<StringOrBool>Skip this Krew config. Accepts bool or template string
(e.g. "{{ if .IsSnapshot }}true{{ endif }}" for conditional skip).
Distinct from skip_upload so users can opt out of generating the
manifest entirely (common when a project is not a kubectl plugin and
has no krew channel).
amd64_variant: Option<Amd64Variant>amd64 microarchitecture variant filter (v1 / v2 / v3 / v4).
Only artifacts matching this variant are included. Default: v1.
Typed as Amd64Variant, so any value outside v1..v4 is
rejected when the config is parsed.
arm_variant: Option<String>ARM version filter (e.g. “6”, “7”). Only artifacts matching this variant are included.
update_existing_pr: Option<StringOrBool>When true, force-push the updated plugin manifest to the existing PR branch when a PR for the same head branch already exists. The PR content is updated in place rather than creating a duplicate. When false (default), the push is skipped and a warning is emitted so the operator sees that the publisher did not update the PR.
required: Option<bool>Override whether this publisher failing should fail the overall release.
Default: false — a failure here is logged but does not abort the release.
Set to true to fail the release on any error.
if_condition: Option<String>Template-conditional gate: when the rendered result is falsy
("false" / "0" / "no" / empty), the Krew publisher is
skipped. Render failure hard-errors. Config key: krews[].if:.
mode: Option<KrewMode>Which krew-index submission path to take.
auto(default): probe whether the plugin already exists inkubernetes-sigs/krew-index. Already present →bot(the hosted krew-release-bot opens the version-bump PR server-side); definitively absent →pr-direct(anodizer opens the initial fork PR). A probe that can’t reach a definitive answer (rate-limit, network error) hard-errors rather than guessing, so a transient blip never routes an existing plugin into a maintainer-hostile fork PR.bot: always POST to the krew-release-bot webhook. Use when the plugin is known to be in krew-index and you want to skip the membership probe entirely.pr-direct: always open a fork PR against krew-index. Use for the initial submission, or a self-hosted krew-index mirror the hosted bot can’t reach.
retain_on_rollback: Option<bool>When true, a triggered rollback leaves this publisher’s work in
place rather than attempting to undo it. Default false.
Trait Implementations§
Source§impl Clone for KrewConfig
impl Clone for KrewConfig
Source§fn clone(&self) -> KrewConfig
fn clone(&self) -> KrewConfig
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 KrewConfig
impl Debug for KrewConfig
Source§impl Default for KrewConfig
impl Default for KrewConfig
Source§fn default() -> KrewConfig
fn default() -> KrewConfig
Source§impl<'de> Deserialize<'de> for KrewConfigwhere
KrewConfig: Default,
impl<'de> Deserialize<'de> for KrewConfigwhere
KrewConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for KrewConfig
impl JsonSchema for KrewConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PublisherGateOverrides for KrewConfig
impl PublisherGateOverrides for KrewConfig
Source§fn required_override(&self) -> Option<bool>
fn required_override(&self) -> Option<bool>
required: override. None keeps the publisher’s
built-in default; Some(true) anywhere escalates the release gate.Source§fn retain_on_rollback_override(&self) -> Option<bool>
fn retain_on_rollback_override(&self) -> Option<bool>
retain_on_rollback: override. Some(true) anywhere
opts the publisher’s successful work out of rollback.