Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
0e70fe3
tests: address CodeRabbit review comments from downstream PR (#2672)
tmshort Apr 27, 2026
e12d90b
:bug: Fix catalogd ha readiness (#2674)
tmshort Apr 27, 2026
cadb7a7
:seedling: Bump github.com/google/go-containerregistry (#2677)
dependabot[bot] Apr 27, 2026
aa70192
:seedling: Bump marocchino/sticky-pull-request-comment (#2676)
dependabot[bot] Apr 28, 2026
ee337de
:seedling: Bump github.com/cert-manager/cert-manager (#2678)
dependabot[bot] Apr 28, 2026
4ce4bab
adds support for parsing explicit `pkg.Release` field (#2543)
rashmigottipati Apr 28, 2026
682225b
Merge branch 'main' into synchronize
Apr 29, 2026
7d21a82
UPSTREAM: <carry>: Add OpenShift specific files
dtfranz Oct 26, 2023
f3e56bb
UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
camilamacedo86 Oct 6, 2025
186fcde
UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
camilamacedo86 Oct 13, 2025
eb32541
UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp …
camilamacedo86 Oct 13, 2025
cb83f9a
UPSTREAM: <carry>: Update OCP catalogs to v4.21
tmshort Oct 13, 2025
af36af1
UPSTREAM: <carry>: support singleown cases in disconnected
kuiwang02 Oct 16, 2025
29aca7e
UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
kuiwang02 Oct 17, 2025
3bb11a5
UPSTREAM: <carry>: Define Default timeouts and apply their usage accr…
camilamacedo86 Oct 22, 2025
f5450db
UPSTREAM: <carry>: Update to new feature-gate options in helm
tmshort Oct 22, 2025
85d1491
UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniq…
camilamacedo86 Oct 22, 2025
93b275e
UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comme…
camilamacedo86 Oct 24, 2025
849f23b
UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inlin…
kuiwang02 Nov 3, 2025
f7e52cb
UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension…
camilamacedo86 Nov 4, 2025
6e1e1dd
UPSTREAM: <carry>: Add [OTP] to migrated cases
kuiwang02 Nov 7, 2025
7acbceb
UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
camilamacedo86 Nov 5, 2025
e4637e8
UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version…
camilamacedo86 Nov 10, 2025
fd85194
UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and depe…
camilamacedo86 Nov 11, 2025
5647b1b
UPSTREAM: <carry>: add disconnected environment support with custom p…
kuiwang02 Nov 12, 2025
ad6f8b1
UPSTREAM: <carry>: migrate jiazha test cases to OTE
jianzhangbjz Nov 14, 2025
90c816e
UPSTREAM: <carry>: migrate clustercatalog case to ote
Xia-Zhao-rh Oct 17, 2025
fdd98cc
UPSTREAM: <carry>: migrate olmv1 QE stress cases
kuiwang02 Nov 20, 2025
1f5dd0e
UPSTREAM: <carry>: Use busybox/httpd to simulate probes
tmshort Nov 25, 2025
6702ef8
UPSTREAM: <carry>: migrate olmv1 QE cases
Xia-Zhao-rh Nov 25, 2025
de0eb32
UPSTREAM: <carry>: add agent for olmv1 qe cases
kuiwang02 Oct 21, 2025
cc042c2
UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
tmshort Dec 3, 2025
9f60f9b
UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
rashmigottipati Dec 11, 2025
d83e6e9
UPSTREAM: <carry>: address review comments through addl prompts
rashmigottipati Dec 11, 2025
dc1e710
UPSTREAM: <carry>: addressing some more review comments
rashmigottipati Dec 11, 2025
629583c
UPSTREAM: <carry>: remove DCO line
rashmigottipati Dec 11, 2025
444f952
UPSTREAM: <carry>: migrate bandrade test cases to OTE
bandrade Nov 18, 2025
2ff0e24
UPSTREAM: <carry>: update metadata
bandrade Dec 3, 2025
33919c1
UPSTREAM: <carry>: remove originalName
bandrade Dec 3, 2025
c4ab8c5
UPSTREAM: <carry>: update 80458's timeout to 180s
jianzhangbjz Dec 8, 2025
cebc002
UPSTREAM: <carry>: update 83026 to specify the clustercatalog
jianzhangbjz Dec 15, 2025
493846e
UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
oceanc80 Dec 18, 2025
25985c7
UPSTREAM: <carry>: Use oc client for running e2e tests
pedjak Jan 13, 2026
9e134b2
UPSTREAM: <carry>: Run upstream e2e tests tagged with `@catalogd-update`
pedjak Jan 14, 2026
1535208
UPSTREAM: <carry>: enhance case to make it more stable
kuiwang02 Jan 6, 2026
99976a6
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Jan 7, 2026
3c8842c
UPSTREAM: <carry>: move sa creation out of buildCurlJob()
ehearne-redhat Jan 8, 2026
b96392c
UPSTREAM: <carry>: comment out delete service account
ehearne-redhat Jan 9, 2026
45d86ea
UPSTREAM: <carry>: move defercleanup for sa for LIFO
ehearne-redhat Jan 9, 2026
fc6eb78
UPSTREAM: <carry>: add polling so job fully deleted before proceed
ehearne-redhat Jan 12, 2026
d22f0e0
UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redha…
sosiouxme Jan 20, 2026
7c43773
UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
camilamacedo86 Jan 8, 2026
ae516ab
UPSTREAM: <carry>: config watchnamespace cases
kuiwang02 Jan 6, 2026
8b1a72c
UPSTREAM: <carry>: enhance ocp-79770
Xia-Zhao-rh Jan 26, 2026
991c919
UPSTREAM: <carry>: upgrade version support case
kuiwang02 Jan 28, 2026
a50f08c
UPSTREAM: <carry>: Remove installed condition check from auth preflig…
Jan 30, 2026
8f1001f
UPSTREAM: <carry>: Add openshift/api dependency
Jan 30, 2026
77cc4db
UPSTREAM: <carry>: Add boxcutter specific preflight auth test
Jan 30, 2026
c0b34e9
UPSTREAM: <carry>: adjust watchnamespace case based on change
kuiwang02 Feb 2, 2026
ffa4699
UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root…
camilamacedo86 Feb 3, 2026
88e2a82
UPSTREAM: <carry>: add 83979 automation
bandrade Feb 2, 2026
22467f4
UPSTREAM: <carry>: add 85889 automation
bandrade Feb 2, 2026
42172e2
UPSTREAM: <carry>: Update test-operator startup script to fix pod pro…
Feb 4, 2026
7ee6b80
UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
Feb 7, 2026
70dde62
UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles…
camilamacedo86 Feb 24, 2026
c0a5385
UPSTREAM: <carry>: adjust sa and permission test cases per new change…
kuiwang02 Feb 2, 2026
6591369
UPSTREAM: <carry>: Update OCP catalogs to v4.22
camilamacedo86 Feb 3, 2026
a2ec03b
UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and…
camilamacedo86 Feb 26, 2026
67db790
UPSTREAM: <carry>: fix 83026 for TP cluster
jianzhangbjz Feb 28, 2026
21ebeda
UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
kuiwang02 Mar 6, 2026
55b498f
UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
stbenjam Mar 6, 2026
548e5e9
UPSTREAM: <carry>: Increase install timeout and add diagnostic loggin…
camilamacedo86 Mar 11, 2026
a914c7d
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Mar 2, 2026
f5efc96
UPSTREAM: <carry>: update OCP-75441 to support multi-arch
jianzhangbjz Mar 19, 2026
683c374
UPSTREAM: <carry>: deployment config cases
kuiwang02 Feb 6, 2026
bea443c
UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
tmshort Mar 11, 2026
9dafe8c
UPSTREAM: <carry>: Update openshift/api and client-go
tmshort Mar 19, 2026
4702c4a
UPSTREAM: <carry>: Add boxcutter tests
camilamacedo86 Mar 23, 2026
ff1c31e
UPSTREAM: <carry>: enhance QE cases
Xia-Zhao-rh Mar 17, 2026
8751178
UPSTREAM: <carry>: Update quay-operator version to one containing arm…
dtfranz Mar 24, 2026
cd7e796
UPSTREAM: <carry>: verify volume/volumeMount override
kuiwang02 Mar 25, 2026
03d2068
UPSTREAM: <carry>: Add long-duration test script and documents
jianzhangbjz Mar 11, 2026
3a11e34
UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
tmshort Mar 27, 2026
e99a78c
UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSe…
camilamacedo86 Mar 31, 2026
5aa3e1e
UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter use…
camilamacedo86 Mar 31, 2026
0a2e8a2
UPSTREAM: <carry>: add ocp-87557
bandrade Feb 8, 2026
c95acbd
UPSTREAM: <carry>: Add fgiudici as reviewer
fgiudici Mar 31, 2026
700ebba
UPSTREAM: <carry>: Remove skip for incompatible operator check after …
camilamacedo86 Apr 1, 2026
d559200
UPSTREAM: <carry>: Test empty affinity erasure and cleanup
kuiwang02 Apr 1, 2026
2837680
UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in prefligh…
camilamacedo86 Apr 9, 2026
1628a22
UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
camilamacedo86 Apr 15, 2026
2c20aef
UPSTREAM: <carry>: Disable upstream TLSProfile tests
tmshort Apr 18, 2026
2fec97b
UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests …
camilamacedo86 Apr 20, 2026
692836d
UPSTREAM: <drop>: go mod vendor
Apr 29, 2026
9245e47
UPSTREAM: <drop>: remove upstream GitHub configuration
Apr 29, 2026
b09c936
UPSTREAM: <drop>: configure the commit-checker
Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ $(eval $(call install-sh,standard,operator-controller-standard.yaml))
.PHONY: test
test: manifests generate fmt lint test-unit test-e2e test-regression #HELP Run all tests.

E2E_TIMEOUT ?= 15m
E2E_TIMEOUT ?= 20m
GODOG_ARGS ?=
.PHONY: e2e
e2e: #EXHELP Run the e2e tests.
Expand Down Expand Up @@ -316,7 +316,7 @@ test-experimental-e2e: COVERAGE_NAME := experimental-e2e
test-experimental-e2e: export MANIFEST := $(EXPERIMENTAL_RELEASE_MANIFEST)
test-experimental-e2e: export INSTALL_DEFAULT_CATALOGS := false
test-experimental-e2e: PROMETHEUS_VALUES := helm/prom_experimental.yaml
test-experimental-e2e: E2E_TIMEOUT := 20m
test-experimental-e2e: E2E_TIMEOUT := 25m
test-experimental-e2e: run-internal prometheus e2e e2e-coverage kind-clean #HELP Run experimental e2e test suite on local kind cluster

.PHONY: prometheus
Expand Down
23 changes: 23 additions & 0 deletions api/v1/clusterextension_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,29 @@ type BundleMetadata struct {
// +required
// +kubebuilder:validation:XValidation:rule="self.matches(\"^([0-9]+)(\\\\.[0-9]+)?(\\\\.[0-9]+)?(-([-0-9A-Za-z]+(\\\\.[-0-9A-Za-z]+)*))?(\\\\+([-0-9A-Za-z]+(-\\\\.[-0-9A-Za-z]+)*))?\")",message="version must be well-formed semver"
Version string `json:"version"`

// release is an optional field that identifies a specific release of this bundle's version.
// A release represents a re-publication of the same version, typically used to deliver
// packaging or metadata changes without changing the version number. When multiple
// releases exist for the same version, higher releases are preferred. An unset release
// is less preferred than all other release values.
//
// The value consists of dot-separated identifiers, where each identifier is either a
// numeric value (without leading zeros) or an alphanumeric string (e.g., "2", "1.el9",
// "3.alpha.1"). Releases are compared identifier by identifier: numeric identifiers are
// compared as integers, alphanumeric identifiers are compared lexically, and numeric
// identifiers always sort before alphanumeric identifiers.
//
// For bundles with explicit pkg.Release metadata, this field contains that release value.
// For registry+v1 bundles lacking an explicit release value, this field contains the release
// extracted from version's build metadata (e.g., '2' from '1.0.0+2').
// This field is omitted when the bundle's release value is unset.
//
// +optional
// <opcon:experimental>
// +kubebuilder:validation:MaxLength=20
// +kubebuilder:validation:XValidation:rule="self.matches(\"^$|^(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*$\")",message="release must be empty or consist of dot-separated identifiers (numeric without leading zeros, or alphanumeric)"
Release *string `json:"release,omitempty"`
Comment on lines +489 to +491
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

MaxLength=20 introduces a schema/runtime mismatch that can block reconciliation.

Line 489 caps status.install.bundle.release to 20 chars, but release parsing/propagation paths accept valid longer values. A valid release string over 20 chars would fail status validation at write time instead of being handled deterministically earlier.

💡 Proposed fix (align API with current parser behavior)
-	// +kubebuilder:validation:MaxLength=20
 	// +kubebuilder:validation:XValidation:rule="self.matches(\"^$|^(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*$\")",message="release must be empty or consist of dot-separated identifiers (numeric without leading zeros, or alphanumeric)"
 	Release *string `json:"release,omitempty"`

If the 20-char cap is required, enforce that same limit at all ingestion points before status assignment, and return a clear validation error there.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@api/v1/clusterextension_types.go` around lines 489 - 491, The MaxLength=20
validation on the Release field (Release *string `json:"release,omitempty"`)
creates a mismatch with downstream parsing/propagation; remove or change the `//
+kubebuilder:validation:MaxLength=20` annotation on the Release field in
clusterextension_types.go so the CRD allows the longer valid release strings the
parser accepts (or increase the limit to the parser’s maximum), or alternatively
implement the same 20-char check at all ingestion points before assigning to
status.install.bundle.release and return a clear validation error there; update
the annotation and any upstream validators consistent with the chosen approach.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@grokspawn @rashmigottipati do we care about this?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

}

// RevisionStatus defines the observed state of a ClusterObjectSet.
Expand Down
9 changes: 7 additions & 2 deletions api/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions applyconfigurations/api/v1/bundlemetadata.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions docs/api-reference/olmv1-api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ _Appears in:_
| --- | --- | --- | --- |
| `name` _string_ | name is required and follows the DNS subdomain standard as defined in [RFC 1123].<br />It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.),<br />start and end with an alphanumeric character, and be no longer than 253 characters. | | Required: \{\} <br /> |
| `version` _string_ | version is required and references the version that this bundle represents.<br />It follows the semantic versioning standard as defined in https://semver.org/. | | Required: \{\} <br /> |
| `release` _string_ | release is an optional field that identifies a specific release of this bundle's version.<br />A release represents a re-publication of the same version, typically used to deliver<br />packaging or metadata changes without changing the version number. When multiple<br />releases exist for the same version, higher releases are preferred. An unset release<br />is less preferred than all other release values.<br />The value consists of dot-separated identifiers, where each identifier is either a<br />numeric value (without leading zeros) or an alphanumeric string (e.g., "2", "1.el9",<br />"3.alpha.1"). Releases are compared identifier by identifier: numeric identifiers are<br />compared as integers, alphanumeric identifiers are compared lexically, and numeric<br />identifiers always sort before alphanumeric identifiers.<br />For bundles with explicit pkg.Release metadata, this field contains that release value.<br />For registry+v1 bundles lacking an explicit release value, this field contains the release<br />extracted from version's build metadata (e.g., '2' from '1.0.0+2').<br />This field is omitted when the bundle's release value is unset.<br /><opcon:experimental> | | MaxLength: 20 <br />Optional: \{\} <br /> |


#### CRDUpgradeSafetyEnforcement
Expand Down
2 changes: 1 addition & 1 deletion docs/designs/testing/2026-04-13-e2e-isolation/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Each scenario dynamically builds and pushes its own bundle and catalog OCI image
parameterized by scenario ID. All cluster-scoped resource names include the scenario ID, making
conflicts structurally impossible.

```
```text
Scenario starts
-> Generate parameterized bundle manifests (CRD names, deployments, etc. include scenario ID)
-> Build + push bundle OCI images to e2e registry via go-containerregistry
Expand Down
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ require (
github.com/BurntSushi/toml v1.6.0
github.com/Masterminds/semver/v3 v3.4.0
github.com/blang/semver/v4 v4.0.0
github.com/cert-manager/cert-manager v1.20.1
github.com/cert-manager/cert-manager v1.20.2
github.com/containerd/containerd v1.7.30
github.com/cucumber/godog v0.15.1
github.com/evanphx/json-patch v5.9.11+incompatible
github.com/fsnotify/fsnotify v1.9.0
github.com/go-logr/logr v1.4.3
github.com/golang-jwt/jwt/v5 v5.3.1
github.com/google/go-cmp v0.7.0
github.com/google/go-containerregistry v0.21.4
github.com/google/go-containerregistry v0.21.5
github.com/google/renameio/v2 v2.0.2
github.com/gorilla/handlers v1.5.2
github.com/klauspost/compress v1.18.5
Expand Down Expand Up @@ -97,7 +97,7 @@ require (
github.com/cyphar/filepath-securejoin v0.6.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/docker/cli v29.3.1+incompatible // indirect
github.com/docker/cli v29.4.0+incompatible // indirect
github.com/docker/distribution v2.8.3+incompatible // indirect
github.com/docker/docker v28.5.2+incompatible // indirect
github.com/docker/docker-credential-helpers v0.9.5 // indirect
Expand Down
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR
github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM=
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cert-manager/cert-manager v1.20.1 h1:99ExHJu5TPp1V92AvvE4oY6BkOSyJiWLxxMkbqbdGaY=
github.com/cert-manager/cert-manager v1.20.1/go.mod h1:ut67FnggYJJqAdDWLhSPnj10P06QwbNU88RYNh9MvMc=
github.com/cert-manager/cert-manager v1.20.2 h1:CimnY00nLqB2lmxhoSuEC4GDMFDK7JCXqyjwMM9ndIQ=
github.com/cert-manager/cert-manager v1.20.2/go.mod h1:1g/+a/WK5zWH/dXPZa3dMD3aJQJNRXQu+PN17C6WrOw=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chai2010/gettext-go v1.0.3 h1:9liNh8t+u26xl5ddmWLmsOsdNLwkdRTg5AG+JnTiM80=
Expand Down Expand Up @@ -114,8 +114,8 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/docker/cli v29.3.1+incompatible h1:M04FDj2TRehDacrosh7Vlkgc7AuQoWloQkf1PA5hmoI=
github.com/docker/cli v29.3.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
github.com/docker/cli v29.4.0+incompatible h1:+IjXULMetlvWJiuSI0Nbor36lcJ5BTcVpUmB21KBoVM=
github.com/docker/cli v29.4.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
Expand Down Expand Up @@ -260,8 +260,8 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/go-containerregistry v0.21.4 h1:VrhlIQtdhE6riZW//MjPrcJ1snAjPoCCpPHqGOygrv8=
github.com/google/go-containerregistry v0.21.4/go.mod h1:kxgc23zQ2qMY/hAKt0wCbB/7tkeovAP2mE2ienynJUw=
github.com/google/go-containerregistry v0.21.5 h1:KTJG9Pn/jC0VdZR6ctV3/jcN+q6/Iqlx0sTVz3ywZlM=
github.com/google/go-containerregistry v0.21.5/go.mod h1:ySvMuiWg+dOsRW0Hw8GYwfMwBlNRTmpYBFJPlkco5zU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
Expand Down
5 changes: 5 additions & 0 deletions helm/experimental.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,24 @@
# to pull in resources or additions
options:
operatorController:
deployment:
replicas: 2
features:
enabled:
- SingleOwnNamespaceInstallSupport
- PreflightPermissions
- HelmChartSupport
- BoxcutterRuntime
- DeploymentConfig
- BundleReleaseSupport
disabled:
- WebhookProviderOpenshiftServiceCA
# List of enabled experimental features for catalogd
# Use with {{- if has "FeatureGate" .Values.options.catalogd.features.enabled }}
# to pull in resources or additions
catalogd:
deployment:
replicas: 2
features:
enabled:
- APIV1MetasHandler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -688,6 +688,30 @@ spec:
hyphens (-) or periods (.), start and end with an alphanumeric
character, and be no longer than 253 characters
rule: self.matches("^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$")
release:
description: |-
release is an optional field that identifies a specific release of this bundle's version.
A release represents a re-publication of the same version, typically used to deliver
packaging or metadata changes without changing the version number. When multiple
releases exist for the same version, higher releases are preferred. An unset release
is less preferred than all other release values.

The value consists of dot-separated identifiers, where each identifier is either a
numeric value (without leading zeros) or an alphanumeric string (e.g., "2", "1.el9",
"3.alpha.1"). Releases are compared identifier by identifier: numeric identifiers are
compared as integers, alphanumeric identifiers are compared lexically, and numeric
identifiers always sort before alphanumeric identifiers.

For bundles with explicit pkg.Release metadata, this field contains that release value.
For registry+v1 bundles lacking an explicit release value, this field contains the release
extracted from version's build metadata (e.g., '2' from '1.0.0+2').
This field is omitted when the bundle's release value is unset.
maxLength: 20
type: string
x-kubernetes-validations:
- message: release must be empty or consist of dot-separated
identifiers (numeric without leading zeros, or alphanumeric)
rule: self.matches("^$|^(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*$")
version:
description: |-
version is required and references the version that this bundle represents.
Expand Down
Loading