From a1bc7d508dbc0ccce06410e88a542defff79af0c Mon Sep 17 00:00:00 2001 From: Camila Macedo Date: Sun, 11 Aug 2019 10:53:25 +0100 Subject: [PATCH 1/3] feat(olm-catalog) : Generating alm-examples in a pretty format --- .../pkg/scaffold/olm-catalog/csv_updaters.go | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/internal/pkg/scaffold/olm-catalog/csv_updaters.go b/internal/pkg/scaffold/olm-catalog/csv_updaters.go index 59e8af92cb6..deca33fc9d0 100644 --- a/internal/pkg/scaffold/olm-catalog/csv_updaters.go +++ b/internal/pkg/scaffold/olm-catalog/csv_updaters.go @@ -343,16 +343,26 @@ func (u *ALMExamplesUpdate) Apply(csv *olmapiv1alpha1.ClusterServiceVersion) err if csv.GetAnnotations() == nil { csv.SetAnnotations(make(map[string]string)) } - sb := &strings.Builder{} - sb.WriteString(`[`) + buf := &bytes.Buffer{} + buf.WriteString(`[`) for i, example := range u.crs { - sb.WriteString(example) + buf.WriteString(example) if i < len(u.crs)-1 { - sb.WriteString(`,`) + buf.WriteString(`,`) } } - sb.WriteString(`]`) - - csv.GetAnnotations()["alm-examples"] = sb.String() + buf.WriteString(`]`) + examplesJSON, err := prettyJSON(buf.Bytes()) + if err != nil { + return err + } + csv.GetAnnotations()["alm-examples"] = examplesJSON return nil } + +// prettyJSON returns a JSON in a pretty format +func prettyJSON(b []byte) (string, error) { + var out bytes.Buffer + err := json.Indent(&out, b, "", " ") + return out.String(), err +} From 3d787dbaa59ef065e6a7b966bbe98a4ec6698de9 Mon Sep 17 00:00:00 2001 From: Camila Macedo Date: Sun, 11 Aug 2019 10:53:52 +0100 Subject: [PATCH 2/3] feat(olm-catalog) : update olm test version 0.0.0 with alm-examples in a pretty format --- ...ed-operator.v0.0.3.clusterserviceversion.yaml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/test/test-framework/deploy/olm-catalog/memcached-operator/0.0.3/memcached-operator.v0.0.3.clusterserviceversion.yaml b/test/test-framework/deploy/olm-catalog/memcached-operator/0.0.3/memcached-operator.v0.0.3.clusterserviceversion.yaml index 79cbfddb9b1..87c1beaa600 100644 --- a/test/test-framework/deploy/olm-catalog/memcached-operator/0.0.3/memcached-operator.v0.0.3.clusterserviceversion.yaml +++ b/test/test-framework/deploy/olm-catalog/memcached-operator/0.0.3/memcached-operator.v0.0.3.clusterserviceversion.yaml @@ -2,8 +2,20 @@ apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: annotations: - alm-examples: '[{"apiVersion":"cache.example.com/v1alpha1","kind":"Memcached","metadata":{"name":"example-memcached"},"spec":{"size":3}}]' - capabilities: Basic Install + alm-examples: |- + [ + { + "apiVersion": "cache.example.com/v1alpha1", + "kind": "Memcached", + "metadata": { + "name": "example-memcached" + }, + "spec": { + "size": 3 + } + } + ] + capabilities: Basic Install name: memcachedoperator.v0.0.3 namespace: placeholder spec: From 5d498f4c9e438b82bc1d017d273883a4511342ac Mon Sep 17 00:00:00 2001 From: Camila Macedo Date: Sun, 11 Aug 2019 10:54:21 +0100 Subject: [PATCH 3/3] feat(olm-catalog) : Changelog (ISSUE_1708) --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8316ae448d..1732fc4a165 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Unreleased ### Added +- The `operator-sdk olm-catalog gen-csv` command now produces indented JSON for the `alm-examples` annotation. ([#1793](https://github.com/operator-framework/operator-sdk/pull/1793)) ### Changed