Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
d0252d4
fix: align OTel versions to v1.44.0 and use explicit e2e timeout fall…
tmshort Jul 2, 2026
6a28728
:seedling: Bump github.com/google/go-containerregistry (#2800)
dependabot[bot] Jul 2, 2026
8013292
feat: replace asciinema with godog-based demo recording (#2801)
pedjak Jul 3, 2026
6655994
chore(deps): bump golang.org/x/net in /hack/tools/test-profiling (#2804)
dependabot[bot] Jul 3, 2026
395bb86
:seedling: Bump github.com/sigstore/fulcio from 1.8.5 to 1.8.6 (#2793)
dependabot[bot] Jul 3, 2026
7461774
fix: missing olm.operatorNamespace annotation (#2803)
Kajot-dev Jul 6, 2026
a918ca8
fix: use static permissions in update-demos workflow (#2805)
pedjak Jul 6, 2026
60f2706
:seedling: Bump actions/setup-go from 6.4.0 to 6.5.0 (#2807)
dependabot[bot] Jul 8, 2026
b7926dc
:seedling: Bump pymdown-extensions from 10.21.3 to 11.0 (#2808)
dependabot[bot] Jul 8, 2026
abd8c4a
:seedling: Bump helm.sh/helm/v3 from 3.21.1 to 3.21.2 (#2806)
dependabot[bot] Jul 8, 2026
dd78f2f
:seedling: Bump actions/setup-python from 6.2.0 to 6.3.0 (#2809)
dependabot[bot] Jul 8, 2026
be16a0a
:seedling: Align ClusterObjectSet e2e cleanup with addedResources pat…
perdasilva Jul 8, 2026
dbc9b4a
fix: remove HelmChartSupport feature (#2798)
pedjak Jul 9, 2026
e5bac06
:seedling: Bump click from 8.4.1 to 8.4.2 (#2811)
dependabot[bot] Jul 10, 2026
c63b183
:seedling: Bump github.com/cert-manager/cert-manager (#2812)
dependabot[bot] Jul 10, 2026
e5877d7
:seedling: Bump golang.org/x/tools from 0.46.0 to 0.47.0 (#2813)
dependabot[bot] Jul 13, 2026
8877ba0
:seedling: Bump regex from 2026.5.9 to 2026.6.28 (#2814)
dependabot[bot] Jul 14, 2026
ca2945a
:seedling: Bump github.com/klauspost/compress from 1.18.6 to 1.19.0 (…
dependabot[bot] Jul 14, 2026
507310b
:seedling: Bump docker/login-action from 4.2.0 to 4.3.0 (#2816)
dependabot[bot] Jul 16, 2026
61c439f
:seedling: Bump dorny/paths-filter from 4.0.1 to 4.0.2 (#2817)
dependabot[bot] Jul 16, 2026
7909550
:seedling: Bump golang.org/x/sync from 0.21.0 to 0.22.0 (#2818)
dependabot[bot] Jul 16, 2026
07e6312
✨ catalogd graphql shift to file-based cache (#2732)
grokspawn Jul 17, 2026
74d27b2
:seedling: Bump docker/login-action from 4.3.0 to 4.4.0 (#2820)
dependabot[bot] Jul 17, 2026
4562584
:seedling: Bump pymdown-extensions from 11.0 to 11.0.1 (#2821)
dependabot[bot] Jul 17, 2026
1bbe788
✨ Deprecate ClusterExtension spec.serviceAccount (#2770)
pedjak Jul 20, 2026
a7e2fcd
:seedling: Bump marocchino/sticky-pull-request-comment (#2822)
dependabot[bot] Jul 20, 2026
b27f4e9
Merge branch 'main' into synchronize
Jul 21, 2026
44a2fd7
UPSTREAM: <carry>: Add OpenShift specific files
dtfranz Oct 26, 2023
c86fdce
UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
camilamacedo86 Oct 6, 2025
67c2672
UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
camilamacedo86 Oct 13, 2025
c536d69
UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp …
camilamacedo86 Oct 13, 2025
95070cc
UPSTREAM: <carry>: Update OCP catalogs to v4.21
tmshort Oct 13, 2025
3a67992
UPSTREAM: <carry>: support singleown cases in disconnected
kuiwang02 Oct 16, 2025
1d91319
UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
kuiwang02 Oct 17, 2025
4b50d1f
UPSTREAM: <carry>: Define Default timeouts and apply their usage accr…
camilamacedo86 Oct 22, 2025
7c64f02
UPSTREAM: <carry>: Update to new feature-gate options in helm
tmshort Oct 22, 2025
1b9e4de
UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniq…
camilamacedo86 Oct 22, 2025
937023c
UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comme…
camilamacedo86 Oct 24, 2025
a33997d
UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inlin…
kuiwang02 Nov 3, 2025
3e93058
UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension…
camilamacedo86 Nov 4, 2025
37bc069
UPSTREAM: <carry>: Add [OTP] to migrated cases
kuiwang02 Nov 7, 2025
eeb1f33
UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
camilamacedo86 Nov 5, 2025
592ea70
UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version…
camilamacedo86 Nov 10, 2025
8f596cd
UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and depe…
camilamacedo86 Nov 11, 2025
8f93708
UPSTREAM: <carry>: add disconnected environment support with custom p…
kuiwang02 Nov 12, 2025
085feb3
UPSTREAM: <carry>: migrate jiazha test cases to OTE
jianzhangbjz Nov 14, 2025
d5984b7
UPSTREAM: <carry>: migrate clustercatalog case to ote
Xia-Zhao-rh Oct 17, 2025
0df998a
UPSTREAM: <carry>: migrate olmv1 QE stress cases
kuiwang02 Nov 20, 2025
89994a5
UPSTREAM: <carry>: Use busybox/httpd to simulate probes
tmshort Nov 25, 2025
7f54412
UPSTREAM: <carry>: migrate olmv1 QE cases
Xia-Zhao-rh Nov 25, 2025
3970f4f
UPSTREAM: <carry>: add agent for olmv1 qe cases
kuiwang02 Oct 21, 2025
ad2eb0e
UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
tmshort Dec 3, 2025
f234ed4
UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
rashmigottipati Dec 11, 2025
a3ac548
UPSTREAM: <carry>: address review comments through addl prompts
rashmigottipati Dec 11, 2025
4289818
UPSTREAM: <carry>: addressing some more review comments
rashmigottipati Dec 11, 2025
0eb34a6
UPSTREAM: <carry>: remove DCO line
rashmigottipati Dec 11, 2025
6111076
UPSTREAM: <carry>: migrate bandrade test cases to OTE
bandrade Nov 18, 2025
ff12176
UPSTREAM: <carry>: update metadata
bandrade Dec 3, 2025
00fbbd0
UPSTREAM: <carry>: remove originalName
bandrade Dec 3, 2025
9724416
UPSTREAM: <carry>: update 80458's timeout to 180s
jianzhangbjz Dec 8, 2025
ce92eec
UPSTREAM: <carry>: update 83026 to specify the clustercatalog
jianzhangbjz Dec 15, 2025
c7b2d03
UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
oceanc80 Dec 18, 2025
29ecbdf
UPSTREAM: <carry>: Use oc client for running e2e tests
pedjak Jan 13, 2026
cc115ba
UPSTREAM: <carry>: Run upstream e2e tests tagged with `@catalogd-update`
pedjak Jan 14, 2026
c420392
UPSTREAM: <carry>: enhance case to make it more stable
kuiwang02 Jan 6, 2026
d7b96dc
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Jan 7, 2026
4394c80
UPSTREAM: <carry>: move sa creation out of buildCurlJob()
ehearne-redhat Jan 8, 2026
71116e4
UPSTREAM: <carry>: comment out delete service account
ehearne-redhat Jan 9, 2026
f91ac68
UPSTREAM: <carry>: move defercleanup for sa for LIFO
ehearne-redhat Jan 9, 2026
ce6c7c3
UPSTREAM: <carry>: add polling so job fully deleted before proceed
ehearne-redhat Jan 12, 2026
ae1c309
UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redha…
sosiouxme Jan 20, 2026
a186377
UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
camilamacedo86 Jan 8, 2026
afe3a38
UPSTREAM: <carry>: config watchnamespace cases
kuiwang02 Jan 6, 2026
73875c0
UPSTREAM: <carry>: enhance ocp-79770
Xia-Zhao-rh Jan 26, 2026
12a2c2b
UPSTREAM: <carry>: upgrade version support case
kuiwang02 Jan 28, 2026
631a193
UPSTREAM: <carry>: Remove installed condition check from auth preflig…
Jan 30, 2026
0eb394a
UPSTREAM: <carry>: Add openshift/api dependency
Jan 30, 2026
1be9b84
UPSTREAM: <carry>: Add boxcutter specific preflight auth test
Jan 30, 2026
2f635a9
UPSTREAM: <carry>: adjust watchnamespace case based on change
kuiwang02 Feb 2, 2026
94e4f7c
UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root…
camilamacedo86 Feb 3, 2026
a411aa8
UPSTREAM: <carry>: add 83979 automation
bandrade Feb 2, 2026
c028836
UPSTREAM: <carry>: add 85889 automation
bandrade Feb 2, 2026
fd4b8b5
UPSTREAM: <carry>: Update test-operator startup script to fix pod pro…
Feb 4, 2026
16b8ba6
UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
Feb 7, 2026
9c99424
UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles…
camilamacedo86 Feb 24, 2026
3ea1313
UPSTREAM: <carry>: adjust sa and permission test cases per new change…
kuiwang02 Feb 2, 2026
3490ddb
UPSTREAM: <carry>: Update OCP catalogs to v4.22
camilamacedo86 Feb 3, 2026
a67ec13
UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and…
camilamacedo86 Feb 26, 2026
1d1c8e7
UPSTREAM: <carry>: fix 83026 for TP cluster
jianzhangbjz Feb 28, 2026
c5dd211
UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
kuiwang02 Mar 6, 2026
1ff30ba
UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
stbenjam Mar 6, 2026
ddebb7f
UPSTREAM: <carry>: Increase install timeout and add diagnostic loggin…
camilamacedo86 Mar 11, 2026
144cefa
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Mar 2, 2026
5285881
UPSTREAM: <carry>: update OCP-75441 to support multi-arch
jianzhangbjz Mar 19, 2026
c0003ae
UPSTREAM: <carry>: deployment config cases
kuiwang02 Feb 6, 2026
a035a2d
UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
tmshort Mar 11, 2026
64601e2
UPSTREAM: <carry>: Update openshift/api and client-go
tmshort Mar 19, 2026
ca38c31
UPSTREAM: <carry>: Add boxcutter tests
camilamacedo86 Mar 23, 2026
02fd3cc
UPSTREAM: <carry>: enhance QE cases
Xia-Zhao-rh Mar 17, 2026
a0f7d8b
UPSTREAM: <carry>: Update quay-operator version to one containing arm…
dtfranz Mar 24, 2026
87d8cd4
UPSTREAM: <carry>: verify volume/volumeMount override
kuiwang02 Mar 25, 2026
ae44c4f
UPSTREAM: <carry>: Add long-duration test script and documents
jianzhangbjz Mar 11, 2026
7404118
UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
tmshort Mar 27, 2026
0a43027
UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSe…
camilamacedo86 Mar 31, 2026
790af99
UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter use…
camilamacedo86 Mar 31, 2026
8bc919a
UPSTREAM: <carry>: add ocp-87557
bandrade Feb 8, 2026
0f009bb
UPSTREAM: <carry>: Add fgiudici as reviewer
fgiudici Mar 31, 2026
3ab1491
UPSTREAM: <carry>: Remove skip for incompatible operator check after …
camilamacedo86 Apr 1, 2026
59ddaba
UPSTREAM: <carry>: Test empty affinity erasure and cleanup
kuiwang02 Apr 1, 2026
dccbb1c
UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in prefligh…
camilamacedo86 Apr 9, 2026
07195e2
UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
camilamacedo86 Apr 15, 2026
8c93e6c
UPSTREAM: <carry>: Disable upstream TLSProfile tests
tmshort Apr 18, 2026
d7c47f0
UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests …
camilamacedo86 Apr 20, 2026
c49b0f5
UPSTREAM: <carry>: OTE - Make OTE local output easier to read
camilamacedo86 Apr 21, 2026
44cb709
UPSTREAM: <carry>: remove dead e2e registry push job and related vari…
joelanford Apr 29, 2026
ba7715c
UPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-a…
tmshort Apr 23, 2026
7946143
UPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait b…
tmshort May 4, 2026
0c3b201
UPSTREAM: <carry>: Fix downstream e2e test invocation
tmshort May 18, 2026
eba9de1
UPSTREAM: <carry>: Delete openshift/registry.Dockerfile
joelanford May 19, 2026
7b0e90f
UPSTREAM: <carry>: Remove test-experimenal-e2e
tmshort May 20, 2026
1962f10
UPSTREAM: <carry>: Update readme Default Catalog Tests
camilamacedo86 May 27, 2026
8e898a8
UPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
tmshort May 26, 2026
941a809
UPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23…
tmshort Jun 4, 2026
754c891
UPSTREAM: <carry>: Updating ose-olm-operator-controller-container ima…
Jun 6, 2026
acdf772
UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be co…
Jun 6, 2026
6412dc4
UPSTREAM: <carry>: Update catalogs for 4.23/5.0
tmshort May 21, 2026
1b3c40d
UPSTREAM: <carry>: Remove HelmChartSupport feature gate from experime…
Jul 15, 2026
0686673
UPSTREAM: <carry>: test: add allow-case for operator maxOCPVersion > …
tmshort Jul 16, 2026
45fcadd
UPSTREAM: <carry>: Add OLMv1 progress deadline QE tests
dtfranz Jun 23, 2026
5b2a58e
UPSTREAM: <drop>: go mod vendor
Jul 21, 2026
074ca26
UPSTREAM: <drop>: remove upstream GitHub configuration
Jul 21, 2026
5a34bc6
UPSTREAM: <drop>: configure the commit-checker
Jul 21, 2026
f676d97
UPSTREAM: <carry>: Remove openshift/ e2e related to deprecated Servic…
dtfranz Jun 22, 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
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ vendor/
# documentation website asset folder
site

# generated demo asciicast recordings
docs/demos/

.tiltbuild/
.catalogd-tmp/
.vscode
Expand Down
47 changes: 31 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -145,10 +145,6 @@ lint-custom: custom-linter-build #EXHELP Call custom linter for the project
lint-api-diff: $(GOLANGCI_LINT) #HELP Validate API changes using kube-api-linter with diff-aware analysis
hack/api-lint-diff/run.sh

.PHONY: k8s-pin
k8s-pin: #EXHELP Pin k8s staging modules based on k8s.io/kubernetes version (in go.mod or from K8S_IO_K8S_VERSION env var) and run go mod tidy.
K8S_IO_K8S_VERSION='$(K8S_IO_K8S_VERSION)' go run hack/tools/k8smaintainer/main.go

.PHONY: tidy #HELP Run go mod tidy.
tidy:
go mod tidy
Expand Down Expand Up @@ -210,7 +206,7 @@ generate: $(CONTROLLER_GEN) generate-mocks #EXHELP Generate code containing Deep
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.
verify: tidy 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.
git diff --exit-code

.PHONY: verify-bingo
Expand Down Expand Up @@ -404,7 +400,6 @@ else
endif

.PHONY: e2e-run-%
e2e-run-%: E2E_TIMEOUT ?= 20m
e2e-run-%: GODOG_ARGS ?=
e2e-run-%: prometheus-%
ifeq ($(strip $(GODOG_ARGS)),)
Expand All @@ -414,11 +409,11 @@ ifeq ($(strip $(GODOG_ARGS)),)
set +e; \
KUBECONFIG=$(E2E_KUBECONFIG) \
PROMETHEUS_URL=http://localhost:$$E2E_PROMETHEUS_PORT \
go test -count=1 -v ./test/e2e/features_test.go -timeout $(E2E_TIMEOUT) -args --godog.tags="~@Serial" --godog.concurrency=100; \
go test -count=1 -v ./test/e2e/features_test.go -timeout $(or $(E2E_TIMEOUT),20m) -args --godog.tags="~@Serial && ~@demo" --godog.concurrency=100; \
parallelExit=$$?; \
KUBECONFIG=$(E2E_KUBECONFIG) \
PROMETHEUS_URL=http://localhost:$$E2E_PROMETHEUS_PORT \
go test -count=1 -v ./test/e2e/features_test.go -timeout $(E2E_TIMEOUT) -args --godog.tags="@Serial" --godog.concurrency=1; \
go test -count=1 -v ./test/e2e/features_test.go -timeout $(or $(E2E_TIMEOUT),20m) -args --godog.tags="@Serial && ~@demo" --godog.concurrency=1; \
serialExit=$$?; \
if [[ $$parallelExit -ne 0 ]] || [[ $$serialExit -ne 0 ]]; then \
echo "e2e tests failed: parallel=$$parallelExit serial=$$serialExit"; \
Expand All @@ -429,7 +424,7 @@ else
if [[ -z "$$E2E_PROMETHEUS_PORT" ]]; then echo "error: failed to extract prometheus hostPort from $(KIND_CONFIG)" >&2; exit 1; fi; \
KUBECONFIG=$(E2E_KUBECONFIG) \
PROMETHEUS_URL=http://localhost:$$E2E_PROMETHEUS_PORT \
go test -count=1 -v ./test/e2e/features_test.go -timeout=$(E2E_TIMEOUT) -args $(GODOG_ARGS)
go test -count=1 -v ./test/e2e/features_test.go -timeout=$(or $(E2E_TIMEOUT),20m) -args $(GODOG_ARGS)
endif

.PHONY: e2e-coverage-%
Expand Down Expand Up @@ -697,13 +692,33 @@ deploy-docs: venv
. $(VENV)/activate; \
mkdocs gh-deploy --force --strict

# The demo script requires to install asciinema with: brew install asciinema to run on mac os envs.
# Please ensure that all demos are named with the demo name and the suffix -demo-script.sh
.PHONY: update-demos #EXHELP Validate demo recordings.
update-demos:
@for script in hack/demo/*-demo-script.sh; do \
nm=$$(basename $$script -script.sh); \
./hack/demo/generate-asciidemo.sh -n $$nm $$(basename $$script); \
DEMO_OUTPUT_DIR ?= $(ROOT_DIR)/docs/demos

.PHONY: update-demos
update-demos: SOURCE_MANIFEST := $(EXPERIMENTAL_E2E_MANIFEST)
update-demos: export MANIFEST := $(EXPERIMENTAL_RELEASE_MANIFEST)
update-demos: export DEFAULT_CATALOG := $(CATALOGS_MANIFEST)
update-demos: export INSTALL_DEFAULT_CATALOGS := true
update-demos: export CATALOG_WAIT_TIMEOUT := 5m
update-demos: wait-operator-controller-experimental-e2e demo-e2e demo-svg experimental-e2e-teardown #EXHELP Record demo scenarios as asciicast and SVG files.

.PHONY: demo-e2e
demo-e2e:
@command -v curl >/dev/null 2>&1 || { echo "Error: curl not found in PATH."; exit 1; }
@command -v jq >/dev/null 2>&1 || { echo "Error: jq not found in PATH."; exit 1; }
@mkdir -p $(DEMO_OUTPUT_DIR)
KUBECONFIG=$(KUBECONFIG_DIR)/operator-controller-experimental-e2e.kubeconfig \
DEMO_OUTPUT_DIR=$(DEMO_OUTPUT_DIR) go test -count=1 -v ./test/e2e/features_test.go -timeout 30m \
-args --godog.tags="@demo" --godog.concurrency=1

.PHONY: demo-svg
demo-svg: #EXHELP Convert asciicast recordings to SVG.
@command -v docker >/dev/null 2>&1 || { echo "Error: docker not found in PATH."; exit 1; }
@for cast in $(DEMO_OUTPUT_DIR)/*.cast; do \
svg=$${cast%.cast}.svg; \
echo "Converting $$(basename $$cast) -> $$(basename $$svg)"; \
docker run --rm -v $(DEMO_OUTPUT_DIR):/data node:alpine \
npx --yes svg-term-cli --in /data/$$(basename $$cast) --out /data/$$(basename $$svg) --window; \
done

include Makefile.venv
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ To get started with OLM v1, please see our [Getting Started](https://operator-fr

### Quickstart DEMO

[![asciicast](https://asciinema.org/a/682344.svg)](https://asciinema.org/a/682344)
[![ClusterCatalog Demo](https://operator-framework.github.io/operator-controller/demos/clustercatalog-quickstart.svg)](https://operator-framework.github.io/operator-controller/)

### ClusterCatalog Quickstart Steps

Expand Down
37 changes: 20 additions & 17 deletions api/v1/clusterextension_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ const (
// ClusterExtensionSpec defines the desired state of ClusterExtension
type ClusterExtensionSpec struct {
// namespace specifies a Kubernetes namespace.
// This is the namespace where the provided ServiceAccount must exist.
// It also designates the default namespace where namespace-scoped resources for the extension are applied to the cluster.
// It designates the default namespace where namespace-scoped resources for the extension are applied to the cluster.
// Some extensions may contain namespace-scoped resources to be applied in other namespaces.
// This namespace must exist.
//
Expand All @@ -67,14 +66,15 @@ type ClusterExtensionSpec struct {
// +required
Namespace string `json:"namespace"`

// serviceAccount specifies a ServiceAccount used to perform all interactions with the cluster
// that are required to manage the extension.
// The ServiceAccount must be configured with the necessary permissions to perform these interactions.
// The ServiceAccount must exist in the namespace referenced in the spec.
// The serviceAccount field is required.
// serviceAccount is a deprecated field and is completely ignored.
// OLMv1 is a single-tenant system where users with ClusterExtension write access are
// effectively delegated cluster-admin trust. The operator-controller runs with
// cluster-admin privileges and uses its own service account for all cluster interactions.
//
// +required
ServiceAccount ServiceAccountReference `json:"serviceAccount"`
// Deprecated: serviceAccount is no longer used and will be removed in a future release.
//
// +optional
ServiceAccount ServiceAccountReference `json:"serviceAccount,omitzero"`

// source is required and selects the installation source of content for this ClusterExtension.
// Set the sourceType field to perform the selection.
Expand Down Expand Up @@ -150,7 +150,6 @@ type SourceConfig struct {
}

// ClusterExtensionInstallConfig is a union which selects the clusterExtension installation config.
// ClusterExtensionInstallConfig requires the namespace and serviceAccount which should be used for the installation of packages.
//
// +kubebuilder:validation:XValidation:rule="has(self.preflight)",message="at least one of [preflight] are required when install is specified"
// +union
Expand Down Expand Up @@ -378,12 +377,15 @@ type CatalogFilter struct {
UpgradeConstraintPolicy UpgradeConstraintPolicy `json:"upgradeConstraintPolicy,omitempty"`
}

// ServiceAccountReference identifies the serviceAccount used fo install a ClusterExtension.
// ServiceAccountReference is a deprecated type and is completely ignored.
//
// Deprecated: ServiceAccountReference is no longer used and will be removed in a future release.
//
// +kubebuilder:validation:MinProperties=1
type ServiceAccountReference struct {
// name is a required, immutable reference to the name of the ServiceAccount used for installation
// and management of the content for the package specified in the packageName field.
// name is a deprecated field and is completely ignored.
//
// This ServiceAccount must exist in the installNamespace.
// Deprecated: name is no longer used and will be removed in a future release.
//
// The name field follows the DNS subdomain standard as defined in [RFC 1123].
// It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.),
Expand All @@ -402,11 +404,12 @@ type ServiceAccountReference struct {
//
// [RFC 1123]: https://tools.ietf.org/html/rfc1123
//
// +kubebuilder:validation:MinLength:=1
// +kubebuilder:validation:MaxLength:=253
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable"
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable once set but may be cleared"
// +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"
// +required
Name string `json:"name"`
// +optional
Name string `json:"name,omitempty"`
}

// PreflightConfig holds the configuration for the preflight checks. If used, at least one preflight check must be non-nil.
Expand Down
3 changes: 0 additions & 3 deletions api/v1/validation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@ func TestValidate(t *testing.T) {
}
defaultExtensionSpec := func(s *ClusterExtensionSpec) *ClusterExtensionSpec {
s.Namespace = "ns"
s.ServiceAccount = ServiceAccountReference{
Name: "sa",
}
s.Source = SourceConfig{
SourceType: SourceTypeCatalog,
Catalog: &CatalogFilter{
Expand Down
3 changes: 1 addition & 2 deletions applyconfigurations/api/v1/clusterextensioninstallconfig.go

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

16 changes: 8 additions & 8 deletions applyconfigurations/api/v1/clusterextensionspec.go

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

11 changes: 6 additions & 5 deletions applyconfigurations/api/v1/serviceaccountreference.go

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

Loading