Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
b8fd3ce
:seedling: Bump soupsieve from 2.8.1 to 2.8.2 (#2476)
dependabot[bot] Feb 2, 2026
b18a332
:seedling: Bump pkg.package-operator.run/boxcutter from 0.8.0 to 0.8.…
dependabot[bot] Feb 2, 2026
e224f78
Update crd-ref-docs tool from v0.2.0 to v0.3.0 (#2477)
camilamacedo86 Feb 2, 2026
a72b79f
:seedling: Bump github.com/cert-manager/cert-manager (#2478)
dependabot[bot] Feb 3, 2026
8daa35d
feat: Add DeploymentConfig support to registry+v1 bundle renderer (#2…
anik120 Feb 3, 2026
e41eb44
:seedling: Bump soupsieve from 2.8.2 to 2.8.3 (#2481)
dependabot[bot] Feb 3, 2026
2582cf1
Replace deprecated marker for required fields (#2407)
camilamacedo86 Feb 3, 2026
76c749f
Set owner-kind label on ClusterExtensionRevision resources (#2480)
perdasilva Feb 3, 2026
e274216
feat: Extract and pass deploymentConfig to bundle renderer (#2482)
anik120 Feb 3, 2026
c7eac68
Merge branch 'main' into synchronize
Feb 4, 2026
8e3ee7b
UPSTREAM: <carry>: Add OpenShift specific files
dtfranz Oct 26, 2023
9a25155
UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
camilamacedo86 Oct 6, 2025
30e4d57
UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
camilamacedo86 Oct 13, 2025
f5035aa
UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp …
camilamacedo86 Oct 13, 2025
9cfd3fb
UPSTREAM: <carry>: Update OCP catalogs to v4.21
tmshort Oct 13, 2025
24ed7a6
UPSTREAM: <carry>: support singleown cases in disconnected
kuiwang02 Oct 16, 2025
362cbd2
UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
kuiwang02 Oct 17, 2025
357b347
UPSTREAM: <carry>: Define Default timeouts and apply their usage accr…
camilamacedo86 Oct 22, 2025
41d8f2d
UPSTREAM: <carry>: Update to new feature-gate options in helm
tmshort Oct 22, 2025
2cd467e
UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniq…
camilamacedo86 Oct 22, 2025
99c8d92
UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comme…
camilamacedo86 Oct 24, 2025
0ffcae4
UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inlin…
kuiwang02 Nov 3, 2025
284e9d2
UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension…
camilamacedo86 Nov 4, 2025
ba9f743
UPSTREAM: <carry>: Add [OTP] to migrated cases
kuiwang02 Nov 7, 2025
14aec75
UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
camilamacedo86 Nov 5, 2025
5e654e7
UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version…
camilamacedo86 Nov 10, 2025
17b6bc0
UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and depe…
camilamacedo86 Nov 11, 2025
fbb2317
UPSTREAM: <carry>: add disconnected environment support with custom p…
kuiwang02 Nov 12, 2025
465e5db
UPSTREAM: <carry>: migrate jiazha test cases to OTE
jianzhangbjz Nov 14, 2025
9c05d69
UPSTREAM: <carry>: migrate clustercatalog case to ote
Xia-Zhao-rh Oct 17, 2025
58c5f49
UPSTREAM: <carry>: migrate olmv1 QE stress cases
kuiwang02 Nov 20, 2025
7dbb034
UPSTREAM: <carry>: Use busybox/httpd to simulate probes
tmshort Nov 25, 2025
7cc7aa1
UPSTREAM: <carry>: migrate olmv1 QE cases
Xia-Zhao-rh Nov 25, 2025
e8dbd09
UPSTREAM: <carry>: add agent for olmv1 qe cases
kuiwang02 Oct 21, 2025
7cd8076
UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
tmshort Dec 3, 2025
a4f431c
UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
rashmigottipati Dec 11, 2025
a0cf7b5
UPSTREAM: <carry>: address review comments through addl prompts
rashmigottipati Dec 11, 2025
61bdaf3
UPSTREAM: <carry>: addressing some more review comments
rashmigottipati Dec 11, 2025
5360d55
UPSTREAM: <carry>: remove DCO line
rashmigottipati Dec 11, 2025
36003ec
UPSTREAM: <carry>: migrate bandrade test cases to OTE
bandrade Nov 18, 2025
df2f4f2
UPSTREAM: <carry>: update metadata
bandrade Dec 3, 2025
88764c7
UPSTREAM: <carry>: remove originalName
bandrade Dec 3, 2025
a85c110
UPSTREAM: <carry>: update 80458's timeout to 180s
jianzhangbjz Dec 8, 2025
fc88ae6
UPSTREAM: <carry>: update 83026 to specify the clustercatalog
jianzhangbjz Dec 15, 2025
f4e21b9
UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
oceanc80 Dec 18, 2025
dabb4a3
UPSTREAM: <carry>: Use oc client for running e2e tests
pedjak Jan 13, 2026
f475d3d
UPSTREAM: <carry>: Run upstream e2e tests tagged with `@catalogd-update`
pedjak Jan 14, 2026
f54dd53
UPSTREAM: <carry>: enhance case to make it more stable
kuiwang02 Jan 6, 2026
db1c1f7
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Jan 7, 2026
f45da61
UPSTREAM: <carry>: move sa creation out of buildCurlJob()
ehearne-redhat Jan 8, 2026
90c82ed
UPSTREAM: <carry>: comment out delete service account
ehearne-redhat Jan 9, 2026
83b5472
UPSTREAM: <carry>: move defercleanup for sa for LIFO
ehearne-redhat Jan 9, 2026
df26493
UPSTREAM: <carry>: add polling so job fully deleted before proceed
ehearne-redhat Jan 12, 2026
db2f92c
UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redha…
sosiouxme Jan 20, 2026
11e6d6a
UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
camilamacedo86 Jan 8, 2026
75bce88
UPSTREAM: <carry>: config watchnamespace cases
kuiwang02 Jan 6, 2026
a60a018
UPSTREAM: <carry>: enhance ocp-79770
Xia-Zhao-rh Jan 26, 2026
e3dd3ab
UPSTREAM: <carry>: upgrade version support case
kuiwang02 Jan 28, 2026
07e77d5
UPSTREAM: <carry>: Remove installed condition check from auth preflig…
Jan 30, 2026
15a80b3
UPSTREAM: <carry>: Add openshift/api dependency
Jan 30, 2026
65c3b7d
UPSTREAM: <carry>: Add boxcutter specific preflight auth test
Jan 30, 2026
aadaf60
UPSTREAM: <carry>: adjust watchnamespace case based on change
kuiwang02 Feb 2, 2026
82427e3
UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root…
camilamacedo86 Feb 3, 2026
0ad1db2
UPSTREAM: <drop>: go mod vendor
Feb 4, 2026
1afefb0
UPSTREAM: <drop>: remove upstream GitHub configuration
Feb 4, 2026
c5f7c05
UPSTREAM: <drop>: configure the commit-checker
Feb 4, 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
6 changes: 3 additions & 3 deletions .bingo/Variables.mk
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ $(CRD_DIFF): $(BINGO_DIR)/crd-diff.mod
@echo "(re)installing $(GOBIN)/crd-diff-v0.5.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=crd-diff.mod -o=$(GOBIN)/crd-diff-v0.5.0 "sigs.k8s.io/crdify"

CRD_REF_DOCS := $(GOBIN)/crd-ref-docs-v0.2.0
CRD_REF_DOCS := $(GOBIN)/crd-ref-docs-v0.3.0
$(CRD_REF_DOCS): $(BINGO_DIR)/crd-ref-docs.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/crd-ref-docs-v0.2.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=crd-ref-docs.mod -o=$(GOBIN)/crd-ref-docs-v0.2.0 "github.com/elastic/crd-ref-docs"
@echo "(re)installing $(GOBIN)/crd-ref-docs-v0.3.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=crd-ref-docs.mod -o=$(GOBIN)/crd-ref-docs-v0.3.0 "github.com/elastic/crd-ref-docs"

GOJQ := $(GOBIN)/gojq-v0.12.17
$(GOJQ): $(BINGO_DIR)/gojq.mod
Expand Down
4 changes: 2 additions & 2 deletions .bingo/crd-ref-docs.mod
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT

go 1.24.0
go 1.25.0

require github.com/elastic/crd-ref-docs v0.2.0
require github.com/elastic/crd-ref-docs v0.3.0
58 changes: 58 additions & 0 deletions .bingo/crd-ref-docs.sum

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .bingo/variables.env
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ CONTROLLER_GEN="${GOBIN}/controller-gen-v0.20.0"

CRD_DIFF="${GOBIN}/crd-diff-v0.5.0"

CRD_REF_DOCS="${GOBIN}/crd-ref-docs-v0.2.0"
CRD_REF_DOCS="${GOBIN}/crd-ref-docs-v0.3.0"

GOJQ="${GOBIN}/gojq-v0.12.17"

Expand Down
16 changes: 8 additions & 8 deletions api/v1/clustercatalog_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ type ClusterCatalog struct {

// spec is a required field that defines the desired state of the ClusterCatalog.
// The controller ensures that the catalog is unpacked and served over the catalog content HTTP server.
// +kubebuilder:validation:Required
// +required
Spec ClusterCatalogSpec `json:"spec"`

// status contains the following information about the state of the ClusterCatalog:
Expand All @@ -85,7 +85,7 @@ type ClusterCatalogList struct {

// items is a list of ClusterCatalogs.
// items is required.
// +kubebuilder:validation:Required
// +required
Items []ClusterCatalog `json:"items"`
}

Expand All @@ -105,7 +105,7 @@ type ClusterCatalogSpec struct {
// image:
// ref: quay.io/operatorhubio/catalog:latest
//
// +kubebuilder:validation:Required
// +required
Source CatalogSource `json:"source"`

// priority is an optional field that defines a priority for this ClusterCatalog.
Expand Down Expand Up @@ -199,7 +199,7 @@ type ClusterCatalogURLs struct {
//
// New endpoints may be added as needs evolve.
//
// +kubebuilder:validation:Required
// +required
// +kubebuilder:validation:MaxLength:=525
// +kubebuilder:validation:XValidation:rule="isURL(self)",message="must be a valid URL"
// +kubebuilder:validation:XValidation:rule="isURL(self) ? (url(self).getScheme() == \"http\" || url(self).getScheme() == \"https\") : true",message="scheme must be either http or https"
Expand All @@ -220,7 +220,7 @@ type CatalogSource struct {
//
// +unionDiscriminator
// +kubebuilder:validation:Enum:="Image"
// +kubebuilder:validation:Required
// +required
Type SourceType `json:"type"`
// image configures how catalog contents are sourced from an OCI image.
// It is required when type is Image, and forbidden otherwise.
Expand All @@ -241,7 +241,7 @@ type ResolvedCatalogSource struct {
//
// +unionDiscriminator
// +kubebuilder:validation:Enum:="Image"
// +kubebuilder:validation:Required
// +required
Type SourceType `json:"type"`
// image contains resolution information for a catalog sourced from an image.
// It must be set when type is Image, and forbidden otherwise.
Expand All @@ -253,7 +253,7 @@ type ResolvedImageSource struct {
// ref contains the resolved image digest-based reference.
// The digest format allows you to use other tooling to fetch the exact OCI manifests
// that were used to extract the catalog contents.
// +kubebuilder:validation:Required
// +required
// +kubebuilder:validation:MaxLength:=1000
// +kubebuilder:validation:XValidation:rule="self.matches('^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])((\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+)?(:[0-9]+)?\\\\b')",message="must start with a valid domain. valid domains must be alphanumeric characters (lowercase and uppercase) separated by the \".\" character."
// +kubebuilder:validation:XValidation:rule="self.find('(\\\\/[a-z0-9]+((([._]|__|[-]*)[a-z0-9]+)+)?((\\\\/[a-z0-9]+((([._]|__|[-]*)[a-z0-9]+)+)?)+)?)') != \"\"",message="a valid name is required. valid names must contain lowercase alphanumeric characters separated only by the \".\", \"_\", \"__\", \"-\" characters."
Expand Down Expand Up @@ -307,7 +307,7 @@ type ImageSource struct {
// An example of a valid digest-based image reference is "quay.io/operatorhubio/catalog@sha256:200d4ddb2a73594b91358fe6397424e975205bfbe44614f5846033cad64b3f05"
// An example of a valid tag-based image reference is "quay.io/operatorhubio/catalog:latest"
//
// +kubebuilder:validation:Required
// +required
// +kubebuilder:validation:MaxLength:=1000
// +kubebuilder:validation:XValidation:rule="self.matches('^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])((\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+)?(:[0-9]+)?\\\\b')",message="must start with a valid domain. valid domains must be alphanumeric characters (lowercase and uppercase) separated by the \".\" character."
// +kubebuilder:validation:XValidation:rule="self.find('(\\\\/[a-z0-9]+((([._]|__|[-]*)[a-z0-9]+)+)?((\\\\/[a-z0-9]+((([._]|__|[-]*)[a-z0-9]+)+)?)+)?)') != \"\"",message="a valid name is required. valid names must contain lowercase alphanumeric characters separated only by the \".\", \"_\", \"__\", \"-\" characters."
Expand Down
24 changes: 12 additions & 12 deletions api/v1/clusterextension_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ type ClusterExtensionSpec struct {
// +kubebuilder:validation:MaxLength:=63
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="namespace is immutable"
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$\")",message="namespace must be a valid DNS1123 label"
// +kubebuilder:validation:Required
// +required
Namespace string `json:"namespace"`

// serviceAccount specifies a ServiceAccount used to perform all interactions with the cluster
Expand All @@ -72,7 +72,7 @@ type ClusterExtensionSpec struct {
// The ServiceAccount must exist in the namespace referenced in the spec.
// The serviceAccount field is required.
//
// +kubebuilder:validation:Required
// +required
ServiceAccount ServiceAccountReference `json:"serviceAccount"`

// source is required and selects the installation source of content for this ClusterExtension.
Expand All @@ -88,7 +88,7 @@ type ClusterExtensionSpec struct {
// catalog:
// packageName: example-package
//
// +kubebuilder:validation:Required
// +required
Source SourceConfig `json:"source"`

// install is optional and configures installation options for the ClusterExtension,
Expand Down Expand Up @@ -137,7 +137,7 @@ type SourceConfig struct {
//
// +unionDiscriminator
// +kubebuilder:validation:Enum:="Catalog"
// +kubebuilder:validation:Required
// +required
SourceType string `json:"sourceType"`

// catalog configures how information is sourced from a catalog.
Expand Down Expand Up @@ -177,7 +177,7 @@ type ClusterExtensionConfig struct {
//
// +unionDiscriminator
// +kubebuilder:validation:Enum:="Inline"
// +kubebuilder:validation:Required
// +required
ConfigType ClusterExtensionConfigType `json:"configType"`

// inline contains JSON or YAML values specified directly in the ClusterExtension.
Expand Down Expand Up @@ -220,7 +220,7 @@ type CatalogFilter struct {
// +kubebuilder:validation:MaxLength:=253
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="packageName is immutable"
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="packageName must be a valid DNS1123 subdomain. It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.), start and end with an alphanumeric character, and be no longer than 253 characters"
// +kubebuilder:validation:Required
// +required
PackageName string `json:"packageName"`

// version is an optional semver constraint (a specific version or range of versions).
Expand Down Expand Up @@ -403,7 +403,7 @@ type ServiceAccountReference struct {
// +kubebuilder:validation:MaxLength:=253
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable"
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="name must be a valid DNS1123 subdomain. It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.), start and end with an alphanumeric character, and be no longer than 253 characters"
// +kubebuilder:validation:Required
// +required
Name string `json:"name"`
}

Expand Down Expand Up @@ -431,7 +431,7 @@ type CRDUpgradeSafetyPreflightConfig struct {
// When set to "Strict", the CRD Upgrade Safety pre-flight check runs during an upgrade operation.
//
// +kubebuilder:validation:Enum:="None";"Strict"
// +kubebuilder:validation:Required
// +required
Enforcement CRDUpgradeSafetyEnforcement `json:"enforcement"`
}

Expand All @@ -455,14 +455,14 @@ type BundleMetadata struct {
// It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.),
// start and end with an alphanumeric character, and be no longer than 253 characters.
//
// +kubebuilder:validation:Required
// +required
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="packageName must be a valid DNS1123 subdomain. It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.), start and end with an alphanumeric character, and be no longer than 253 characters"
Name string `json:"name"`

// version is required and references the version that this bundle represents.
// It follows the semantic versioning standard as defined in https://semver.org/.
//
// +kubebuilder:validation:Required
// +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"`
}
Expand Down Expand Up @@ -533,7 +533,7 @@ type ClusterExtensionInstallStatus struct {
// A "bundle" is a versioned set of content that represents the resources that need to be applied
// to a cluster to install a package.
//
// +kubebuilder:validation:Required
// +required
Bundle BundleMetadata `json:"bundle"`
}

Expand Down Expand Up @@ -575,7 +575,7 @@ type ClusterExtensionList struct {

// items is a required list of ClusterExtension objects.
//
// +kubebuilder:validation:Required
// +required
Items []ClusterExtension `json:"items"`
}

Expand Down
4 changes: 2 additions & 2 deletions api/v1/clusterextensionrevision_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ type ClusterExtensionRevisionSpec struct {
// Each ClusterExtensionRevision belonging to the same parent ClusterExtension must have a unique revision number.
// The revision number must always be the previous revision number plus one, or 1 for the first revision.
//
// +kubebuilder:validation:Required
// +required
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf", message="revision is immutable"
Revision int64 `json:"revision"`
Expand Down Expand Up @@ -253,7 +253,7 @@ type ClusterExtensionRevisionList struct {

// items is a required list of ClusterExtensionRevision objects.
//
// +kubebuilder:validation:Required
// +required
Items []ClusterExtensionRevision `json:"items"`
}

Expand Down
2 changes: 1 addition & 1 deletion commitchecker.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
expectedMergeBase: e617310cb535a41a5161d083ad293e7f5bd40077
expectedMergeBase: e2742168767ec87b1d44398f07fd9d6a06fce3f4
upstreamBranch: main
upstreamOrg: operator-framework
upstreamRepo: operator-controller
Loading