Skip to content

Better top-level CRD descriptions #7

@fhennig

Description

@fhennig

We need to patch it in kube-rs to be able to edit this property.

diff --git a/kube-derive/src/custom_resource.rs b/kube-derive/src/custom_resource.rs
index 177abe7d..a02160b1 100644
--- a/kube-derive/src/custom_resource.rs
+++ b/kube-derive/src/custom_resource.rs
@@ -10,6 +10,7 @@ struct KubeAttrs {
     group: String,
     version: String,
     kind: String,
+    description: Option<String>,
     #[darling(rename = "root")]
     kind_struct: Option<String>,
     /// lowercase plural of kind (inferred if omitted)
@@ -145,6 +146,7 @@ pub(crate) fn derive(input: proc_macro2::TokenStream) -> proc_macro2::TokenStrea
         kind,
         kind_struct,
         version,
+        description,
         namespaced,
         derives,
         schema: schema_mode,
@@ -239,7 +241,8 @@ pub(crate) fn derive(input: proc_macro2::TokenStream) -> proc_macro2::TokenStrea
         derive_paths.push(syn::parse_quote! { #schemars::JsonSchema });
     }
 
-    let docstr = format!(" Auto-generated derived type for {ident} via `CustomResource`");
+    let docstr = description
+        .unwrap_or_else(|| format!(" Auto-generated derived type for {ident} via `CustomResource`"));
     let quoted_serde = Literal::string(&serde.to_token_stream().to_string());
     let root_obj = quote! {
         #[doc = #docstr]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions