From 09dd121c54ab49560a909db4b9902f96739a7dbf Mon Sep 17 00:00:00 2001 From: kevinrizza Date: Mon, 23 Sep 2019 09:23:06 -0400 Subject: [PATCH] Support crd.versions field Update the verify command to respect the latest crd spec with regards to the deprecation of the version field and replacement with spec.versions --- operatorcourier/validate.py | 12 +- .../crdversions.invalid.bundle.yaml | 347 +++++++++++++++++ .../crdversions.valid.bundle.yaml | 348 ++++++++++++++++++ tests/test_validate.py | 24 ++ 4 files changed, 728 insertions(+), 3 deletions(-) create mode 100644 tests/test_files/bundles/verification/crdversions.invalid.bundle.yaml create mode 100644 tests/test_files/bundles/verification/crdversions.valid.bundle.yaml diff --git a/operatorcourier/validate.py b/operatorcourier/validate.py index db159e7..2a4a4fa 100644 --- a/operatorcourier/validate.py +++ b/operatorcourier/validate.py @@ -156,9 +156,10 @@ def _crd_validation(self, bundle): if "group" not in crd['spec']: self._log_error("crd spec.group not defined.") valid = False - if "version" not in crd['spec']: - self._log_error("crd spec.version not defined.") - valid = False + if "versions" not in crd['spec']: + if "version" not in crd['spec']: + self._log_error("crd spec.version or spec.versions not defined") + valid = False return valid @@ -271,6 +272,11 @@ def _csv_spec_validation(self, spec, bundleData): if 'version' in csvOwnedCrd: if 'spec' in crd: + if 'versions' in crd['spec']: + if csvOwnedCrd['version'] not in crd['spec']['versions']: + self._log_error('CSV.spec.crd.owned.version is' + 'not in CRD.spec.versions list') + valid = False if 'version' in crd['spec']: if csvOwnedCrd['version'] != crd['spec']['version']: self._log_error('CRD.spec.version does not match ' diff --git a/tests/test_files/bundles/verification/crdversions.invalid.bundle.yaml b/tests/test_files/bundles/verification/crdversions.invalid.bundle.yaml new file mode 100644 index 0000000..1512e96 --- /dev/null +++ b/tests/test_files/bundles/verification/crdversions.invalid.bundle.yaml @@ -0,0 +1,347 @@ +data: + clusterServiceVersions: | + - apiVersion: operators.coreos.com/v1alpha1 + kind: ClusterServiceVersion + metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "marketplace.redhat.com/v1alpha1", + "kind": "CatalogSourceConfig", + "metadata": + { + "name": "installed-upstream-community-operators", + "namespace": "marketplace" + }, + "spec": + { + "targetNamespace": "local-operators", + "packages": "jaeger" + } + }, + { + "apiVersion": "marketplace.redhat.com/v1alpha1", + "kind": "OperatorSource", + "metadata": + { + "name": "community-operators", + "namespace": "marketplace" + }, + "spec": + { + "type": "appregistry", + "endpoint": "https://quay.io/cnr", + "registryNamespace": "community-operators", + "displayName": "Community Operators", + "publisher": "Red Hat" + } + } + + ] + categories: "Storage, Integration & Delivery" + certified: 'true' + containerImage: quay.io/openshift/origin-operator-marketplace:latest + createdAt: 2019/11/15 + description: An operator to run the OpenShift marketplace + capabilities: Basic Install + repository: https://github.com/operator-framework/operator-marketplace + support: Red Hat + name: marketplace-operator.v0.0.1 + namespace: placeholder + spec: + customresourcedefinitions: + owned: + - description: Represents an OperatorSource. + displayName: Operator Source + kind: OperatorSource + name: operatorsources.marketplace.redhat.com + specDescriptors: + - description: The type of the operator source. + displayName: Type + path: type + - description: Points to the remote app registry server from where operator + manifests can be fetched. + displayName: Endpoint + path: endpoint + - description: 'The namespace in app registry. + + Only operator manifests under this namespace will be visible. + + Please note that this is not a k8s namespace.' + displayName: Registry Namespace + path: registryNamespace + statusDescriptors: + - description: Current status of the CatalogSourceConfig + displayName: Current Phase Name + path: currentPhase.phase.name + - description: Message associated with the current status + displayName: Current Phase Message + path: currentPhase.phase.message + version: v1alpha1 + - description: Represents a CatalogSourceConfig object which is used to configure + a CatalogSource. + displayName: Catalog Source Config + kind: CatalogSourceConfig + name: catalogsourceconfigs.marketplace.redhat.com + specDescriptors: + - description: The namespace where the operators will be enabled. + displayName: Target Namespace + path: targetNamespace + - description: List of operator(s) which will be enabled in the target namespace + displayName: Packages + path: packages + statusDescriptors: + - description: Current status of the CatalogSourceConfig + displayName: Current Phase Name + path: currentPhase.phase.name + - description: Message associated with the current status + displayName: Current Phase Message + path: currentPhase.phase.message + version: v1alpha1 + description: Marketplace is a gateway for users to consume off-cluster Operators + which will include Red Hat, ISV, optional OpenShift and community content. + displayName: marketplace-operator + icon: + - base64data: iVBORw0KGgoAAAANSUhEUgAAAqQAAAKkCAYAAADWRi2pAAAAAXNSR0IArs4c6QAAQABJREFUeAHsnQd4VEXXxw9SQu+99xpaKr0kJCiKKAqIFAUFFf0Ae33FrmBFxV5QFLEgTeldCCEFAiRA6L33ThL0m7MaDUs22+6dmbv3P8+zz2ZvmTnzm8nuuTOn5PtLFEIBARAAARAAARAAARAAAUUErlPULpoFARAAARAAARAAARAAAQcBKKSYCCAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAAB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 + mediatype: image/png + install: + spec: + permissions: + - rules: + - apiGroups: + - '' + resources: + - 'serviceaccounts' + verbs: + - '*' + clusterPermissions: + - rules: + - apiGroups: + - marketplace.redhat.com + resources: + - '*' + verbs: + - '*' + - apiGroups: + - '' + resources: + - services + - configmaps + verbs: + - '*' + - apiGroups: + - operators.coreos.com + resources: + - catalogsources + verbs: + - '*' + serviceAccountName: marketplace-operator + deployments: + - name: marketplace-operator + spec: + replicas: 1 + selector: + matchLabels: + name: marketplace-operator + template: + metadata: + labels: + name: marketplace-operator + name: marketplace-operator + spec: + containers: + - command: + - marketplace-operator + env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERATOR_NAME + value: marketplace-operator + image: quay.io/openshift/origin-operator-marketplace:latest + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8080 + name: marketplace-operator + ports: + - containerPort: 60000 + name: metrics + - containerPort: 8080 + name: healthz + readinessProbe: + httpGet: + path: /healthz + port: 8080 + serviceAccountName: marketplace-operator + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - marketplace + - catalog + - olm + - admin + labels: + name: marketplace-operator + links: + - name: Markplace Operator Source Code + url: https://github.com/operator-framework/operator-marketplace + maintainers: + - email: aos-marketplace@redhat.com + name: AOS Marketplace Team + maturity: alpha + provider: + name: Red Hat + selector: + matchLabels: + name: marketplace-operator + version: 0.0.1 + customResourceDefinitions: | + - apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + annotations: + description: Represents a CatalogSourceConfig. + displayName: Catalog Source Config + name: catalogsourceconfigs.marketplace.redhat.com + spec: + additionalPrinterColumns: + - JSONPath: .spec.targetNamespace + description: The namespace where the operators will be enabled + name: TargetNamespace + type: string + - JSONPath: .spec.packages + description: List of operator(s) which will be enabled in the target namespace + name: Packages + type: string + - JSONPath: .status.currentPhase.phase.name + description: Current status of the CatalogSourceConfig + name: Status + type: string + - JSONPath: .status.currentPhase.phase.message + description: Message associated with the current status + name: Message + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date + group: marketplace.redhat.com + names: + kind: CatalogSourceConfig + listKind: CatalogSourceConfigList + plural: catalogsourceconfigs + shortNames: + - csc + singular: catalogsourceconfig + scope: Namespaced + validation: + openAPIV3Schema: + properties: + spec: + description: Spec for a CatalogSourceConfig + properties: + packages: + description: Comma separated list of operator(s) without spaces + which will be enabled in the target namespace + type: string + targetNamespace: + description: The namespace where the operators will be enabled + type: string + required: + - targetNamespace + - packages + type: object + versions: + - v1beta1 + - apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + annotations: + description: Represents an OperatorSource. + displayName: Operator Source + name: operatorsources.marketplace.redhat.com + spec: + additionalPrinterColumns: + - JSONPath: .spec.type + description: The type of the OperatorSource + name: Type + type: string + - JSONPath: .spec.endpoint + description: The endpoint of the OperatorSource + name: Endpoint + type: string + - JSONPath: .spec.registryNamespace + description: App registry namespace + name: Registry + type: string + - JSONPath: .spec.displayName + description: Display (pretty) name to indicate the OperatorSource's name + name: DisplayName + type: string + - JSONPath: .spec.publisher + description: Publisher of the OperatorSource + name: Publisher + type: string + - JSONPath: .status.currentPhase.phase.name + description: Current status of the OperatorSource + name: Status + type: string + - JSONPath: .status.currentPhase.phase.message + description: Message associated with the current status + name: Message + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date + group: marketplace.redhat.com + names: + kind: OperatorSource + listKind: OperatorSourceList + plural: operatorsources + shortNames: + - opsrc + singular: operatorsource + scope: Namespaced + validation: + openAPIV3Schema: + properties: + spec: + description: Spec for an OperatorSource. + properties: + endpoint: + description: Points to the remote app registry server from where + operator manifests can be fetched. + type: string + registryNamespace: + description: 'The namespace in app registry. + + Only operator manifests under this namespace will be visible. + + Please note that this is not a k8s namespace.' + type: string + type: + description: The type of the OperatorSource + pattern: appregistry + type: string + required: + - type + - endpoint + - registryNamespace + type: object + version: v1alpha1 + packages: | + - channels: + - currentCSV: marketplace-operator.v0.0.1 + name: alpha + packageName: marketplace diff --git a/tests/test_files/bundles/verification/crdversions.valid.bundle.yaml b/tests/test_files/bundles/verification/crdversions.valid.bundle.yaml new file mode 100644 index 0000000..92f4c7a --- /dev/null +++ b/tests/test_files/bundles/verification/crdversions.valid.bundle.yaml @@ -0,0 +1,348 @@ +data: + clusterServiceVersions: | + - apiVersion: operators.coreos.com/v1alpha1 + kind: ClusterServiceVersion + metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "marketplace.redhat.com/v1alpha1", + "kind": "CatalogSourceConfig", + "metadata": + { + "name": "installed-upstream-community-operators", + "namespace": "marketplace" + }, + "spec": + { + "targetNamespace": "local-operators", + "packages": "jaeger" + } + }, + { + "apiVersion": "marketplace.redhat.com/v1alpha1", + "kind": "OperatorSource", + "metadata": + { + "name": "community-operators", + "namespace": "marketplace" + }, + "spec": + { + "type": "appregistry", + "endpoint": "https://quay.io/cnr", + "registryNamespace": "community-operators", + "displayName": "Community Operators", + "publisher": "Red Hat" + } + } + + ] + categories: "Storage, Integration & Delivery" + certified: 'true' + containerImage: quay.io/openshift/origin-operator-marketplace:latest + createdAt: 2019/11/15 + description: An operator to run the OpenShift marketplace + capabilities: Basic Install + repository: https://github.com/operator-framework/operator-marketplace + support: Red Hat + name: marketplace-operator.v0.0.1 + namespace: placeholder + spec: + customresourcedefinitions: + owned: + - description: Represents an OperatorSource. + displayName: Operator Source + kind: OperatorSource + name: operatorsources.marketplace.redhat.com + specDescriptors: + - description: The type of the operator source. + displayName: Type + path: type + - description: Points to the remote app registry server from where operator + manifests can be fetched. + displayName: Endpoint + path: endpoint + - description: 'The namespace in app registry. + + Only operator manifests under this namespace will be visible. + + Please note that this is not a k8s namespace.' + displayName: Registry Namespace + path: registryNamespace + statusDescriptors: + - description: Current status of the CatalogSourceConfig + displayName: Current Phase Name + path: currentPhase.phase.name + - description: Message associated with the current status + displayName: Current Phase Message + path: currentPhase.phase.message + version: v1alpha1 + - description: Represents a CatalogSourceConfig object which is used to configure + a CatalogSource. + displayName: Catalog Source Config + kind: CatalogSourceConfig + name: catalogsourceconfigs.marketplace.redhat.com + specDescriptors: + - description: The namespace where the operators will be enabled. + displayName: Target Namespace + path: targetNamespace + - description: List of operator(s) which will be enabled in the target namespace + displayName: Packages + path: packages + statusDescriptors: + - description: Current status of the CatalogSourceConfig + displayName: Current Phase Name + path: currentPhase.phase.name + - description: Message associated with the current status + displayName: Current Phase Message + path: currentPhase.phase.message + version: v1alpha1 + description: Marketplace is a gateway for users to consume off-cluster Operators + which will include Red Hat, ISV, optional OpenShift and community content. + displayName: marketplace-operator + icon: + - base64data: iVBORw0KGgoAAAANSUhEUgAAAqQAAAKkCAYAAADWRi2pAAAAAXNSR0IArs4c6QAAQABJREFUeAHsnQd4VEXXxw9SQu+99xpaKr0kJCiKKAqIFAUFFf0Ae33FrmBFxV5QFLEgTeldCCEFAiRA6L33ThL0m7MaDUs22+6dmbv3P8+zz2ZvmTnzm8nuuTOn5PtLFEIBARAAARAAARAAARAAAUUErlPULpoFARAAARAAARAAARAAAQcBKKSYCCAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAABEAABEAABEAABpQSgkCrFj8ZBAARAAARAAARAAASgkGIOgAAIgAAIgAAIgAAIKCUAhVQpfjQOAiAAAiAAAiAAAiAAhRRzAARAAARAAARAAARAQCkBKKRK8aNxEAABEAABEAABEAABKKSYAyAAAiAAAiAAAiAAAkoJQCFVih+NgwAIgAAIgAAIgAAIQCHFHAABEAABEAABEAABEFBKAAqpUvxoHARAAARAAARAAARAAAop5gAIgAAIgAAIgAAIgIBSAlBIleJH4yAAAiAAAiAAAiAAAlBIMQdAAARAAARAAARAAASUEoBCqhQ/GgcBEAABEAABEAABEIBCijkAAiAAAiAAAiAAAiCglAAUUqX40TgIgAAIgAAIgAAIgAAUUswBEAAB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 + mediatype: image/png + install: + spec: + permissions: + - rules: + - apiGroups: + - '' + resources: + - 'serviceaccounts' + verbs: + - '*' + clusterPermissions: + - rules: + - apiGroups: + - marketplace.redhat.com + resources: + - '*' + verbs: + - '*' + - apiGroups: + - '' + resources: + - services + - configmaps + verbs: + - '*' + - apiGroups: + - operators.coreos.com + resources: + - catalogsources + verbs: + - '*' + serviceAccountName: marketplace-operator + deployments: + - name: marketplace-operator + spec: + replicas: 1 + selector: + matchLabels: + name: marketplace-operator + template: + metadata: + labels: + name: marketplace-operator + name: marketplace-operator + spec: + containers: + - command: + - marketplace-operator + env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERATOR_NAME + value: marketplace-operator + image: quay.io/openshift/origin-operator-marketplace:latest + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8080 + name: marketplace-operator + ports: + - containerPort: 60000 + name: metrics + - containerPort: 8080 + name: healthz + readinessProbe: + httpGet: + path: /healthz + port: 8080 + serviceAccountName: marketplace-operator + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - marketplace + - catalog + - olm + - admin + labels: + name: marketplace-operator + links: + - name: Markplace Operator Source Code + url: https://github.com/operator-framework/operator-marketplace + maintainers: + - email: aos-marketplace@redhat.com + name: AOS Marketplace Team + maturity: alpha + provider: + name: Red Hat + selector: + matchLabels: + name: marketplace-operator + version: 0.0.1 + customResourceDefinitions: | + - apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + annotations: + description: Represents a CatalogSourceConfig. + displayName: Catalog Source Config + name: catalogsourceconfigs.marketplace.redhat.com + spec: + additionalPrinterColumns: + - JSONPath: .spec.targetNamespace + description: The namespace where the operators will be enabled + name: TargetNamespace + type: string + - JSONPath: .spec.packages + description: List of operator(s) which will be enabled in the target namespace + name: Packages + type: string + - JSONPath: .status.currentPhase.phase.name + description: Current status of the CatalogSourceConfig + name: Status + type: string + - JSONPath: .status.currentPhase.phase.message + description: Message associated with the current status + name: Message + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date + group: marketplace.redhat.com + names: + kind: CatalogSourceConfig + listKind: CatalogSourceConfigList + plural: catalogsourceconfigs + shortNames: + - csc + singular: catalogsourceconfig + scope: Namespaced + validation: + openAPIV3Schema: + properties: + spec: + description: Spec for a CatalogSourceConfig + properties: + packages: + description: Comma separated list of operator(s) without spaces + which will be enabled in the target namespace + type: string + targetNamespace: + description: The namespace where the operators will be enabled + type: string + required: + - targetNamespace + - packages + type: object + versions: + - v1alpha1 + - v1beta1 + - apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + annotations: + description: Represents an OperatorSource. + displayName: Operator Source + name: operatorsources.marketplace.redhat.com + spec: + additionalPrinterColumns: + - JSONPath: .spec.type + description: The type of the OperatorSource + name: Type + type: string + - JSONPath: .spec.endpoint + description: The endpoint of the OperatorSource + name: Endpoint + type: string + - JSONPath: .spec.registryNamespace + description: App registry namespace + name: Registry + type: string + - JSONPath: .spec.displayName + description: Display (pretty) name to indicate the OperatorSource's name + name: DisplayName + type: string + - JSONPath: .spec.publisher + description: Publisher of the OperatorSource + name: Publisher + type: string + - JSONPath: .status.currentPhase.phase.name + description: Current status of the OperatorSource + name: Status + type: string + - JSONPath: .status.currentPhase.phase.message + description: Message associated with the current status + name: Message + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date + group: marketplace.redhat.com + names: + kind: OperatorSource + listKind: OperatorSourceList + plural: operatorsources + shortNames: + - opsrc + singular: operatorsource + scope: Namespaced + validation: + openAPIV3Schema: + properties: + spec: + description: Spec for an OperatorSource. + properties: + endpoint: + description: Points to the remote app registry server from where + operator manifests can be fetched. + type: string + registryNamespace: + description: 'The namespace in app registry. + + Only operator manifests under this namespace will be visible. + + Please note that this is not a k8s namespace.' + type: string + type: + description: The type of the OperatorSource + pattern: appregistry + type: string + required: + - type + - endpoint + - registryNamespace + type: object + version: v1alpha1 + packages: | + - channels: + - currentCSV: marketplace-operator.v0.0.1 + name: alpha + packageName: marketplace diff --git a/tests/test_validate.py b/tests/test_validate.py index 5d8b66c..2c0e508 100644 --- a/tests/test_validate.py +++ b/tests/test_validate.py @@ -160,3 +160,27 @@ def _test_invalid_bundle(bundleFile): unformatted_bundle = unformat_bundle(bundle) valid, _ = ValidateCmd().validate(unformatted_bundle) assert not valid + + +@pytest.mark.parametrize('file_name', [ + "tests/test_files/bundles/verification/crdversions.invalid.bundle.yaml", +]) +def test_invalid_crd_versions_field(file_name): + with open(file_name) as f: + bundle = yaml.safe_load(f) + bundle = unformat_bundle(bundle) + valid, _ = ValidateCmd().validate(bundle) + + assert not valid + + +@pytest.mark.parametrize('file_name', [ + "tests/test_files/bundles/verification/crdversions.valid.bundle.yaml", +]) +def test_valid_crd_versions_field(file_name): + with open(file_name) as f: + bundle = yaml.safe_load(f) + bundle = unformat_bundle(bundle) + valid, _ = ValidateCmd().validate(bundle) + + assert valid