Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
c0dc83f
✨ e2e: isolate tests with per-scenario dynamic catalogs (#2651)
joelanford Apr 23, 2026
a47a0b4
:seedling: Bump github.com/moby/spdystream from 0.5.0 to 0.5.1 (#2669)
dependabot[bot] Apr 23, 2026
d9d54b5
Merge branch 'main' into synchronize
tmshort Apr 23, 2026
3d86dc3
UPSTREAM: <carry>: Add OpenShift specific files
dtfranz Oct 26, 2023
02bd67a
UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
camilamacedo86 Oct 6, 2025
b0ba60c
UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
camilamacedo86 Oct 13, 2025
76a1262
UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp …
camilamacedo86 Oct 13, 2025
d4d4149
UPSTREAM: <carry>: Update OCP catalogs to v4.21
tmshort Oct 13, 2025
67f08cc
UPSTREAM: <carry>: support singleown cases in disconnected
kuiwang02 Oct 16, 2025
d78beed
UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
kuiwang02 Oct 17, 2025
1819a14
UPSTREAM: <carry>: Define Default timeouts and apply their usage accr…
camilamacedo86 Oct 22, 2025
baba180
UPSTREAM: <carry>: Update to new feature-gate options in helm
tmshort Oct 22, 2025
590f0e1
UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniq…
camilamacedo86 Oct 22, 2025
06d8fe3
UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comme…
camilamacedo86 Oct 24, 2025
8caf26f
UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inlin…
kuiwang02 Nov 3, 2025
f31fc73
UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension…
camilamacedo86 Nov 4, 2025
38d00a4
UPSTREAM: <carry>: Add [OTP] to migrated cases
kuiwang02 Nov 7, 2025
b5f7297
UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
camilamacedo86 Nov 5, 2025
5066050
UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version…
camilamacedo86 Nov 10, 2025
2dc6d8e
UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and depe…
camilamacedo86 Nov 11, 2025
347c69e
UPSTREAM: <carry>: add disconnected environment support with custom p…
kuiwang02 Nov 12, 2025
6c6d3dd
UPSTREAM: <carry>: migrate jiazha test cases to OTE
jianzhangbjz Nov 14, 2025
f9358b1
UPSTREAM: <carry>: migrate clustercatalog case to ote
Xia-Zhao-rh Oct 17, 2025
a5c2280
UPSTREAM: <carry>: migrate olmv1 QE stress cases
kuiwang02 Nov 20, 2025
648fa6a
UPSTREAM: <carry>: Use busybox/httpd to simulate probes
tmshort Nov 25, 2025
f38d8a4
UPSTREAM: <carry>: migrate olmv1 QE cases
Xia-Zhao-rh Nov 25, 2025
ddde98f
UPSTREAM: <carry>: add agent for olmv1 qe cases
kuiwang02 Oct 21, 2025
1399db1
UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
tmshort Dec 3, 2025
e2d03b3
UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
rashmigottipati Dec 11, 2025
9997cf8
UPSTREAM: <carry>: address review comments through addl prompts
rashmigottipati Dec 11, 2025
8ae2bc6
UPSTREAM: <carry>: addressing some more review comments
rashmigottipati Dec 11, 2025
aa6f018
UPSTREAM: <carry>: remove DCO line
rashmigottipati Dec 11, 2025
87c52eb
UPSTREAM: <carry>: migrate bandrade test cases to OTE
bandrade Nov 18, 2025
5164fea
UPSTREAM: <carry>: update metadata
bandrade Dec 3, 2025
c89bf6f
UPSTREAM: <carry>: remove originalName
bandrade Dec 3, 2025
791e075
UPSTREAM: <carry>: update 80458's timeout to 180s
jianzhangbjz Dec 8, 2025
4024c03
UPSTREAM: <carry>: update 83026 to specify the clustercatalog
jianzhangbjz Dec 15, 2025
9c92904
UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
oceanc80 Dec 18, 2025
706c5ac
UPSTREAM: <carry>: Use oc client for running e2e tests
pedjak Jan 13, 2026
f6f1bfb
UPSTREAM: <carry>: Run upstream e2e tests tagged with `@catalogd-update`
pedjak Jan 14, 2026
25198e0
UPSTREAM: <carry>: enhance case to make it more stable
kuiwang02 Jan 6, 2026
a117402
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Jan 7, 2026
aa2dd2c
UPSTREAM: <carry>: move sa creation out of buildCurlJob()
ehearne-redhat Jan 8, 2026
df61459
UPSTREAM: <carry>: comment out delete service account
ehearne-redhat Jan 9, 2026
462ec30
UPSTREAM: <carry>: move defercleanup for sa for LIFO
ehearne-redhat Jan 9, 2026
eed4086
UPSTREAM: <carry>: add polling so job fully deleted before proceed
ehearne-redhat Jan 12, 2026
5ab409e
UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redha…
sosiouxme Jan 20, 2026
900f9a1
UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
camilamacedo86 Jan 8, 2026
b8d2b66
UPSTREAM: <carry>: config watchnamespace cases
kuiwang02 Jan 6, 2026
61962c4
UPSTREAM: <carry>: enhance ocp-79770
Xia-Zhao-rh Jan 26, 2026
648dbe1
UPSTREAM: <carry>: upgrade version support case
kuiwang02 Jan 28, 2026
8613e4d
UPSTREAM: <carry>: Remove installed condition check from auth preflig…
Jan 30, 2026
47b9678
UPSTREAM: <carry>: Add openshift/api dependency
Jan 30, 2026
f4fb195
UPSTREAM: <carry>: Add boxcutter specific preflight auth test
Jan 30, 2026
80112ba
UPSTREAM: <carry>: adjust watchnamespace case based on change
kuiwang02 Feb 2, 2026
47c9bbd
UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root…
camilamacedo86 Feb 3, 2026
59673f2
UPSTREAM: <carry>: add 83979 automation
bandrade Feb 2, 2026
af88dba
UPSTREAM: <carry>: add 85889 automation
bandrade Feb 2, 2026
928b227
UPSTREAM: <carry>: Update test-operator startup script to fix pod pro…
Feb 4, 2026
a543f82
UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
Feb 7, 2026
1a5bf84
UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles…
camilamacedo86 Feb 24, 2026
851edce
UPSTREAM: <carry>: adjust sa and permission test cases per new change…
kuiwang02 Feb 2, 2026
4fce623
UPSTREAM: <carry>: Update OCP catalogs to v4.22
camilamacedo86 Feb 3, 2026
9d8cece
UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and…
camilamacedo86 Feb 26, 2026
cffffb1
UPSTREAM: <carry>: fix 83026 for TP cluster
jianzhangbjz Feb 28, 2026
8b2200f
UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
kuiwang02 Mar 6, 2026
f6419bb
UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
stbenjam Mar 6, 2026
47caf3a
UPSTREAM: <carry>: Increase install timeout and add diagnostic loggin…
camilamacedo86 Mar 11, 2026
8fc4e17
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Mar 2, 2026
ab5f62b
UPSTREAM: <carry>: update OCP-75441 to support multi-arch
jianzhangbjz Mar 19, 2026
eefa756
UPSTREAM: <carry>: deployment config cases
kuiwang02 Feb 6, 2026
8d8afc3
UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
tmshort Mar 11, 2026
a2766d2
UPSTREAM: <carry>: Update openshift/api and client-go
tmshort Mar 19, 2026
c737deb
UPSTREAM: <carry>: Add boxcutter tests
camilamacedo86 Mar 23, 2026
7973afd
UPSTREAM: <carry>: enhance QE cases
Xia-Zhao-rh Mar 17, 2026
2fe8b49
UPSTREAM: <carry>: Update quay-operator version to one containing arm…
dtfranz Mar 24, 2026
4cad910
UPSTREAM: <carry>: verify volume/volumeMount override
kuiwang02 Mar 25, 2026
13a39f6
UPSTREAM: <carry>: Add long-duration test script and documents
jianzhangbjz Mar 11, 2026
2e59112
UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
tmshort Mar 27, 2026
d86728f
UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSe…
camilamacedo86 Mar 31, 2026
9d83162
UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter use…
camilamacedo86 Mar 31, 2026
c04feb7
UPSTREAM: <carry>: add ocp-87557
bandrade Feb 8, 2026
4380ff3
UPSTREAM: <carry>: Add fgiudici as reviewer
fgiudici Mar 31, 2026
edb5c6c
UPSTREAM: <carry>: Remove skip for incompatible operator check after …
camilamacedo86 Apr 1, 2026
d5e7624
UPSTREAM: <carry>: Test empty affinity erasure and cleanup
kuiwang02 Apr 1, 2026
53b3d11
UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in prefligh…
camilamacedo86 Apr 9, 2026
23b09da
UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
camilamacedo86 Apr 15, 2026
63023bb
UPSTREAM: <carry>: Disable upstream TLSProfile tests
tmshort Apr 18, 2026
4c92f01
UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests …
camilamacedo86 Apr 20, 2026
071c008
UPSTREAM: <drop>: go mod vendor
tmshort Apr 23, 2026
ce51835
UPSTREAM: <drop>: remove upstream GitHub configuration
tmshort Apr 23, 2026
4576815
UPSTREAM: <drop>: configure the commit-checker
tmshort Apr 23, 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
  •  
  •  
  •  
37 changes: 9 additions & 28 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -259,21 +259,14 @@ E2E_TIMEOUT ?= 10m
e2e: #EXHELP Run the e2e tests.
go test -count=1 -v ./test/e2e/features_test.go -timeout=$(E2E_TIMEOUT)

E2E_REGISTRY_NAME := docker-registry
E2E_REGISTRY_NAMESPACE := operator-controller-e2e

export REG_PKG_NAME := registry-operator
export CLUSTER_REGISTRY_HOST := $(E2E_REGISTRY_NAME).$(E2E_REGISTRY_NAMESPACE).svc:5000
export LOCAL_REGISTRY_HOST := localhost:30000
export E2E_TEST_CATALOG_V1 := e2e/test-catalog:v1
export E2E_TEST_CATALOG_V2 := e2e/test-catalog:v2
export CATALOG_IMG := $(CLUSTER_REGISTRY_HOST)/$(E2E_TEST_CATALOG_V1)
export CLUSTER_REGISTRY_HOST := docker-registry.operator-controller-e2e.svc:5000
.PHONY: extension-developer-e2e
extension-developer-e2e: $(OPERATOR_SDK) $(KUSTOMIZE) #EXHELP Run extension create, upgrade and delete tests.
test/extension-developer-e2e/setup.sh $(OPERATOR_SDK) $(CONTAINER_RUNTIME) $(KUSTOMIZE) ${LOCAL_REGISTRY_HOST} ${CLUSTER_REGISTRY_HOST}
extension-developer-e2e: export OPERATOR_SDK := $(OPERATOR_SDK)
extension-developer-e2e: export CONTAINER_RUNTIME := $(CONTAINER_RUNTIME)
extension-developer-e2e: $(OPERATOR_SDK) #EXHELP Run extension create, upgrade and delete tests.
go test -count=1 -v ./test/extension-developer-e2e/...

UNIT_TEST_DIRS := $(shell go list ./... | grep -vE "/test/|/testutils")
UNIT_TEST_DIRS := $(shell go list ./... | grep -vE "/test/|/testutils") $(shell go list ./test/internal/...)
COVERAGE_UNIT_DIR := $(ROOT_DIR)/coverage/unit

.PHONY: envtest-k8s-bins #HELP Uses setup-envtest to download and install the binaries required to run ENVTEST-test based locally at the project/bin directory.
Expand All @@ -298,18 +291,6 @@ test-regression: #HELP Run regression test
rm -rf $(COVERAGE_REGRESSION_DIR) && mkdir -p $(COVERAGE_REGRESSION_DIR)
go test -count=1 -v ./test/regression/... -cover -coverprofile ${ROOT_DIR}/coverage/regression.out -test.gocoverdir=$(COVERAGE_REGRESSION_DIR)

.PHONY: image-registry
E2E_REGISTRY_IMAGE=localhost/e2e-test-registry:devel
image-registry: export GOOS=linux
image-registry: export GOARCH=amd64
image-registry: ## Build the testdata catalog used for e2e tests and push it to the image registry
# Use double quotes (not single quotes) for build flags like -ldflags, -tags, etc.
# Single quotes are passed literally and not stripped by `go build`, which can cause errors
# or inject unintended characters into the binary (e.g., version metadata).
go build $(GO_BUILD_FLAGS) $(GO_BUILD_EXTRA_FLAGS) -tags '$(GO_BUILD_TAGS)' -ldflags "$(GO_BUILD_LDFLAGS)" -gcflags '$(GO_BUILD_GCFLAGS)' -asmflags '$(GO_BUILD_ASMFLAGS)' -o ./testdata/push/bin/push ./testdata/push/push.go
$(CONTAINER_RUNTIME) build -f ./testdata/Dockerfile -t $(E2E_REGISTRY_IMAGE) ./testdata
$(KIND) load docker-image $(E2E_REGISTRY_IMAGE) --name $(KIND_CLUSTER_NAME)
./testdata/build-test-registry.sh $(E2E_REGISTRY_NAMESPACE) $(E2E_REGISTRY_NAME) $(E2E_REGISTRY_IMAGE)

# When running the e2e suite, you can set the ARTIFACT_PATH variable to the absolute path
# of the directory for the operator-controller e2e tests to store the artifacts, which
Expand All @@ -323,7 +304,7 @@ test-e2e: GO_BUILD_EXTRA_FLAGS := -cover
test-e2e: COVERAGE_NAME := e2e
test-e2e: export MANIFEST := $(STANDARD_RELEASE_MANIFEST)
test-e2e: export INSTALL_DEFAULT_CATALOGS := false
test-e2e: run-internal image-registry prometheus e2e e2e-coverage kind-clean #HELP Run e2e test suite on local kind cluster
test-e2e: run-internal prometheus e2e e2e-coverage kind-clean #HELP Run e2e test suite on local kind cluster

.PHONY: test-experimental-e2e
test-experimental-e2e: SOURCE_MANIFEST := $(EXPERIMENTAL_E2E_MANIFEST)
Expand All @@ -334,8 +315,8 @@ 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 := 15m
test-experimental-e2e: run-internal image-registry prometheus e2e e2e-coverage kind-clean #HELP Run experimental e2e test suite on local kind cluster
test-experimental-e2e: E2E_TIMEOUT := 20m
test-experimental-e2e: run-internal prometheus e2e e2e-coverage kind-clean #HELP Run experimental e2e test suite on local kind cluster

.PHONY: prometheus
prometheus: PROMETHEUS_NAMESPACE := olmv1-system
Expand All @@ -352,7 +333,7 @@ test-extension-developer-e2e: SOURCE_MANIFEST := $(STANDARD_E2E_MANIFEST)
test-extension-developer-e2e: KIND_CLUSTER_NAME := operator-controller-ext-dev-e2e
test-extension-developer-e2e: export INSTALL_DEFAULT_CATALOGS := false
test-extension-developer-e2e: export MANIFEST := $(STANDARD_RELEASE_MANIFEST)
test-extension-developer-e2e: run-internal image-registry extension-developer-e2e kind-clean #HELP Run extension-developer e2e on local kind cluster
test-extension-developer-e2e: run-internal extension-developer-e2e kind-clean #HELP Run extension-developer e2e on local kind cluster

.PHONY: run-latest-release
run-latest-release:
Expand Down
118 changes: 118 additions & 0 deletions docs/designs/testing/2026-04-13-e2e-isolation/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# E2E Test Isolation: Per-Scenario Catalogs via Dynamic OCI Image Building

## Problem

E2E test scenarios previously shared cluster-scoped resources (ClusterCatalogs, CRDs, packages),
causing cascading failures when one scenario left state behind. Parallelism was impossible because
scenarios conflicted on shared resource names.

## Solution

Each scenario dynamically builds and pushes its own bundle and catalog OCI images at test time,
parameterized by scenario ID. All cluster-scoped resource names include the scenario ID, making
conflicts structurally impossible.

```
Scenario starts
-> Generate parameterized bundle manifests (CRD names, deployments, etc. include scenario ID)
-> Build + push bundle OCI images to e2e registry via go-containerregistry
-> Generate FBC catalog config referencing those bundle image refs
-> Build + push catalog OCI image to e2e registry
-> Create ClusterCatalog pointing at the catalog image
-> Run scenario steps
-> Cleanup all resources (including catalog)
```

### Key Properties

- Every cluster-scoped resource name includes the scenario ID -- no conflicts by construction.
- Failed scenario state is preserved for debugging without affecting other scenarios.
- Parallelism (`Concurrency > 1`) is safe without further changes.
- Adding new scenarios requires zero coordination with existing ones.

## Builder API (`test/internal/catalog/`)

Bundles are defined as components of a catalog. A single `Build()` call builds and pushes
all bundle images, generates the FBC, and pushes the catalog image:

```go
cat := catalog.NewCatalog("test", scenarioID,
catalog.WithPackage("test",
catalog.Bundle("1.0.0", catalog.WithCRD(), catalog.WithDeployment(), catalog.WithConfigMap()),
catalog.Bundle("1.2.0", catalog.WithCRD(), catalog.WithDeployment()),
catalog.Channel("beta", catalog.Entry("1.0.0"), catalog.Entry("1.2.0")),
),
)
result, err := cat.Build(ctx, "v1", localRegistry, clusterRegistry)
// result.CatalogName = "test-catalog-{scenarioID}"
// result.CatalogImageRef = "{clusterRegistry}/e2e/test-catalog-{scenarioID}:v1"
// result.PackageNames = {"test": "test-{scenarioID}"}
```

### Bundle Options

- `WithCRD()` -- CRD with group `e2e-{id}.e2e.operatorframework.io`
- `WithDeployment()` -- Deployment named `test-operator-{id}` (includes CSV, script ConfigMap, NetworkPolicy)
- `WithConfigMap()` -- additional test ConfigMap
- `WithInstallMode(modes...)` -- sets supported install modes on the CSV
- `WithLargeCRD(fieldCount)` -- CRD with many fields for large bundle testing
- `WithClusterRegistry(host)` -- overrides the cluster-side registry host (for mirror testing)
- `StaticBundleDir(dir)` -- reads pre-built bundle manifests without parameterization (e.g. webhook-operator)
- `BadImage()` -- uses an invalid container image to trigger ImagePullBackOff
- `WithBundleProperty(type, value)` -- adds a property to bundle metadata

## Feature File Conventions

Feature files define catalogs inline via data tables:

```gherkin
Background:
Given OLM is available
And an image registry is available
And a catalog "test" with packages:
| package | version | channel | replaces | contents |
| test | 1.0.0 | alpha | | CRD, Deployment, ConfigMap |
| test | 1.0.1 | alpha | 1.0.0 | CRD, Deployment, ConfigMap |
| test | 1.2.0 | beta | | CRD, Deployment |
```

### Variable Substitution

Templates in feature file YAML use these variables:

| Variable | Expansion | Example |
|----------|-----------|---------|
| `${NAME}` | ClusterExtension name | `ce-abc123` |
| `${TEST_NAMESPACE}` | Scenario namespace | `ns-abc123` |
| `${SCENARIO_ID}` | Unique scenario identifier | `abc123` |
| `${PACKAGE:<name>}` | Parameterized package name | `test-abc123` |
| `${CATALOG:<name>}` | ClusterCatalog resource name | `test-catalog-abc123` |
| `${COS_NAME}` | ClusterObjectSet name | `cos-abc123` |

### Naming Conventions

| Resource | Pattern |
|----------|---------|
| CRD group | `e2e-{id}.e2e.operatorframework.io` |
| Deployment | `test-operator-{id}` |
| Package name (FBC) | `{package}-{id}` |
| Bundle image | `{registry}/bundles/{package}-{id}:v{version}` |
| Catalog image | `{registry}/e2e/{name}-catalog-{id}:{tag}` |
| ClusterCatalog | `{name}-catalog-{id}` |
| Namespace | `ns-{id}` |
| ClusterExtension | `ce-{id}` |

## Registry Access

An in-cluster OCI registry (`test/internal/registry/`) stores bundle and catalog images.
The registry runs as a ClusterIP Service; there is no NodePort or kind `extraPortMappings`.

The test runner reaches the registry via **Kubernetes port-forward** (SPDY through the API
server), which works regardless of the cluster's network topology. A `sync.OnceValues` in the
step definitions starts the port-forward once and returns the dynamically assigned
`localhost:<port>` address used for all `crane.Push` / `crane.Tag` calls.

In-cluster components (e.g. the catalog unpacker) pull images using the Service DNS name
(`docker-registry.operator-controller-e2e.svc.cluster.local:5000`), resolved by CoreDNS.
Containerd on the node is never involved because the registry only holds OCI artifacts
consumed by Go code, not container images for pods.
4 changes: 4 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ require (
github.com/containerd/typeurl/v2 v2.2.3 // indirect
github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 // indirect
github.com/containers/ocicrypt v1.2.1 // indirect
github.com/creack/pty v1.1.24 // indirect
github.com/cucumber/gherkin/go/v26 v26.2.0 // indirect
github.com/cucumber/messages/go/v21 v21.0.1 // indirect
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 // indirect
Expand Down Expand Up @@ -141,6 +142,7 @@ require (
github.com/google/gnostic-models v0.7.1 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/mux v1.8.1 // indirect
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
github.com/gosuri/uitable v0.0.4 // indirect
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 // indirect
Expand Down Expand Up @@ -172,6 +174,7 @@ require (
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/moby/locker v1.0.1 // indirect
github.com/moby/spdystream v0.5.1 // indirect
github.com/moby/sys/capability v0.4.0 // indirect
github.com/moby/sys/mountinfo v0.7.2 // indirect
github.com/moby/sys/sequential v0.6.0 // indirect
Expand All @@ -182,6 +185,7 @@ require (
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/nxadm/tail v1.4.11 // indirect
github.com/onsi/gomega v1.39.1 // indirect
github.com/opencontainers/runtime-spec v1.3.0 // indirect
Expand Down
12 changes: 10 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpH
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ=
github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
Expand Down Expand Up @@ -87,8 +89,8 @@ github.com/coreos/go-systemd/v22 v22.6.0 h1:aGVa/v8B7hpb0TKl0MWoAavPDmHvobFe5R5z
github.com/coreos/go-systemd/v22 v22.6.0/go.mod h1:iG+pp635Fo7ZmV/j14KUcmEyWF+0X7Lua8rrTWzYgWU=
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
github.com/cucumber/gherkin/go/v26 v26.2.0 h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI=
github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0=
github.com/cucumber/godog v0.15.1 h1:rb/6oHDdvVZKS66hrhpjFQFHjthFSrQBCOI1LwshNTI=
Expand Down Expand Up @@ -274,6 +276,8 @@ github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyE
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo=
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA=
github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY=
github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo=
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
Expand Down Expand Up @@ -369,6 +373,8 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
github.com/moby/spdystream v0.5.1 h1:9sNYeYZUcci9R6/w7KDaFWEWeV4LStVG78Mpyq/Zm/Y=
github.com/moby/spdystream v0.5.1/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI=
github.com/moby/sys/capability v0.4.0 h1:4D4mI6KlNtWMCM1Z/K0i7RV1FkX+DBDHKVJpCndZoHk=
github.com/moby/sys/capability v0.4.0/go.mod h1:4g9IK291rVkms3LKCDOoYlnV8xKwoDTpIrNEE35Wq0I=
github.com/moby/sys/mountinfo v0.7.2 h1:1shs6aH5s4o5H2zQLn796ADW1wMrIwHsyJ2v9KouLrg=
Expand All @@ -393,6 +399,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
Expand Down

This file was deleted.

8 changes: 0 additions & 8 deletions hack/kind-config/containerd/certs.d/go.mod

This file was deleted.

12 changes: 6 additions & 6 deletions internal/operator-controller/applier/boxcutter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ import (
"github.com/operator-framework/operator-controller/internal/operator-controller/applier"
"github.com/operator-framework/operator-controller/internal/operator-controller/authorization"
"github.com/operator-framework/operator-controller/internal/operator-controller/labels"
"github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/util/testing/bundlefs"
"github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/util/testing/clusterserviceversion"
bundlecsv "github.com/operator-framework/operator-controller/internal/testing/bundle/csv"
bundlefs "github.com/operator-framework/operator-controller/internal/testing/bundle/fs"
)

var (
dummyBundle = bundlefs.Builder().
WithPackageName("test-package").
WithCSV(clusterserviceversion.Builder().WithName("test-csv").Build()).
WithCSV(bundlecsv.Builder().WithName("test-csv").Build()).
Build()
)

Expand Down Expand Up @@ -313,7 +313,7 @@ func Test_SimpleRevisionGenerator_GenerateRevision_BundleAnnotations(t *testing.
WithPackageName("test-package").
WithBundleProperty("olm.bundle.property", "some-value").
WithBundleProperty("olm.another.bundle.property", "some-other-value").
WithCSV(clusterserviceversion.Builder().WithName("test-csv").Build()).
WithCSV(bundlecsv.Builder().WithName("test-csv").Build()).
Build()

rev, err := b.GenerateRevision(t.Context(), bundleFS, ext, map[string]string{}, map[string]string{})
Expand All @@ -327,7 +327,7 @@ func Test_SimpleRevisionGenerator_GenerateRevision_BundleAnnotations(t *testing.
t.Run("olm.properties should not be present if there are no bundle properties", func(t *testing.T) {
bundleFS := bundlefs.Builder().
WithPackageName("test-package").
WithCSV(clusterserviceversion.Builder().WithName("test-csv").Build()).
WithCSV(bundlecsv.Builder().WithName("test-csv").Build()).
Build()

rev, err := b.GenerateRevision(t.Context(), bundleFS, ext, map[string]string{}, map[string]string{})
Expand All @@ -342,7 +342,7 @@ func Test_SimpleRevisionGenerator_GenerateRevision_BundleAnnotations(t *testing.
bundleFS := bundlefs.Builder().
WithPackageName("test-package").
WithBundleProperty("olm.bundle.property", "some-value").
WithCSV(clusterserviceversion.Builder().
WithCSV(bundlecsv.Builder().
WithName("test-csv").
WithAnnotations(map[string]string{
"some.csv.annotation": "some-other-value",
Expand Down
Loading