Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
b15d736
Add network policy for prometheus-operator in e2e tests (#2756)
pedjak Jun 9, 2026
53b5ecf
:bug: Fix support-bundle collection on e2e failure (#2755)
pedjak Jun 9, 2026
f96144f
tlsprofiles: add SecP256r1MLKEM768, SecP384r1MLKEM1024, and secp256r1…
tmshort Jun 10, 2026
b63979e
Bump k8s dependencies to v1.36.0 and update tooling (#2717)
dependabot[bot] Jun 10, 2026
23b7e52
E2E Summary Output Fix (#2751)
dtfranz Jun 10, 2026
9c49467
refactor: migrate e2e prometheus from custom chart to kube-prometheus…
pedjak Jun 11, 2026
df4bd9a
fix: use $(HELM) instead of bare helm in lint-helm target (#2758)
pedjak Jun 11, 2026
79f6c2a
fix: resolve crdUpgradeSafety reporting OneOf changes as unhandled (#…
pedjak Jun 11, 2026
c4e5bf3
:seedling: Bump platformdirs from 4.9.6 to 4.10.0 (#2761)
dependabot[bot] Jun 11, 2026
c5d627f
:seedling: Bump idna from 3.16 to 3.17 (#2760)
dependabot[bot] Jun 11, 2026
b5f05bb
Update operator-registry and api (#2762)
tmshort Jun 11, 2026
90a99bf
:seedling: Bump github.com/prometheus/common from 0.67.5 to 0.68.0 (#…
dependabot[bot] Jun 12, 2026
8807a64
fix: allow api-lint-diff to run from a git worktree (#2765)
pedjak Jun 12, 2026
af1dffb
docs: add API conventions and deprecation guidance to AGENTS.md (#2763)
pedjak Jun 16, 2026
f600212
Apply cluster TLS profile to outgoing HTTP client (#2767)
tmshort Jun 16, 2026
96df561
:seedling: Bump idna from 3.17 to 3.18 (#2769)
dependabot[bot] Jun 17, 2026
23f6365
:seedling: Bump github.com/prometheus/common from 0.68.0 to 0.68.1 (#…
dependabot[bot] Jun 17, 2026
a12398a
:seedling: Bump actions/checkout from 6.0.2 to 6.0.3 (#2768)
dependabot[bot] Jun 17, 2026
234140c
Merge branch 'main' into synchronize
Jun 18, 2026
e168977
UPSTREAM: <carry>: Add OpenShift specific files
dtfranz Oct 26, 2023
3b164e1
UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
camilamacedo86 Oct 6, 2025
2d48014
UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
camilamacedo86 Oct 13, 2025
59662ab
UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp …
camilamacedo86 Oct 13, 2025
20057c1
UPSTREAM: <carry>: Update OCP catalogs to v4.21
tmshort Oct 13, 2025
6cc572b
UPSTREAM: <carry>: support singleown cases in disconnected
kuiwang02 Oct 16, 2025
7aa9a81
UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
kuiwang02 Oct 17, 2025
0bb03d1
UPSTREAM: <carry>: Define Default timeouts and apply their usage accr…
camilamacedo86 Oct 22, 2025
a471c05
UPSTREAM: <carry>: Update to new feature-gate options in helm
tmshort Oct 22, 2025
c4c5492
UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniq…
camilamacedo86 Oct 22, 2025
5d74843
UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comme…
camilamacedo86 Oct 24, 2025
bd8dbcc
UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inlin…
kuiwang02 Nov 3, 2025
87333a1
UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension…
camilamacedo86 Nov 4, 2025
5e404ac
UPSTREAM: <carry>: Add [OTP] to migrated cases
kuiwang02 Nov 7, 2025
a55f408
UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
camilamacedo86 Nov 5, 2025
bb51577
UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version…
camilamacedo86 Nov 10, 2025
e97cdb6
UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and depe…
camilamacedo86 Nov 11, 2025
152c300
UPSTREAM: <carry>: add disconnected environment support with custom p…
kuiwang02 Nov 12, 2025
73f9475
UPSTREAM: <carry>: migrate jiazha test cases to OTE
jianzhangbjz Nov 14, 2025
95fbd8e
UPSTREAM: <carry>: migrate clustercatalog case to ote
Xia-Zhao-rh Oct 17, 2025
931c508
UPSTREAM: <carry>: migrate olmv1 QE stress cases
kuiwang02 Nov 20, 2025
c3d9357
UPSTREAM: <carry>: Use busybox/httpd to simulate probes
tmshort Nov 25, 2025
1c3242b
UPSTREAM: <carry>: migrate olmv1 QE cases
Xia-Zhao-rh Nov 25, 2025
4844df8
UPSTREAM: <carry>: add agent for olmv1 qe cases
kuiwang02 Oct 21, 2025
da5b475
UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
tmshort Dec 3, 2025
300a53e
UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
rashmigottipati Dec 11, 2025
5398ba0
UPSTREAM: <carry>: address review comments through addl prompts
rashmigottipati Dec 11, 2025
cd55e4d
UPSTREAM: <carry>: addressing some more review comments
rashmigottipati Dec 11, 2025
1696dde
UPSTREAM: <carry>: remove DCO line
rashmigottipati Dec 11, 2025
e3e69f0
UPSTREAM: <carry>: migrate bandrade test cases to OTE
bandrade Nov 18, 2025
3be83fd
UPSTREAM: <carry>: update metadata
bandrade Dec 3, 2025
f26f091
UPSTREAM: <carry>: remove originalName
bandrade Dec 3, 2025
3e2c729
UPSTREAM: <carry>: update 80458's timeout to 180s
jianzhangbjz Dec 8, 2025
fabf6b2
UPSTREAM: <carry>: update 83026 to specify the clustercatalog
jianzhangbjz Dec 15, 2025
300fa5b
UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
oceanc80 Dec 18, 2025
e05580a
UPSTREAM: <carry>: Use oc client for running e2e tests
pedjak Jan 13, 2026
cf8a666
UPSTREAM: <carry>: Run upstream e2e tests tagged with `@catalogd-update`
pedjak Jan 14, 2026
9aad035
UPSTREAM: <carry>: enhance case to make it more stable
kuiwang02 Jan 6, 2026
a265832
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Jan 7, 2026
bb0ac62
UPSTREAM: <carry>: move sa creation out of buildCurlJob()
ehearne-redhat Jan 8, 2026
1db3a58
UPSTREAM: <carry>: comment out delete service account
ehearne-redhat Jan 9, 2026
d7e6c63
UPSTREAM: <carry>: move defercleanup for sa for LIFO
ehearne-redhat Jan 9, 2026
2647d61
UPSTREAM: <carry>: add polling so job fully deleted before proceed
ehearne-redhat Jan 12, 2026
fcb0bf2
UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redha…
sosiouxme Jan 20, 2026
0945b8f
UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
camilamacedo86 Jan 8, 2026
8e97740
UPSTREAM: <carry>: config watchnamespace cases
kuiwang02 Jan 6, 2026
2df911e
UPSTREAM: <carry>: enhance ocp-79770
Xia-Zhao-rh Jan 26, 2026
f43ada5
UPSTREAM: <carry>: upgrade version support case
kuiwang02 Jan 28, 2026
2d8242c
UPSTREAM: <carry>: Remove installed condition check from auth preflig…
Jan 30, 2026
9a12b76
UPSTREAM: <carry>: Add openshift/api dependency
Jan 30, 2026
aef5692
UPSTREAM: <carry>: Add boxcutter specific preflight auth test
Jan 30, 2026
3df9981
UPSTREAM: <carry>: adjust watchnamespace case based on change
kuiwang02 Feb 2, 2026
1419fbc
UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root…
camilamacedo86 Feb 3, 2026
fbc1970
UPSTREAM: <carry>: add 83979 automation
bandrade Feb 2, 2026
28641c7
UPSTREAM: <carry>: add 85889 automation
bandrade Feb 2, 2026
4077621
UPSTREAM: <carry>: Update test-operator startup script to fix pod pro…
Feb 4, 2026
9b7f0e5
UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
Feb 7, 2026
04ff165
UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles…
camilamacedo86 Feb 24, 2026
d733661
UPSTREAM: <carry>: adjust sa and permission test cases per new change…
kuiwang02 Feb 2, 2026
6f601e3
UPSTREAM: <carry>: Update OCP catalogs to v4.22
camilamacedo86 Feb 3, 2026
4115878
UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and…
camilamacedo86 Feb 26, 2026
d2850e9
UPSTREAM: <carry>: fix 83026 for TP cluster
jianzhangbjz Feb 28, 2026
699b825
UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
kuiwang02 Mar 6, 2026
df05382
UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
stbenjam Mar 6, 2026
9685017
UPSTREAM: <carry>: Increase install timeout and add diagnostic loggin…
camilamacedo86 Mar 11, 2026
492a794
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Mar 2, 2026
3b09481
UPSTREAM: <carry>: update OCP-75441 to support multi-arch
jianzhangbjz Mar 19, 2026
d36b0cb
UPSTREAM: <carry>: deployment config cases
kuiwang02 Feb 6, 2026
cbb3390
UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
tmshort Mar 11, 2026
f7d734c
UPSTREAM: <carry>: Update openshift/api and client-go
tmshort Mar 19, 2026
f1319f1
UPSTREAM: <carry>: Add boxcutter tests
camilamacedo86 Mar 23, 2026
5980fb0
UPSTREAM: <carry>: enhance QE cases
Xia-Zhao-rh Mar 17, 2026
8aeed2b
UPSTREAM: <carry>: Update quay-operator version to one containing arm…
dtfranz Mar 24, 2026
5f003a5
UPSTREAM: <carry>: verify volume/volumeMount override
kuiwang02 Mar 25, 2026
e8db63e
UPSTREAM: <carry>: Add long-duration test script and documents
jianzhangbjz Mar 11, 2026
0e85bc8
UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
tmshort Mar 27, 2026
086d1a5
UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSe…
camilamacedo86 Mar 31, 2026
d83d887
UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter use…
camilamacedo86 Mar 31, 2026
a0bc292
UPSTREAM: <carry>: add ocp-87557
bandrade Feb 8, 2026
d71ba81
UPSTREAM: <carry>: Add fgiudici as reviewer
fgiudici Mar 31, 2026
c863210
UPSTREAM: <carry>: Remove skip for incompatible operator check after …
camilamacedo86 Apr 1, 2026
1a841a2
UPSTREAM: <carry>: Test empty affinity erasure and cleanup
kuiwang02 Apr 1, 2026
0046bf9
UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in prefligh…
camilamacedo86 Apr 9, 2026
1fce168
UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
camilamacedo86 Apr 15, 2026
da6f30f
UPSTREAM: <carry>: Disable upstream TLSProfile tests
tmshort Apr 18, 2026
8249f6e
UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests …
camilamacedo86 Apr 20, 2026
545e1b3
UPSTREAM: <carry>: OTE - Make OTE local output easier to read
camilamacedo86 Apr 21, 2026
c06bc3d
UPSTREAM: <carry>: remove dead e2e registry push job and related vari…
joelanford Apr 29, 2026
93bb1de
UPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-a…
tmshort Apr 23, 2026
2fd48d4
UPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait b…
tmshort May 4, 2026
67836e3
UPSTREAM: <carry>: Fix downstream e2e test invocation
tmshort May 18, 2026
35d4829
UPSTREAM: <carry>: Delete openshift/registry.Dockerfile
joelanford May 19, 2026
f10cca0
UPSTREAM: <carry>: Remove test-experimenal-e2e
tmshort May 20, 2026
bf84bf9
UPSTREAM: <carry>: Update readme Default Catalog Tests
camilamacedo86 May 27, 2026
81e3952
UPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
tmshort May 26, 2026
1c5c5bb
UPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23…
tmshort Jun 4, 2026
90bdaea
UPSTREAM: <carry>: Updating ose-olm-operator-controller-container ima…
Jun 6, 2026
020247b
UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be co…
Jun 6, 2026
702d547
UPSTREAM: <carry>: Update catalogs for 4.23/5.0
tmshort May 21, 2026
497dd7a
UPSTREAM: <drop>: go mod vendor
Jun 18, 2026
0b93b27
UPSTREAM: <drop>: remove upstream GitHub configuration
Jun 18, 2026
5d4f32e
UPSTREAM: <drop>: configure the commit-checker
Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 6 additions & 12 deletions .bingo/Variables.mk
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,17 @@ $(CONFTEST): $(BINGO_DIR)/conftest.mod
@echo "(re)installing $(GOBIN)/conftest-v0.62.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=conftest.mod -o=$(GOBIN)/conftest-v0.62.0 "github.com/open-policy-agent/conftest"

CONTROLLER_GEN := $(GOBIN)/controller-gen-v0.20.1
CONTROLLER_GEN := $(GOBIN)/controller-gen-v0.21.0
$(CONTROLLER_GEN): $(BINGO_DIR)/controller-gen.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)/controller-gen-v0.20.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=controller-gen.mod -o=$(GOBIN)/controller-gen-v0.20.1 "sigs.k8s.io/controller-tools/cmd/controller-gen"
@echo "(re)installing $(GOBIN)/controller-gen-v0.21.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=controller-gen.mod -o=$(GOBIN)/controller-gen-v0.21.0 "sigs.k8s.io/controller-tools/cmd/controller-gen"

CRD_DIFF := $(GOBIN)/crd-diff-v0.5.1-0.20260309184313-54162f2e3097
CRD_DIFF := $(GOBIN)/crd-diff-v0.6.0
$(CRD_DIFF): $(BINGO_DIR)/crd-diff.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-diff-v0.5.1-0.20260309184313-54162f2e3097"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=crd-diff.mod -o=$(GOBIN)/crd-diff-v0.5.1-0.20260309184313-54162f2e3097 "sigs.k8s.io/crdify"
@echo "(re)installing $(GOBIN)/crd-diff-v0.6.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=crd-diff.mod -o=$(GOBIN)/crd-diff-v0.6.0 "sigs.k8s.io/crdify"

CRD_REF_DOCS := $(GOBIN)/crd-ref-docs-v0.3.0
$(CRD_REF_DOCS): $(BINGO_DIR)/crd-ref-docs.mod
Expand Down Expand Up @@ -77,12 +77,6 @@ $(KUBE_SCORE): $(BINGO_DIR)/kube-score.mod
@echo "(re)installing $(GOBIN)/kube-score-v1.20.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=kube-score.mod -o=$(GOBIN)/kube-score-v1.20.0 "github.com/zegl/kube-score/cmd/kube-score"

KUSTOMIZE := $(GOBIN)/kustomize-v5.7.1
$(KUSTOMIZE): $(BINGO_DIR)/kustomize.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)/kustomize-v5.7.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=kustomize.mod -o=$(GOBIN)/kustomize-v5.7.1 "sigs.k8s.io/kustomize/kustomize/v5"

OPERATOR_SDK := $(GOBIN)/operator-sdk-v1.41.1
$(OPERATOR_SDK): $(BINGO_DIR)/operator-sdk.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
Expand Down
4 changes: 2 additions & 2 deletions .bingo/controller-gen.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.25.0
go 1.26.0

require sigs.k8s.io/controller-tools v0.20.1 // cmd/controller-gen
require sigs.k8s.io/controller-tools v0.21.0 // cmd/controller-gen
70 changes: 70 additions & 0 deletions .bingo/controller-gen.sum

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .bingo/crd-diff.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT

go 1.24.6

require sigs.k8s.io/crdify v0.5.1-0.20260309184313-54162f2e3097
require sigs.k8s.io/crdify v0.6.0
2 changes: 2 additions & 0 deletions .bingo/crd-diff.sum
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,8 @@ sigs.k8s.io/crdify v0.5.0 h1:mrMH9CgXQPTZUpTU6Klqfnlys8bggv/7uvLT2lXSP7A=
sigs.k8s.io/crdify v0.5.0/go.mod h1:ZIFxaYNgKYmFtZCLPysncXQ8oqwnNlHQbRUfxJHZwzU=
sigs.k8s.io/crdify v0.5.1-0.20260309184313-54162f2e3097 h1:gwDRFCc64lhEpxY944IJFW+CrmMFXWH+JjpE0JHp42Y=
sigs.k8s.io/crdify v0.5.1-0.20260309184313-54162f2e3097/go.mod h1:ZIFxaYNgKYmFtZCLPysncXQ8oqwnNlHQbRUfxJHZwzU=
sigs.k8s.io/crdify v0.6.0 h1:1id5uhODipmEvmMC8jlr7IbpHTnepySWmBNEiwv23WQ=
sigs.k8s.io/crdify v0.6.0/go.mod h1:ZIFxaYNgKYmFtZCLPysncXQ8oqwnNlHQbRUfxJHZwzU=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
Expand Down
5 changes: 0 additions & 5 deletions .bingo/kustomize.mod

This file was deleted.

87 changes: 0 additions & 87 deletions .bingo/kustomize.sum

This file was deleted.

6 changes: 2 additions & 4 deletions .bingo/variables.env
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ BINGO="${GOBIN}/bingo-v0.9.0"

CONFTEST="${GOBIN}/conftest-v0.62.0"

CONTROLLER_GEN="${GOBIN}/controller-gen-v0.20.1"
CONTROLLER_GEN="${GOBIN}/controller-gen-v0.21.0"

CRD_DIFF="${GOBIN}/crd-diff-v0.5.1-0.20260309184313-54162f2e3097"
CRD_DIFF="${GOBIN}/crd-diff-v0.6.0"

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

Expand All @@ -28,8 +28,6 @@ KIND="${GOBIN}/kind-v0.32.0"

KUBE_SCORE="${GOBIN}/kube-score-v1.20.0"

KUSTOMIZE="${GOBIN}/kustomize-v5.7.1"

OPERATOR_SDK="${GOBIN}/operator-sdk-v1.41.1"

OPM="${GOBIN}/opm-v1.60.0"
Expand Down
37 changes: 36 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,8 @@ make generate
│ │ ├── base/ # Base manifests & CRDs
│ │ ├── templates/ # Helm templates
│ │ └── values.yaml # Default values
│ └── prometheus/ # Prometheus monitoring
├── testdata/
│ └── prometheus/ # kube-prometheus-stack values for e2e monitoring
├── test/ # Test suites
│ ├── e2e/ # End-to-end tests (see test/e2e/README.md)
│ ├── extension-developer-e2e/ # Extension developer tests
Expand Down Expand Up @@ -206,6 +207,40 @@ Two manifest variants exist:
- **Standard:** Production-ready features
- **Experimental:** Features under development/testing (includes `ClusterObjectSet` API)

### API Conventions

API changes in `api/v1/*_types.go` must follow the [OpenShift API conventions](https://github.com/openshift/enhancements/blob/master/dev-guide/api-conventions.md) in addition to upstream [Kubernetes API conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md).

After modifying API types, run `make generate manifests crd-ref-docs` to regenerate DeepCopy/ApplyConfiguration code, CRDs, reference docs, and manifests. Run `make lint-api-diff` to validate changes against kube-api-linter.

**Deprecating fields:** Follow Go and OpenShift conventions (see [openshift/api](https://github.com/openshift/api) for examples):

```go
type ExampleConfig struct {
// value holds some value.
Value string `json:"value"`
}

// Deprecated: structField is no longer used and will be removed in a future release.
// Explanation of why and what replaces it.
//
// +optional
StructField ExampleConfig `json:"structField,omitzero"`

// Deprecated: scalarField is no longer used and will be removed in a future release.
// Explanation of why and what replaces it.
//
// +optional
ScalarField string `json:"scalarField,omitempty"`
```

- Use `Deprecated:` with capital D and colon (Go convention, recognized by godoc and staticcheck)
- Use the lowercase JSON field name (camelCase) in doc comments, not the Go PascalCase identifier — doc comments are surfaced to end users via `oc explain` and generated API docs
- Deprecated fields must be `+optional`, never `+required`
- Do not use pointers for optional struct fields (OpenShift convention); use value types with `omitzero`
- Use `omitzero` in the JSON tag for struct types, `omitempty` for scalar types (string, int, bool)
- For intentional reads of deprecated fields (e.g. deprecation warnings), add `//nolint:staticcheck` with a reason

---

## Git Workflows
Expand Down
35 changes: 27 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ ifeq ($(shell [[ $$HOME == "" || $$HOME == "/" ]] && [[ $$XDG_DATA_HOME == "" ]]
SETUP_ENVTEST_BIN_DIR_OVERRIDE += --bin-dir /tmp/envtest-binaries
endif

# bingo manages consistent tooling versions for things like kind, kustomize, etc.
# bingo manages consistent tooling versions for things like kind, etc.
include .bingo/Variables.mk

ifeq ($(origin KIND_CLUSTER_NAME), undefined)
Expand Down Expand Up @@ -123,9 +123,8 @@ lint: lint-custom $(GOLANGCI_LINT) #HELP Run golangci linter.

.PHONY: lint-helm
lint-helm: $(HELM) $(CONFTEST) #HELP Run helm linter
helm lint helm/olmv1
helm lint helm/prometheus
(set -euo pipefail; helm template olmv1 helm/olmv1; helm template prometheus helm/prometheus) | $(CONFTEST) test --policy hack/conftest/policy/ --combine -n main -n prometheus -
$(HELM) lint helm/olmv1
(set -euo pipefail; $(HELM) template olmv1 helm/olmv1) | $(CONFTEST) test --policy hack/conftest/policy/ --combine -n main -

.PHONY: lint-deployed-resources
lint-deployed-resources: $(KUBE_SCORE) #EXHELP Lint deployed resources.
Expand Down Expand Up @@ -166,6 +165,10 @@ tidy:
.PHONY: update-crds
update-crds:
hack/tools/update-crds.sh
@# Revert CRD files where the only change is the controller-gen version annotation
@for f in $$(git diff --name-only -- helm/ hack/tools/crd-generator/testdata/); do \
git diff --quiet -I 'controller-gen.kubebuilder.io/version' -- "$$f" && git restore --worktree -- "$$f" || true; \
done

# The filename variables can be overridden on the command line if you want to change the set of values files:
# e.g. make "manifests/standard.yaml=helm/cert-manager.yaml my-values-file.yaml" manifests
Expand All @@ -188,6 +191,8 @@ $(MANIFESTS): $(HELM) $(CONFTEST)
@mkdir -p $(MANIFEST_HOME)
$(HELM) template olmv1 helm/olmv1 $(addprefix --values ,$($@)) $(addprefix --set ,$(HELM_SETTINGS)) > $@
$(CONFTEST) test --policy hack/conftest/policy/ -n main --combine $@
@# Revert manifest if the only change is the controller-gen version annotation
@git diff --quiet -I 'controller-gen.kubebuilder.io/version' -- "$@" && git restore --worktree -- "$@" || true

# Generate manifests stored in source-control
.PHONY: manifests
Expand All @@ -202,6 +207,10 @@ generate: $(CONTROLLER_GEN) #EXHELP Generate code containing DeepCopy, DeepCopyI
@find api cmd hack internal -name "zz_generated.deepcopy.go" -not -path "*/vendor/*" -delete && rm -rf applyconfigurations
$(CONTROLLER_GEN) --load-build-tags=$(GO_BUILD_TAGS) applyconfiguration:headerFile="hack/boilerplate.go.txt" paths="./api/..."
$(CONTROLLER_GEN) --load-build-tags=$(GO_BUILD_TAGS) object:headerFile="hack/boilerplate.go.txt" paths="./..."
@# Revert generated files where the only change is the controller-gen version comment
@for f in $$(git diff --name-only); do \
git diff --quiet -I 'Code generated by controller-gen' -- "$$f" && git restore --worktree -- "$$f" || true; \
done

.PHONY: verify
verify: k8s-pin kind-verify-versions fmt generate manifests update-tls-profiles crd-ref-docs update-registryv1-bundle-schema verify-bingo #HELP Verify all generated code is up-to-date. Runs k8s-pin instead of just tidy.
Expand Down Expand Up @@ -328,18 +337,28 @@ test-experimental-e2e: GO_BUILD_EXTRA_FLAGS := -cover
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: PROMETHEUS_VALUES := testdata/prometheus/values-experimental.yaml
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

CATALOGD_CERT_SECRET = catalogd-service-cert-$(VERSION)

.PHONY: prometheus
prometheus: PROMETHEUS_NAMESPACE := olmv1-system
prometheus: PROMETHEUS_VERSION := v0.83.0
prometheus: $(KUSTOMIZE) #EXHELP Deploy Prometheus into specified namespace
prometheus: PROMETHEUS_CHART_VERSION := 86.2.2
prometheus: $(HELM) #EXHELP Deploy Prometheus into specified namespace
ifeq ($(strip $(E2E_SUMMARY_OUTPUT)),)
@echo "E2E_SUMMARY_OUTPUT unset; skipping prometheus deployment"
else
./hack/test/install-prometheus.sh $(PROMETHEUS_NAMESPACE) $(PROMETHEUS_VERSION) $(VERSION) $(PROMETHEUS_VALUES)
$(HELM) upgrade --install prometheus oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack \
--namespace $(PROMETHEUS_NAMESPACE) --create-namespace \
--version $(PROMETHEUS_CHART_VERSION) \
-f testdata/prometheus/values.yaml \
$(if $(PROMETHEUS_VALUES),-f $(PROMETHEUS_VALUES)) \
--set-string 'prometheus.additionalServiceMonitors[1].endpoints[0].tlsConfig.ca.secret.name=$(CATALOGD_CERT_SECRET)' \
--set-string 'prometheus.additionalServiceMonitors[1].endpoints[0].tlsConfig.cert.secret.name=$(CATALOGD_CERT_SECRET)' \
--set-string 'prometheus.additionalServiceMonitors[1].endpoints[0].tlsConfig.keySecret.name=$(CATALOGD_CERT_SECRET)' \
--wait --timeout 5m
Comment on lines +348 to +361

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate and print the referenced Makefile section with line numbers
echo "== Makefile: lines 330-390 =="
nl -ba Makefile | sed -n '330,390p'

# Search for the chart reference / variables across the repo
echo
echo "== Search: kube-prometheus-stack / ghcr.io / PROMETHEUS_* =="
rg -n --hidden --no-ignore -S "kube-prometheus-stack|ghcr\.io/prometheus-community/charts|PROMETHEUS_CHART|PROMETHEUS_VALUES|E2E_SUMMARY_OUTPUT" . || true

# Search for digest pinning patterns for the same chart
echo
echo "== Search: any `@sha256` or digest-like pin for kube-prometheus-stack =="
rg -n --hidden --no-ignore -S "kube-prometheus-stack.*`@sha256`:|`@sha256`:" . || true

# Show relevant env/testdata paths if present
echo
echo "== List testdata/prometheus (if exists) =="
ls -la testdata/prometheus 2>/dev/null || true

Repository: openshift/operator-framework-operator-controller

Length of output: 183


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Makefile: lines 330-390 =="
awk 'NR>=330 && NR<=390 {printf "%d:%s\n", NR, $0}' Makefile

echo
echo "== Search: kube-prometheus-stack / ghcr.io / PROMETHEUS_* =="
rg -n -S --hidden --no-ignore "kube-prometheus-stack|ghcr\.io/prometheus-community/charts|PROMETHEUS_CHART|PROMETHEUS_VALUES|E2E_SUMMARY_OUTPUT" .

echo
echo "== Search: digest pinning patterns for kube-prometheus-stack =="
rg -n -S --hidden --no-ignore "kube-prometheus-stack.*`@sha256`:|kube-prometheus-stack.*`@sha256`|`@sha256`:" . || true

echo
echo "== List testdata/prometheus (if exists) =="
ls -la testdata/prometheus 2>/dev/null || true

Repository: openshift/operator-framework-operator-controller

Length of output: 50404


Avoid making e2e setup depend on a live public chart pull.

make prometheus (run by make test-e2e / make test-experimental-e2e) installs kube-prometheus-stack from oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack using only --version $(PROMETHEUS_CHART_VERSION) (86.2.2) with no digest pinning, so the test harness depends on live registry availability and can drift if the tagged OCI artifact changes. Pin the OCI artifact by digest (sha256) or vendor/mirror the chart into the repo (then reference the local artifact). [Makefile: ~346-361]

🧰 Tools
🪛 checkmake (0.3.2)

[warning] 353-353: Target body for "$(HELM) upgrade --install prometheus oci" exceeds allowed length of 5 lines (8).

(maxbodylength)


[warning] 348-348: Target "prometheus" defined multiple times (lines 347 and 348).

(uniquetargets)


[warning] 349-349: Target "prometheus" defined multiple times (lines 347 and 349).

(uniquetargets)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Makefile` around lines 348 - 361, The prometheus Makefile target currently
pulls kube-prometheus-stack from the public OCI registry using only
PROMETHEUS_CHART_VERSION which makes e2e builds depend on a live registry and an
unpinned tag; update the prometheus target to pin the chart by digest (sha256)
or vendor the chart into the repo and reference the local copy instead of
oci://ghcr.io/... with only --version. Specifically, replace the OCI URL/version
usage in the prometheus target (the helm/$(HELM) upgrade --install line that
references PROMETHEUS_CHART_VERSION) with either a fully digested OCI reference
(including `@sha256`:...) built into a new PROMETHEUS_CHART_DIGEST variable or
switch to a local chart path (checked into testdata/prometheus/) and adjust
PROMETHEUS_CHART_VERSION handling accordingly so test-e2e no longer depends on
the live registry.

endif

.PHONY: test-extension-developer-e2e
Expand Down
Loading