From fa039aaffa4e0d7cf824ce92d84526bab1c82507 Mon Sep 17 00:00:00 2001 From: Adam Kaplan Date: Mon, 13 Nov 2023 13:48:25 -0500 Subject: [PATCH] operator shipwright-operator (0.12.0) --- ...erator.shipwright.io_shipwrightbuilds.yaml | 128 +++ ...-operator-manager-config_v1_configmap.yaml | 17 + ...c.authorization.k8s.io_v1_clusterrole.yaml | 10 + ...t-operator-metrics-service_v1_service.yaml | 17 + ...wright-operator.clusterserviceversion.yaml | 885 ++++++++++++++++++ .../0.12.0/metadata/annotations.yaml | 14 + .../0.12.0/tests/scorecard/config.yaml | 70 ++ 7 files changed, 1141 insertions(+) create mode 100644 operators/shipwright-operator/0.12.0/manifests/operator.shipwright.io_shipwrightbuilds.yaml create mode 100644 operators/shipwright-operator/0.12.0/manifests/shipwright-operator-manager-config_v1_configmap.yaml create mode 100644 operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml create mode 100644 operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-service_v1_service.yaml create mode 100644 operators/shipwright-operator/0.12.0/manifests/shipwright-operator.clusterserviceversion.yaml create mode 100644 operators/shipwright-operator/0.12.0/metadata/annotations.yaml create mode 100644 operators/shipwright-operator/0.12.0/tests/scorecard/config.yaml diff --git a/operators/shipwright-operator/0.12.0/manifests/operator.shipwright.io_shipwrightbuilds.yaml b/operators/shipwright-operator/0.12.0/manifests/operator.shipwright.io_shipwrightbuilds.yaml new file mode 100644 index 00000000000..0e9bb7ff380 --- /dev/null +++ b/operators/shipwright-operator/0.12.0/manifests/operator.shipwright.io_shipwrightbuilds.yaml @@ -0,0 +1,128 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: shipwrightbuilds.operator.shipwright.io +spec: + group: operator.shipwright.io + names: + kind: ShipwrightBuild + listKind: ShipwrightBuildList + plural: shipwrightbuilds + singular: shipwrightbuild + scope: Cluster + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ShipwrightBuild represents the deployment of Shipwright's build + controller on a Kubernetes cluster. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ShipwrightBuildSpec defines the configuration of a Shipwright + Build deployment. + properties: + targetNamespace: + description: TargetNamespace is the target namespace where Shipwright's + build controller will be deployed. + type: string + type: object + status: + description: ShipwrightBuildStatus defines the observed state of ShipwrightBuild + properties: + conditions: + description: Conditions holds the latest available observations of + a resource's current state. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's + current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-manager-config_v1_configmap.yaml b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-manager-config_v1_configmap.yaml new file mode 100644 index 00000000000..694bf42fb1b --- /dev/null +++ b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-manager-config_v1_configmap.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +data: + controller_manager_config.yaml: | + apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 + kind: ControllerManagerConfig + health: + healthProbeBindAddress: :8081 + metrics: + bindAddress: 127.0.0.1:8080 + webhook: + port: 9443 + leaderElection: + leaderElect: true + resourceName: 01a9b2d1.shipwright.io +kind: ConfigMap +metadata: + name: shipwright-operator-manager-config diff --git a/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..3bd43e3d419 --- /dev/null +++ b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: shipwright-operator-metrics-reader +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-service_v1_service.yaml b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..093550beba3 --- /dev/null +++ b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator-metrics-service_v1_service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + app: shipwright-operator + name: shipwright-operator-metrics-service +spec: + ports: + - name: https + port: 8443 + protocol: TCP + targetPort: https + selector: + app: shipwright-operator +status: + loadBalancer: {} diff --git a/operators/shipwright-operator/0.12.0/manifests/shipwright-operator.clusterserviceversion.yaml b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..dbf6c97f706 --- /dev/null +++ b/operators/shipwright-operator/0.12.0/manifests/shipwright-operator.clusterserviceversion.yaml @@ -0,0 +1,885 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "operator.shipwright.io/v1alpha1", + "kind": "ShipwrightBuild", + "metadata": { + "name": "shipwright-build" + }, + "spec": { + "targetNamespace": "shipwright-build" + } + } + ] + capabilities: Basic Install + categories: Developer Tools + certified: "false" + containerImage: ghcr.io/shipwright-io/operator/operator:0.12.0@sha256:0f7443ec81eaa9484b2f3cf07d0c3218b5fea05377ffab8b1e7e48dc7fad937c + description: Shipwright is a framework for building container images on Kubernetes. + operators.operatorframework.io/builder: operator-sdk-v1.16.0+git + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 + repository: https://github.com/shipwright-io/operator + support: The Shipwright Contributors + name: shipwright-operator.v0.12.0 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: ShipwrightBuild represents the deployment of Shipwright's build controller on a Kubernetes cluster. + displayName: Shipwright Build + kind: ShipwrightBuild + name: shipwrightbuilds.operator.shipwright.io + version: v1alpha1 + required: + - kind: TektonConfig + name: tektonconfigs.operator.tekton.dev + version: v1alpha1 + - kind: Certificate + name: certificates.cert-manager.io + version: v1 + description: | + Shipwright is a framework for building container images on Kubernetes. + + Read more: [https://shipwright.io](https://shipwright.io) + + ## Usage + + To deploy and manage [Shipwright Builds](https://github.com/shipwright-io/build) in your cluster, + first make sure this operator is installed and running on your cluster. + + Next, create the following: + + ```yaml + --- + apiVersion: operator.shipwright.io/v1alpha1 + kind: ShipwrightBuild + metadata: + name: shipwright-operator + spec: + targetNamespace: shipwright-build + ``` + + The operator will deploy Shipwright Builds in the provided `targetNamespace`. + When `.spec.targetNamespace` is not set, the namespace will default to `shipwright-build`. + Refer to the [ShipwrightBuild documentation](https://github.com/shipwright-io/operator/blob/main/docs/shipwrightbuild.md) for more information about this custom resource. + displayName: Shipwright Operator + icon: + - base64data: | + PHN2ZyB3aWR0aD0iMzUuMDY1bW0iIGhlaWdodD0iMzQuNDkzbW0iIHZlcnNpb249IjEuMSIgdmll + d0JveD0iMCAwIDM1LjA2NSAzNC40OTMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2 + ZyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY5LjY1OSA4NC41MjYpIj48ZyB0cmFuc2Zvcm09 + InRyYW5zbGF0ZSg5NC44MDkgLTE1OC43KSI+PHBhdGggZD0ibS0xNC4zMTkgNzQuMzRjLTAuMjMx + NSAwLjAxOS0wLjQyODMyIDAuMDM5Ny0wLjU5NTYyIDAuMDY0OC0wLjE2NzI5IDAuMDI1LTAuMjcy + IDAuMDI0OS0wLjQ4OTUgMC4xMjk2LTAuMjE3NDggMC4xMDQ3My0wLjI4Mjc4IDAuMTg2ODQtMC40 + MDY2NiAwLjMwMjA0LTAuMTIzODggMC4xMTUxOS0wLjI2MjE3IDAuMjU2MTUtMC40MjE0IDAuNDI1 + MjgtMC4zMTg0NiAwLjMzODI3LTAuNzE1NjQgMC43ODc1Ny0xLjE2ODcgMS4zMTYzLTAuOTA2MTgg + MS4wNTc1LTIuMDMzNCAyLjQzMTItMy4xNDE3IDMuODIxcy0yLjE5NjkgMi43OTQ1LTMuMDI2MSAz + LjkxMzNjLTAuNDE0NjQgMC41NTk0My0wLjc2MzcxIDEuMDQ2NS0xLjAyMjYgMS40MzIzLTAuMTI5 + NDYgMC4xOTI4OS0wLjIzNjA0IDAuMzU5NjYtMC4zMjA3OCAwLjUwNjA5LTAuMDg0NzUgMC4xNDY0 + Mi0wLjE1MDk1IDAuMjI4Mi0wLjIwNDY5IDAuNDYzNnMtMC4wMjkzNCAwLjMzNzQ4LTAuMDE2NTUg + MC41MDYyYzAuMDEyNjIgMC4xNjg3MyAwLjAzNjI0IDAuMzY1NSAwLjA2OTE2IDAuNTk1NSAwLjA2 + NTg0IDAuNDYgMC4xNjkxNCAxLjA1MDUgMC4yOTk4OSAxLjczNDYgMC4yNjE1MSAxLjM2ODIgMC42 + MzI3IDMuMTA2MyAxLjAyNzkgNC44Mzk4IDAuMzk1MjYgMS43MzM1IDAuODEzOTIgMy40NjAyIDEu + MTcxNCA0LjgwNjQgMC4xNzg3MSAwLjY3MzE1IDAuMzQxODUgMS4yNTAyIDAuNDgxOTQgMS42OTMy + IDAuMDcwMDUgMC4yMjE1MyAwLjEzMzQ4IDAuNDA4NzcgMC4xOTUwOCAwLjU2NjM1IDAuMDYxNjEg + MC4xNTc1OCAwLjA4NDk2IDAuMjYwNTggMC4yMzU0NSAwLjQ0OTM5IDAuMTUwNDcgMC4xODg4IDAu + MjQ1MjcgMC4yMzM3NSAwLjM4NTExIDAuMzI4OTMgMC4xMzk4NCAwLjA5NTIgMC4zMDgzMiAwLjE5 + OTM0IDAuNTA4NiAwLjMxNyAwLjQwMDU1IDAuMjM1MyAwLjkyNjUxIDAuNTIyNiAxLjU0MjcgMC44 + NDY4MyAxLjIzMjMgMC42NDg0NCAyLjgyMTYgMS40NDEgNC40MjI4IDIuMjEyNiAxLjYwMTIgMC43 + NzE1NyAzLjIxMjMgMS41MjA3IDQuNDg3MyAyLjA4MDUgMC42Mzc1IDAuMjc5ODkgMS4xOTAyIDAu + NTEyODYgMS42MjM4IDAuNjc5NTIgMC4yMTY4IDAuMDgzMyAwLjQwMjkyIDAuMTQ5NTcgMC41NjQ0 + OCAwLjE5OTY0IDAuMTYxNTYgMC4wNTAxIDAuMjU1NjYgMC4wOTY0IDAuNDk3MDMgMC4wOTY0IDAu + MjQxMzkgM2UtNSAwLjMzNjI3LTAuMDQ2MSAwLjQ5Nzg1LTAuMDk2MiAwLjE2MTU4LTAuMDUgMC4z + NDc0OS0wLjExNjkyIDAuNTY0MzItMC4yMDAyIDAuNDMzNjYtMC4xNjY1NiAwLjk4NjA0LTAuMzk4 + NzQgMS42MjM2LTAuNjc4NSAxLjI3NTItMC41NTk1IDIuODg2Ni0xLjMwODMgNC40ODgtMi4wNzk1 + IDEuNjAxNC0wLjc3MTIzIDMuMTkxMS0xLjU2MzYgNC40MjM2LTIuMjExOCAwLjYxNjI2LTAuMzI0 + MDkgMS4xNDI3LTAuNjExNDYgMS41NDMzLTAuODQ2NjggMC4yMDAzMS0wLjExNzYxIDAuMzY4NjEt + MC4yMjE2OSAwLjUwODQ3LTAuMzE2ODQgMC4xMzk4Ny0wLjA5NTEgMC4yMzQ5LTAuMTQwNjEgMC4z + ODU0My0wLjMyOTM3IDAuMTUwNTItMC4xODg3NiAwLjE3Mjk5LTAuMjkxMTggMC4yMzQ2NC0wLjQ0 + ODc0czAuMTI1NjgtMC4zNDQzOCAwLjE5NTc5LTAuNTY1ODhjMC4xNDAyMS0wLjQ0MzAxIDAuMzAz + NjgtMS4wMTk5IDAuNDgyNTgtMS42OTMgMC4zNTc4LTEuMzQ2MiAwLjc3NjQ1LTMuMDczMSAxLjE3 + MjItNC44MDY0czAuNzY4MDMtMy40NzEgMS4wMjk5LTQuODM5YzAuMTMwOTUtMC42ODQwMyAwLjIz + NDQzLTEuMjc1MyAwLjMwMDM4LTEuNzM1MyAwLjAzMjk4LTAuMjI5OTkgMC4wNTY0NS0wLjQyNjQ4 + IDAuMDY5My0wLjU5NTIgMC4wMTI4NC0wLjE2ODcxIDAuMDM2OTMtMC4yNzA1OC0wLjAxNjc1LTAu + NTA2LTAuMDUzNjgtMC4yMzU0My0wLjExOTkzLTAuMzE3MDMtMC4yMDQ2NC0wLjQ2MzQ4cy0wLjE5 + MDg0LTAuMzEzMjQtMC4zMjAyNS0wLjUwNjE3Yy0wLjI1ODgzLTAuMzg1ODUtMC42MDgxNS0wLjg3 + Mzc0LTEuMDIyNy0xLjQzMzMtMC44MjkwNS0xLjExOTEtMS45MTc5LTIuNTIzMy0zLjAyNTktMy45 + MTM1cy0yLjIzNC0yLjc2NDUtMy4xMzk5LTMuODIyMmMtMC40NTI5OS0wLjUyODg4LTAuODUwNDgt + MC45Nzc3LTEuMTY4OS0xLjMxNi0wLjE1OTItMC4xNjkxNy0wLjI5Nzg4LTAuMzEwMjYtMC40MjE3 + My0wLjQyNTQ5cy0wLjE4ODcyLTAuMTk4MTctMC40MDYxNy0wLjMwMjk2Yy0wLjMyNjE5LTAuMTU3 + MTktMC40NjYtMC4xMzE2OC0wLjc2MzIxLTAuMTYzNzMtMC4yOTcyMS0wLjAzMjEtMC42NzE1NS0w + LjA1ODctMS4xMTMzLTAuMDgyLTAuODgzNTUtMC4wNDY2LTIuMDMzMy0wLjA3ODQtMy4yOTM2LTAu + MDk2OS0yLjUyMDYtMC4wMzctNS40NzUyLTAuMDE5NS03LjU2MjYgMC4wNTQxLTAuNjk1ODEgMC4w + MjQ1LTEuMjk0OSAwLjA1NDgtMS43NTc5IDAuMDkyOXoiIGZpbGw9IiM3YzhmYTQiIHN0b3AtY29s + b3I9IiMwMDAwMDAiIHN0eWxlPSJwYWludC1vcmRlcjptYXJrZXJzIGZpbGwgc3Ryb2tlIi8+PGcg + ZmlsbD0iIzBlMjMyZSI+PHBhdGggZD0ibS0xMy43NTYgODAuMTY4YTAuODUwMDkgMC44NTAwOSAw + IDAgMC0wLjg0OTYxIDAuODgwODZsMC4yNDYwOSA2LjQxMjFhMC44NTAwOSAwLjg1MDA5IDAgMCAw + IDAuODQ5NjEgMC44MTY0MWgxMS44MjZhMC44NTAwOSAwLjg1MDA5IDAgMCAwIDAuODQ3NjYtMC44 + MTY0MWwwLjI0NjA5LTYuNDEyMWEwLjg1MDA5IDAuODUwMDkgMCAwIDAtMC44NDk2MS0wLjg4MDg2 + em0wLjg4MjgxIDEuNjk5MmgxMC41NTNsLTAuMTgxNjQgNC43MTA5aC0xMC4xODl6IiBjb2xvcj0i + IzAwMDAwMCIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBkb21pbmFudC1iYXNlbGluZT0iYXV0byIg + aW1hZ2UtcmVuZGVyaW5nPSJhdXRvIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHNvbGlkLWNvbG9y + PSIjMDAwMDAwIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdHlsZT0iZm9udC1mZWF0dXJlLXNldHRp + bmdzOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC12YXJpYW50LWNh + cHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1lYXN0LWFzaWFuOm5vcm1hbDtmb250LXZhcmlhbnQtbGln + YXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LXBv + c2l0aW9uOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7aW5saW5lLXNpemU6 + MDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7c2hhcGUtbWFyZ2luOjA7c2hh + cGUtcGFkZGluZzowO3RleHQtZGVjb3JhdGlvbi1jb2xvcjojMDAwMDAwO3RleHQtZGVjb3JhdGlv + bi1saW5lOm5vbmU7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtaW5kZW50OjA7dGV4 + dC1vcmllbnRhdGlvbjptaXhlZDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vcm1h + bCIvPjxwYXRoIGQ9Im0tNy42MzA1IDc3LjA1N3YwLjAwMTljLTEuMjcxNS0wLjAwMTEtMi4xNDgg + MC40NDYyMi0yLjMwMDEgMC42MDU5OS0wLjA5NDA4MSAwLjI1NTYxLTAuMTQ0MjYgMi43Nzk5LTAu + MTQ0MjYgMi43Nzk5bDIuNDQ3NiAwLjE1Nzk2djAuMDAzOGwwLjAzMDI2NS0wLjAwMjEgMC4wMzAy + NjUgMC4wMDIxdi0wLjAwMzhsMi40NDcyLTAuMTU3OTZzLTAuMDQ5Nzc1LTIuNTI0My0wLjE0Mzg2 + LTIuNzc5OWMtMC4xNTIwNi0wLjE1OTc2LTEuMDI4Ni0wLjYwNzAyLTIuMzAwMS0wLjYwNTk4di0w + LjAwMTljLTAuMDExNjI5LTEuNTllLTQgLTAuMDIxOTM4IDFlLTMgLTAuMDMzNDk3IDkuMzdlLTQg + LTAuMDExNTc1IDguNGUtNSAtMC4wMjE4Ni0wLjAwMTEtMC4wMzM0OTctOS4zN2UtNHoiLz48cGF0 + aCBkPSJtLTcuNzY5NiA4NC4zNjh2MC4wMTU1MWMtMi44MDk2IDAuMjI0Mi05LjIyOTkgMy4wNzUz + LTkuMjI5OSAzLjA3NTMgMC4zODc5IDEuNDQ3NyAxLjAwNzggMy4xNjEyIDEuNDM3MSA0LjMwMDUg + MC4yODA5NC0wLjA5NTE2IDAuNTI1NDctMC4xOTQ1MSAwLjczNDMyLTAuMjkyNDkgMC44NTI5MS0w + LjQwMDEyIDEuMDYwNC0wLjY3OCAxLjA2MDQtMC42NzhsMC42NjE5OC0wLjc2OTQ2IDAuNzYwMTYg + MC42NzM4NnMxLjc5MzIgMS42MDcxIDQuODE5OSAxLjYwNzEgNS4wMjc2LTEuNjMyNSA1LjAyNzYt + MS42MzI1bDAuNTcwNTEtMC40NjcxNSAwLjYxNDk1IDAuNDA2NjlzMC43MTExOCAwLjQ1NTQ0IDEu + ODA2NiAwLjg5NGMwLjQxMTA2LTEuMTM5MSAwLjk1MjgxLTIuNzA1NyAxLjMxMS00LjA0MjYgMCAw + LTYuNDIwMS0yLjg1MTMtOS4yMjk5LTMuMDc1M3YtMC4wMTU1Yy0wLjA1NzU1OCAwLTAuMTE0NjIg + MC4wMDM0LTAuMTcyMDggMC4wMDU3LTAuMDU3NTE2LTAuMDAyNC0wLjExNDk5LTAuMDA1Ny0wLjE3 + MjYtMC4wMDU3eiIvPjxwYXRoIGQ9Im0tNy43Njk2IDg0LjM2OHYwLjAxNTUxYy0yLjgwOTYgMC4y + MjQyLTkuMjI5OSAzLjA3NTMtOS4yMjk5IDMuMDc1MyAwLjM4NzkgMS40NDc3IDIuMjUzNiA3LjA0 + MDMgMi42ODMgOC4xNzk2IDQuNzIyNS0xLjUzMiA5LjA1NDEtMi4yMTQ0IDEzLjc4OS0wLjI5MjI0 + IDAuNDExMDYtMS4xMzkxIDEuOTc0Ny02LjU1MDUgMi4zMzI5LTcuODg3NCAwIDAtNi40MjAxLTIu + ODUxMy05LjIyOTktMy4wNzUzdi0wLjAxNTVjLTAuMDU3NTU4IDAtMC4xMTQ2MiAwLjAwMzQtMC4x + NzIwOCAwLjAwNTctMC4wNTc1MTYtMC4wMDI0LTAuMTE0OTktMC4wMDU3LTAuMTcyNi0wLjAwNTd6 + Ii8+PC9nPjxnIHNoYXBlLXJlbmRlcmluZz0iYXV0byI+PHBhdGggZD0ibS0yLjgyODQgOTEuODE2 + Yy0yLjgwNjQgMi41MTI3LTcuMTA1MyAyLjEyMDUtOS43MTI5IDAuMDE5NTNsLTAuNzUzOTEgMC40 + OTYwOXMtMi40OTQ3IDEuNS00LjMyNjIgMS41djEwLjMzOGMyLjM3NyAwIDQuMTg5NC0xLjAzNzEg + NC45NjQ4LTEuNTE5NSAwLjc3OTc0IDAuNTI5MDUgMi4zMTM2IDEuNDMwOCA0Ljk2MjkgMS41MTc2 + IDIuNzA2NSAwLjA4ODYgNC4yNzQtMC45MDczOSA1LjA3NDItMS41MDU5IDAuNzkxOTEgMC40ODA3 + OCAyLjYyNTYgMS41MDc4IDQuOTMzNiAxLjUwNzh2LTEwLjMzOGMtMS42OTU3IDAtNC4zNDU3LTEu + NTEzNy00LjM0NTctMS41MTM3eiIgY29sb3I9IiMwMDAwMDAiIGNvbG9yLXJlbmRlcmluZz0iYXV0 + byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGZpbGw9IiM3YzhmYTQiIGltYWdlLXJlbmRlcmlu + Zz0iYXV0byIgc29saWQtY29sb3I9IiMwMDAwMDAiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0eWxl + PSJmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5v + cm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9y + bWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5v + cm1hbDtmb250LXZhcmlhbnQtcG9zaXRpb246bm9ybWFsO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdz + Om5vcm1hbDtpbmxpbmUtc2l6ZTowO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1h + bDtzaGFwZS1tYXJnaW46MDtzaGFwZS1wYWRkaW5nOjA7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMw + MDAwMDA7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29s + aWQ7dGV4dC1pbmRlbnQ6MDt0ZXh0LW9yaWVudGF0aW9uOm1peGVkO3RleHQtdHJhbnNmb3JtOm5v + bmU7d2hpdGUtc3BhY2U6bm9ybWFsIi8+PHBhdGggZD0ibS0yLjkxMDIgOTMuNTc2LTAuNTY0NDUg + MC41NDY4OHMtMS41MjczIDEuNTA1NC00LjI1NTkgMS40MTZjLTIuNzk4MS0wLjA5MTY0LTQuMzY1 + Mi0xLjQ1Ny00LjM2NTItMS40NTdsLTAuNTcwMzEtMC40OTAyMy0wLjYyODkxIDAuNDE0MDZzLTIu + NTA5NyAxLjUzMzItNC40MzU1IDEuNTMzMnYyYzIuMzg4MyAwIDQuMjgwOS0xLjExNjQgNC45NjY4 + LTEuNTQ4OCAwLjY4NDQ4IDAuNDgyNDggMi4yNDI4IDEuNDU3NiA0Ljk2ODggMS41NDY5IDIuNzcz + NCAwLjA5MDgzIDQuMzU2My0wLjk5MTU0IDUuMDU4Ni0xLjUzOTEgMC43MDA5MiAwLjQzMDQzIDIu + NjI1NiAxLjU0MSA0Ljk0MTQgMS41NDF2LTJjLTEuNzk0NiAwLTQuNDUxMi0xLjU0My00LjQ1MTIt + MS41NDN6IiBjb2xvcj0iIzAwMDAwMCIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBkb21pbmFudC1i + YXNlbGluZT0iYXV0byIgZmlsbD0iI2ZmZiIgaW1hZ2UtcmVuZGVyaW5nPSJhdXRvIiBzb2xpZC1j + b2xvcj0iIzAwMDAwMCIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3R5bGU9ImZvbnQtZmVhdHVyZS1z + ZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYW50LWFsdGVybmF0ZXM6bm9ybWFsO2ZvbnQtdmFyaWFu + dC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtZWFzdC1hc2lhbjpub3JtYWw7Zm9udC12YXJpYW50 + LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFu + dC1wb3NpdGlvbjpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsO2lubGluZS1z + aXplOjA7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO3NoYXBlLW1hcmdpbjow + O3NoYXBlLXBhZGRpbmc6MDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDt0ZXh0LWRlY29y + YXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWluZGVudDow + O3RleHQtb3JpZW50YXRpb246bWl4ZWQ7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpu + b3JtYWwiLz48cGF0aCBkPSJtLTIuOTEwMiA5OC4wNzRjLTEuMzIyNSAxLjI3ODctMy43MDk0IDEu + NjE3OS00LjgyMDMgMS41OTkxLTEuNzcyMy0wLjA2ODYxLTMuNTc1Mi0wLjQxNDE0LTQuOTM1NS0x + LjU4MzUtMS41MzkgMC44ODQ4Ni0zLjUyNjEgMS4zODk4LTUuMDY0NSAxLjQxODF2MmMyLjM4ODMg + MCA0LjI4MDktMC41ODcxNyA0Ljk2NjgtMS4wMTk2IDAuNjg0NDggMC40ODI0NyAyLjI0MjggMS4w + OTM4IDQuOTY4OCAxLjE4MyAyLjc3MzQgMC4wOTA4IDQuMzU2My0wLjYyNzczIDUuMDU4Ni0xLjE3 + NTIgMC43MDA5MiAwLjQzMDQyIDIuNjI1NiAxLjAxMTggNC45NDE0IDEuMDExOHYtMmMtMS43NjIz + LTAuMTM0MS0zLjYwNDUtMC40Nzg0Mi01LjExNTItMS40MzM3eiIgY29sb3I9IiMwMDAwMDAiIGNv + bG9yLXJlbmRlcmluZz0iYXV0byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGZpbGw9IiNmZmYi + IGltYWdlLXJlbmRlcmluZz0iYXV0byIgc29saWQtY29sb3I9IiMwMDAwMDAiIHN0b3AtY29sb3I9 + IiMwMDAwMDAiIHN0eWxlPSJmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO2ZvbnQtdmFyaWFu + dC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50 + LWVhc3QtYXNpYW46bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFy + aWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtcG9zaXRpb246bm9ybWFsO2ZvbnQtdmFy + aWF0aW9uLXNldHRpbmdzOm5vcm1hbDtpbmxpbmUtc2l6ZTowO2lzb2xhdGlvbjphdXRvO21peC1i + bGVuZC1tb2RlOm5vcm1hbDtzaGFwZS1tYXJnaW46MDtzaGFwZS1wYWRkaW5nOjA7dGV4dC1kZWNv + cmF0aW9uLWNvbG9yOiMwMDAwMDA7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29y + YXRpb24tc3R5bGU6c29saWQ7dGV4dC1pbmRlbnQ6MDt0ZXh0LW9yaWVudGF0aW9uOm1peGVkO3Rl + eHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsIi8+PC9nPjwvZz48L2c+PC9zdmc+ + Cg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - shipwright.io + resources: + - clusterbuildstrategies + verbs: + - get + - list + - watch + - apiGroups: + - shipwright.io + resources: + - buildstrategies + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - shipwright.io + resources: + - builds + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - shipwright.io + resources: + - buildruns + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - shipwright.io + resources: + - buildruns + verbs: + - get + - list + - watch + - update + - delete + - apiGroups: + - shipwright.io + resources: + - buildruns/finalizers + verbs: + - update + - apiGroups: + - shipwright.io + resources: + - buildruns/status + verbs: + - update + - apiGroups: + - shipwright.io + resources: + - builds + verbs: + - get + - list + - watch + - apiGroups: + - shipwright.io + resources: + - builds/finalizers + verbs: + - update + - apiGroups: + - shipwright.io + resources: + - builds/status + verbs: + - update + - apiGroups: + - shipwright.io + resources: + - buildstrategies + verbs: + - get + - list + - watch + - apiGroups: + - shipwright.io + resources: + - clusterbuildstrategies + verbs: + - get + - list + - watch + - apiGroups: + - tekton.dev + resources: + - taskruns + verbs: + - get + - list + - watch + - create + - delete + - patch + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - configmaps + verbs: + - list + - apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - get + - list + - watch + - create + - update + - delete + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - create + - update + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - get + - update + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - admissionregistration.k8s.io + resources: + - validatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - admissionregistration.k8s.io/v1beta1 + resources: + - validatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - create + - get + - list + - watch + - apiGroups: + - apiextensions.k8s.io + resourceNames: + - buildruns.shipwright.io + - builds.shipwright.io + - buildstrategies.shipwright.io + - clusterbuildstrategies.shipwright.io + resources: + - customresourcedefinitions + verbs: + - delete + - patch + - update + - apiGroups: + - apps + resources: + - deployments + verbs: + - create + - get + - list + - watch + - apiGroups: + - apps + resourceNames: + - shipwright-build-controller + resources: + - deployments + verbs: + - delete + - patch + - update + - apiGroups: + - apps + resourceNames: + - shipwright-build-webhook + resources: + - deployments + verbs: + - delete + - patch + - update + - apiGroups: + - apps + resourceNames: + - shipwright-build-controller + resources: + - deployments/finalizers + verbs: + - update + - apiGroups: + - apps + resourceNames: + - shipwright-build-webhook + resources: + - deployments/finalizers + verbs: + - update + - apiGroups: + - cert-manager.io + resources: + - certificates + verbs: + - create + - get + - list + - watch + - apiGroups: + - cert-manager.io + resourceNames: + - shipwright-build-webhook-cert + resources: + - certificates + verbs: + - delete + - patch + - update + - apiGroups: + - cert-manager.io + resources: + - issuers + verbs: + - create + - get + - list + - watch + - apiGroups: + - cert-manager.io + resourceNames: + - selfsigned-issuer + resources: + - issuers + verbs: + - delete + - patch + - update + - apiGroups: + - "" + resources: + - configmaps + - events + - limitranges + - namespaces + - pods + - secrets + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - get + - list + - watch + - apiGroups: + - "" + resourceNames: + - shipwright-build-controller + resources: + - serviceaccounts + verbs: + - delete + - patch + - update + - apiGroups: + - "" + resourceNames: + - shipwright-build-webhook + resources: + - serviceaccounts + verbs: + - delete + - patch + - update + - apiGroups: + - operator.shipwright.io + resources: + - shipwrightbuilds + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - operator.shipwright.io + resources: + - shipwrightbuilds/finalizers + verbs: + - update + - apiGroups: + - operator.shipwright.io + resources: + - shipwrightbuilds/status + verbs: + - get + - patch + - update + - apiGroups: + - operator.tekton.dev + resources: + - tektonconfigs + verbs: + - create + - get + - list + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + verbs: + - create + - get + - list + - watch + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-controller + resources: + - clusterrolebindings + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-webhook + resources: + - clusterrolebindings + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles + verbs: + - create + - get + - list + - watch + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-aggregate-edit + resources: + - clusterroles + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-aggregate-view + resources: + - clusterroles + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-controller + resources: + - clusterroles + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-webhook + resources: + - clusterroles + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + verbs: + - create + - get + - list + - watch + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-controller + resources: + - rolebindings + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-webhook + resources: + - rolebindings + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + verbs: + - create + - get + - list + - watch + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-controller + resources: + - roles + verbs: + - delete + - patch + - update + - apiGroups: + - rbac.authorization.k8s.io + resourceNames: + - shipwright-build-webhook + resources: + - roles + verbs: + - delete + - patch + - update + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + serviceAccountName: shipwright-operator + deployments: + - name: shipwright-operator + spec: + replicas: 1 + selector: + matchLabels: + app: shipwright-operator + strategy: {} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: operator + labels: + app: shipwright-operator + spec: + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 5m + memory: 64Mi + - args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + env: + - name: USE_MANAGED_WEBHOOK_CERTS + value: "true" + image: ghcr.io/shipwright-io/operator/operator:0.12.0@sha256:0f7443ec81eaa9484b2f3cf07d0c3218b5fea05377ffab8b1e7e48dc7fad937c + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: operator + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 200m + memory: 100Mi + requests: + cpu: 100m + memory: 20Mi + securityContext: + allowPrivilegeEscalation: false + securityContext: + runAsNonRoot: true + serviceAccountName: shipwright-operator + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + 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: shipwright-operator + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - build + - shipwright + - tekton + - cicd + links: + - name: Documentation + url: https://shipwright.io + - name: Shipwright Builds + url: https://github.com/shipwright-io/build + maintainers: + - email: shipwright-dev@lists.shipwright.io + name: The Shipwright Contributors + maturity: alpha + provider: + name: The Shipwright Contributors + url: https://shipwright.io + version: 0.12.0 + +--- diff --git a/operators/shipwright-operator/0.12.0/metadata/annotations.yaml b/operators/shipwright-operator/0.12.0/metadata/annotations.yaml new file mode 100644 index 00000000000..ada867412b6 --- /dev/null +++ b/operators/shipwright-operator/0.12.0/metadata/annotations.yaml @@ -0,0 +1,14 @@ +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: shipwright-operator + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.16.0+git + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/operators/shipwright-operator/0.12.0/tests/scorecard/config.yaml b/operators/shipwright-operator/0.12.0/tests/scorecard/config.yaml new file mode 100644 index 00000000000..c3eee54bc01 --- /dev/null +++ b/operators/shipwright-operator/0.12.0/tests/scorecard/config.yaml @@ -0,0 +1,70 @@ +apiVersion: scorecard.operatorframework.io/v1alpha3 +kind: Configuration +metadata: + name: config +stages: +- parallel: true + tests: + - entrypoint: + - scorecard-test + - basic-check-spec + image: quay.io/operator-framework/scorecard-test:v1.4.2 + labels: + suite: basic + test: basic-check-spec-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-bundle-validation + image: quay.io/operator-framework/scorecard-test:v1.4.2 + labels: + suite: olm + test: olm-bundle-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-validation + image: quay.io/operator-framework/scorecard-test:v1.4.2 + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-resources + image: quay.io/operator-framework/scorecard-test:v1.4.2 + labels: + suite: olm + test: olm-crds-have-resources-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-spec-descriptors + image: quay.io/operator-framework/scorecard-test:v1.4.2 + labels: + suite: olm + test: olm-spec-descriptors-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-status-descriptors + image: quay.io/operator-framework/scorecard-test:v1.4.2 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}