Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 26 additions & 0 deletions test/e2e/features/install.feature
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,32 @@ Feature: Install ClusterExtension
kubernetes.io/os: linux
"""

@BoxcutterRuntime
Scenario: Install bundle with large CRD
When ClusterExtension is applied
"""
apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
name: ${NAME}
spec:
namespace: ${TEST_NAMESPACE}
serviceAccount:
name: olm-sa
source:
sourceType: Catalog
catalog:
packageName: large-crd-operator
selector:
matchLabels:
"olm.operatorframework.io/metadata.name": test-catalog
"""
Then ClusterExtension is rolled out
And ClusterExtension is available
And bundle "large-crd-operator.1.0.0" is installed in version "1.0.0"
And resource "customresourcedefinition/largecrdtests.largecrd.operatorframework.io" is installed
And resource "deployment/large-crd-operator" is installed

@BoxcutterRuntime
@PreflightPermissions
Scenario: Boxcutter preflight check detects missing CREATE permissions
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
alm-examples: |-
[
{
"apiVersion": "largecrd.operatorframework.io/v1",
"kind": "LargeCrdTest",
"metadata": {
"labels": {
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "large-crd-operator"
},
"name": "largecrdtest-sample"
},
"spec": null
}
]
capabilities: Basic Install
createdAt: "2024-10-24T19:21:40Z"
operators.operatorframework.io/builder: operator-sdk-v1.34.1
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
name: large-crd-operator.v1.0.0
namespace: placeholder
spec:
apiservicedefinitions: {}
customresourcedefinitions:
owned:
- description: LargeCrdTest is a test CRD with a large schema
displayName: LargeCrdTest
kind: LargeCrdTest
name: largecrdtests.largecrd.operatorframework.io
version: v1
description: OLM E2E Large CRD Testing Operator
displayName: large-crd-operator
icon:
- base64data: ""
mediatype: ""
install:
spec:
deployments:
- label:
app.kubernetes.io/component: controller
app.kubernetes.io/name: large-crd-operator
app.kubernetes.io/version: 1.0.0
name: large-crd-operator
spec:
replicas: 1
selector:
matchLabels:
app: largecrdtest
template:
metadata:
labels:
app: largecrdtest
spec:
terminationGracePeriodSeconds: 0
volumes:
- name: scripts
configMap:
name: httpd-script
defaultMode: 0755
containers:
- name: busybox-httpd-container
image: busybox:1.37
command: ["/scripts/httpd.sh"]
ports:
- containerPort: 80
volumeMounts:
- name: scripts
mountPath: /scripts
readOnly: true
startupProbe:
httpGet:
path: /started
port: 80
failureThreshold: 30
periodSeconds: 10
livenessProbe:
httpGet:
path: /live
port: 80
failureThreshold: 1
periodSeconds: 2
readinessProbe:
httpGet:
path: /ready
port: 80
initialDelaySeconds: 1
periodSeconds: 1
serviceAccountName: simple-bundle-manager
clusterPermissions:
- rules:
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
serviceAccountName: simple-bundle-manager
permissions:
- rules:
- apiGroups:
- ""
resources:
- configmaps
- serviceaccounts
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
serviceAccountName: simple-bundle-manager
strategy: deployment
installModes:
- supported: false
type: OwnNamespace
- supported: true
type: SingleNamespace
- supported: false
type: MultiNamespace
- supported: true
type: AllNamespaces
keywords:
- registry
links:
- name: large-crd-operator
url: https://large-crd-operator.domain
maintainers:
- email: main#large-crd-operator.domain
name: Large CRD Operator
maturity: beta
provider:
name: Large CRD Operator
url: https://large-crd-operator.domain
version: 1.0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: httpd-script
data:
httpd.sh: |
#!/bin/sh
echo "Version 1.0.0"
echo true > /var/www/started
echo true > /var/www/ready
echo true > /var/www/live
exec httpd -f -h /var/www -p 80
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
annotations:
# Core bundle annotations.
operators.operatorframework.io.bundle.mediatype.v1: registry+v1
operators.operatorframework.io.bundle.manifests.v1: manifests/
operators.operatorframework.io.bundle.metadata.v1: metadata/
operators.operatorframework.io.bundle.package.v1: large-crd-operator
operators.operatorframework.io.bundle.channels.v1: beta
operators.operatorframework.io.metrics.builder: operator-sdk-v1.28.0
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
operators.operatorframework.io.metrics.project_layout: unknown
20 changes: 20 additions & 0 deletions testdata/images/catalogs/test-catalog/v1/configs/catalog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -185,3 +185,23 @@ properties:
value:
packageName: single-namespace-operator
version: 1.0.0
---
schema: olm.package
name: large-crd-operator
defaultChannel: beta
---
schema: olm.channel
name: beta
package: large-crd-operator
entries:
- name: large-crd-operator.1.0.0
---
schema: olm.bundle
name: large-crd-operator.1.0.0
package: large-crd-operator
image: docker-registry.operator-controller-e2e.svc.cluster.local:5000/bundles/registry-v1/large-crd-operator:v1.0.0
properties:
- type: olm.package
value:
packageName: large-crd-operator
version: 1.0.0
Loading