Skip to content

Commit f55ec86

Browse files
Merge pull request #78 from gallettilance/fix-operatorhub
(fix) make operatorhub validation consistent with courier
2 parents 8a9b335 + 5677389 commit f55ec86

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

pkg/validation/errors/error.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,3 +243,7 @@ func invalidObject(lvl Level, detail string, value interface{}) Error {
243243
func WarnInvalidObject(detail string, value interface{}) Error {
244244
return failedValidation(LevelWarn, detail, value)
245245
}
246+
247+
func WarnMissingIcon(detail string) Error {
248+
return failedValidation(LevelWarn, detail, "")
249+
}

pkg/validation/internal/operatorhub.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func validateHubCSVSpec(csv v1alpha1.ClusterServiceVersion) []error {
146146
}
147147
}
148148
} else {
149-
errs = append(errs, fmt.Errorf("csv.Spec.Icon not specified"))
149+
errs = append(errs, errors.WarnMissingIcon("csv.Spec.Icon not specified"))
150150
}
151151

152152
if categories, ok := csv.ObjectMeta.Annotations["categories"]; ok {
@@ -161,14 +161,14 @@ func validateHubCSVSpec(csv v1alpha1.ClusterServiceVersion) []error {
161161
return errs
162162
}
163163
for _, category := range categorySlice {
164-
if _, ok := customCategories[category]; !ok {
164+
if _, ok := customCategories[strings.TrimSpace(category)]; !ok {
165165
errs = append(errs, fmt.Errorf("csv.Metadata.Annotations.Categories %s is not a valid custom category", category))
166166
}
167167
}
168168
} else {
169169
// use default categories
170170
for _, category := range categorySlice {
171-
if _, ok := validCategories[category]; !ok {
171+
if _, ok := validCategories[strings.TrimSpace(category)]; !ok {
172172
errs = append(errs, fmt.Errorf("csv.Metadata.Annotations.Categories %s is not a valid category", category))
173173
}
174174
}

pkg/validation/internal/testdata/valid_bundle/etcdoperator.v0.9.4.clusterserviceversion.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ metadata:
1616
],\n \"storageType\":\"S3\",\n \"s3\": {\n \"path\": \"<full-s3-path>\"\
1717
,\n \"awsSecret\": \"<aws-secret>\"\n }\n }\n }\n]\n"
1818
capabilities: Full Lifecycle
19-
categories: Database
19+
categories: Database, Big Data
2020
containerImage: quay.io/coreos/etcd-operator@sha256:66a37fd61a06a43969854ee6d3e21087a98b93838e284a6086b13917f96b0d9b
2121
createdAt: 2019-02-28 01:03:00
2222
description: Create and maintain highly-available etcd clusters on Kubernetes

0 commit comments

Comments
 (0)