From 4d4516d6073416e31f34219c084231012137e4dd Mon Sep 17 00:00:00 2001 From: Amund Tenstad Date: Tue, 5 Aug 2025 10:45:28 +0200 Subject: [PATCH] fix: support both types of default marker --- processor/processor.go | 20 +++++++++++--------- test/api/v1/guestbook_types.go | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/processor/processor.go b/processor/processor.go index 8bc4b79..98b63e8 100644 --- a/processor/processor.go +++ b/processor/processor.go @@ -554,18 +554,20 @@ func parseMarkers(markers markers.MarkerValues) (string, []string) { validation = append(validation, fmt.Sprintf("%s: %v", name, value)) } - if name == "kubebuilder:default" { - if value, ok := value.(crdmarkers.Default); ok { - defaultValue = fmt.Sprintf("%v", value.Value) - if strings.HasPrefix(defaultValue, "map[") { - defaultValue = strings.TrimPrefix(defaultValue, "map[") - defaultValue = strings.TrimSuffix(defaultValue, "]") - defaultValue = fmt.Sprintf("{ %s }", defaultValue) - } - } + switch v := value.(type) { + case crdmarkers.KubernetesDefault: + defaultValue = fmt.Sprintf("%v", v.Value) + case crdmarkers.Default: + defaultValue = fmt.Sprintf("%v", v.Value) } } + if strings.HasPrefix(defaultValue, "map[") { + defaultValue = strings.TrimPrefix(defaultValue, "map[") + defaultValue = strings.TrimSuffix(defaultValue, "]") + defaultValue = fmt.Sprintf("{ %s }", defaultValue) + } + return defaultValue, validation } diff --git a/test/api/v1/guestbook_types.go b/test/api/v1/guestbook_types.go index f6a2796..8e531c7 100644 --- a/test/api/v1/guestbook_types.go +++ b/test/api/v1/guestbook_types.go @@ -87,7 +87,7 @@ type Rating int // +kubebuilder:validation:XValidation:rule="self.page < 200", message="Please start a new book." type GuestbookSpec struct { // Page indicates the page number - // +kubebuilder:default=1 + // +default=1 // +kubebuilder:example=3 Page *PositiveInt `json:"page,omitempty"` // Entries contain guest book entries for the page