@@ -117,10 +117,13 @@ type VSHNNextcloudServiceSpec struct {
117117 // +kubebuilder:default="/"
118118 RelativePath string `json:"relativePath,omitempty"`
119119
120+ // +kubebuilder:validation:Pattern=`^[0-9]+(\.[0-9]+)?$`
120121 // +kubebuilder:default="31"
121122
122123 // Version contains supported version of nextcloud.
123124 // Multiple versions are supported. The latest version 31 is the default version.
125+ // Only major (e.g., "31") or major.minor (e.g., "31.0") versions are allowed.
126+ // Patch versions (e.g., "31.0.4") are not allowed as they break maintenance.
124127 Version string `json:"version,omitempty"`
125128
126129 // +kubebuilder:validation:Enum="besteffort";"guaranteed"
@@ -228,7 +231,10 @@ type CollaboraSpec struct {
228231 Enabled bool `json:"enabled"`
229232 // FQDN contains the FQDN of the Collabora server. This is used to configure the Collabora server URL in Your Nextcloud instance.
230233 FQDN string `json:"fqdn,omitempty"`
234+ // +kubebuilder:validation:Pattern=`^[0-9]+(\.[0-9]+)?$`
231235 // Version defines the Collabora version to use.
236+ // Only major (e.g., "24") or major.minor (e.g., "24.04") versions are allowed.
237+ // Patch versions (e.g., "24.04.3") are not allowed as they break maintenance.
232238 Version string `json:"version,omitempty"`
233239}
234240
0 commit comments