Skip to content

Commit edaa87d

Browse files
stubbiclaude
andauthored
fix(olm): correct CSV image refs so OperatorHub submission passes (#54)
## Problem Every hermes-operator OperatorHub submission (PRs #8212/#8243/#8272 in k8s-operatorhub/community-operators) fails the `kiwi / Full operator test` with: ``` Error: short-name resolution enforced but cannot prompt without a TTY msg: Unable to pull 0.1.10, please check permissions or path. ``` The kiwi test pulls the image from the CSV `containerImage` annotation, which was the bare string `0.1.10` instead of `ghcr.io/paperclipinc/hermes-operator:v0.1.10`. `metadata.name` was likewise the bare `0.1.10` (flagged by the validator as not following `<operator>.v<semver>`). ## Root cause `release-please-config.json` `extra-files` wrote the raw version into `$.metadata.name` and `$.metadata.annotations.containerImage` on every release, clobbering them to a bare version. (paperclip-operator works precisely because it lacks these entries.) ## Fix - Remove those two `extra-files` entries (keep `$.spec.version`, which is correctly a bare semver). - Set the source CSV to valid values; the submission workflow's existing `sed` rewrites both to the release tag, so kiwi can pull the operator image. - Add `spec.icon` (clears the no-icon validator warning). - Pin the `hermes-agent` relatedImage to `v2026.5.29.2` instead of `latest`. `operator-sdk bundle validate ./bundle --select-optional suite=operatorframework` now passes (only the informational `cronjobs` deprecated-api heuristic remains; minKubeVersion is 1.28). Once merged and a release is cut, a fresh submission should pass kiwi. I'll close the stale community-operators PRs in favor of the clean one. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 1514f72 commit edaa87d

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

bundle/manifests/hermes-operator.clusterserviceversion.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
apiVersion: operators.coreos.com/v1alpha1
22
kind: ClusterServiceVersion
33
metadata:
4-
name: 0.1.10
4+
name: hermes-operator.v0.1.10
55
namespace: placeholder
66
annotations:
77
capabilities: Auto Pilot
88
categories: AI/Machine Learning, Developer Tools, Application Runtime
9-
containerImage: 0.1.10
9+
containerImage: ghcr.io/paperclipinc/hermes-operator:v0.1.10
1010
createdAt: '2026-05-12T00:00:00Z'
1111
support: paperclipinc
1212
repository: https://github.com/paperclipinc/hermes-operator
@@ -96,6 +96,9 @@ metadata:
9696
features.operators.openshift.io/token-auth-azure: 'false'
9797
features.operators.openshift.io/token-auth-gcp: 'false'
9898
spec:
99+
icon:
100+
- base64data: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggMTI4IiByb2xlPSJpbWciIGFyaWEtbGFiZWw9Ikhlcm1lcyBPcGVyYXRvciI+CiAgPHJlY3Qgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiIHJ4PSIyNCIgZmlsbD0iIzBCMTAyMCIvPgogIDxwYXRoIGQ9Ik00NCAzNnY1Nk04NCAzNnY1Nk00NCA2NGg0MCIgc3Ryb2tlPSIjNUI4REVGIiBzdHJva2Utd2lkdGg9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8cGF0aCBkPSJNMzAgNTBjLTEwLTYtMjAtNi0yNi0yIDggMiAxNCA2IDE4IDEyek05OCA1MGMxMC02IDIwLTYgMjYtMi04IDItMTQgNi0xOCAxMnoiIGZpbGw9IiM3Q0UwQzMiLz4KPC9zdmc+Cg==
101+
mediatype: image/svg+xml
99102
displayName: Hermes Operator
100103
description: >
101104
## Hermes Kubernetes Operator
@@ -239,7 +242,7 @@ spec:
239242
- name: hermes-operator
240243
image: ghcr.io/paperclipinc/hermes-operator:v0.1.0
241244
- name: hermes-agent
242-
image: ghcr.io/paperclipinc/hermes-agent:latest
245+
image: ghcr.io/paperclipinc/hermes-agent:v2026.5.29.2
243246
customresourcedefinitions:
244247
owned:
245248
- name: hermesinstances.hermes.agent

release-please-config.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
{ "type": "yaml", "path": "charts/hermes-operator/Chart.yaml", "jsonpath": "$.version" },
2323
{ "type": "yaml", "path": "charts/hermes-operator/Chart.yaml", "jsonpath": "$.appVersion" },
2424
{ "type": "yaml", "path": "charts/hermes-operator/values.yaml", "jsonpath": "$.image.tag" },
25-
{ "type": "yaml", "path": "bundle/manifests/hermes-operator.clusterserviceversion.yaml", "jsonpath": "$.metadata.name" },
26-
{ "type": "yaml", "path": "bundle/manifests/hermes-operator.clusterserviceversion.yaml", "jsonpath": "$.metadata.annotations.containerImage" },
2725
{ "type": "yaml", "path": "bundle/manifests/hermes-operator.clusterserviceversion.yaml", "jsonpath": "$.spec.version" }
2826
]
2927
}

0 commit comments

Comments
 (0)