-
Notifications
You must be signed in to change notification settings - Fork 70
Closed
devfile/registry-operator
#49Labels
area/registryDevfile registry for stacks and infrastructureDevfile registry for stacks and infrastructuredevtools-weekkind/bugSomething isn't workingSomething isn't workingseverity/blockerIssues that prevent developers from workingIssues that prevent developers from working
Description
Which area this feature is related to?
/kind bug
Which area this bug is related to?
/area registry
What versions of software are you using?
Go project
Operating System and version: N/A
Go Pkg Version: 1.19
Bug Summary
Describe the bug: Current OLM validation testing is failing on a few of the test cases. Current validation includes:
olm-bundle-validation
olm-crds-have-validation
olm-crds-have-resources
olm-spec-descriptors
olm-status-descriptors
To Reproduce:
-
Start local cluster:
minikube start
-
Run
operator-sdk scorecard --wait-time 60s bundle
Expected behavior
All current OLM tests should pass.
Any logs, error output, screenshots etc? Provide the devfile that sees this bug, if applicable
--------------------------------------------------------------------------------
Image: quay.io/operator-framework/scorecard-test:v1.1.0
Entrypoint: [scorecard-test olm-spec-descriptors]
Labels:
"suite":"olm"
"test":"olm-spec-descriptors-test"
Results:
Name: olm-spec-descriptors
State: fail
Suggestions:
Add a spec descriptor for devfileIndex
Add a spec descriptor for devfileRegistries
Add a spec descriptor for devfileRegistries
Errors:
devfileIndex does not have a spec descriptor
devfileRegistries does not have a spec descriptor
devfileRegistries does not have a spec descriptor
Log:
Loaded ClusterServiceVersion: registry-operator.v0.1.0
Loaded 3 Custom Resources from alm-examples
--------------------------------------------------------------------------------
Image: quay.io/operator-framework/scorecard-test:v1.1.0
Entrypoint: [scorecard-test olm-crds-have-validation]
Labels:
"suite":"olm"
"test":"olm-crds-have-validation-test"
Results:
Name: olm-crds-have-validation
State: pass
Log:
Loaded 3 Custom Resources from alm-examples
Loaded CustomresourceDefinitions: [&CustomResourceDefinition{ObjectMeta:{clusterdevfileregistrieslists.registry.devfile.io 0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[cert-manager.io/inject-ca-from:registry-operator-system/registry-operator-serving-cert controller-gen.kubebuilder.io/version:v0.9.2] [] [] []},Spec:CustomResourceDefinitionSpec{Group:registry.devfile.io,Names:CustomResourceDefinitionNames{Plural:clusterdevfileregistrieslists,Singular:clusterdevfileregistrieslist,ShortNames:[],Kind:ClusterDevfileRegistriesList,ListKind:ClusterDevfileRegistriesListList,Categories:[],},Scope:Cluster,Versions:[]CustomResourceDefinitionVersion{CustomResourceDefinitionVersion{Name:v1alpha1,Served:true,Storage:true,Schema:&CustomResourceValidation{OpenAPIV3Schema:&JSONSchemaProps{ID:,Schema:,Ref:nil,Description:ClusterDevfileRegistriesList is a custom resource where cluster admins can add a list of Devfile Registries to allow devfiles to be visible at the cluster level. In order to be added to the list, the Devfile Registries must be reachable, supports the Devfile v2.0 spec and above, and is not using the default namespace.,Type:object,Format:,Title:,Default:nil,Maximum:nil,ExclusiveMaximum:false,Minimum:nil,ExclusiveMinimum:false,MaxLength:nil,MinLength:nil,Pattern:,MaxItems:nil,MinItems:nil,UniqueItems:false,MultipleOf:nil,Enum:[]JSON{},MaxProperties:nil,MinProperties:nil,Required:[],Items:nil,AllOf:[]JSONSchemaProps{},OneOf:[]JSONSchemaProps{},AnyOf:[]JSONSchemaProps{},Not:nil,Properties:map[string]JSONSchemaProps{apiVersion: { <nil> 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 string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},kind: { <nil> 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 string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},metadata: { <nil> object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},spec: { <nil> DevfileRegistriesListSpec defines the desired state of DevfileRegistriesList object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[devfileRegistries:{ <nil> DevfileRegistries is a list of devfile registry services array nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] &JSONSchemaPropsOrArray{Schema:&JSONSchemaProps{ID:,Schema:,Ref:nil,Description:DevfileRegistryService represents the properties used to identify a devfile registry service.,Type:object,Format:,Title:,Default:nil,Maximum:nil,ExclusiveMaximum:false,Minimum:nil,ExclusiveMinimum:false,MaxLength:nil,MinLength:nil,Pattern:,MaxItems:nil,MinItems:nil,UniqueItems:false,MultipleOf:nil,Enum:[]JSON{},MaxProperties:nil,MinProperties:nil,Required:[name url],Items:nil,AllOf:[]JSONSchemaProps{},OneOf:[]JSONSchemaProps{},AnyOf:[]JSONSchemaProps{},Not:nil,Properties:map[string]JSONSchemaProps{name: { <nil> Name is the unique Name of the devfile registry. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},skipTLSVerify: { <nil> SkipTLSVerify defaults to false. Set to true in a non-production environment to bypass certificate checking boolean nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},url: { <nil> URL is the unique URL of the devfile registry. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},},AdditionalProperties:nil,PatternProperties:map[string]JSONSchemaProps{},Dependencies:JSONSchemaDependencies{},AdditionalItems:nil,Definitions:JSONSchemaDefinitions{},ExternalDocs:nil,Example:nil,Nullable:false,XPreserveUnknownFields:nil,XEmbeddedResource:false,XIntOrString:false,XListMapKeys:[],XListType:nil,XMapType:nil,},JSONSchemas:[]JSONSchemaProps{},} [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},status: { <nil> DevfileRegistriesListStatus defines the observed state of DevfileRegistriesList object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [status] nil [] [] [] nil map[status:{ <nil> INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run "make" to regenerate code after modifying this file Status shows the state of this CR's devfile registry list. If registries are no longer reachable, they will be listed here string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},},AdditionalProperties:nil,PatternProperties:map[string]JSONSchemaProps{},Dependencies:JSONSchemaDependencies{},AdditionalItems:nil,Definitions:JSONSchemaDefinitions{},ExternalDocs:nil,Example:nil,Nullable:false,XPreserveUnknownFields:nil,XEmbeddedResource:false,XIntOrString:false,XListMapKeys:[],XListType:nil,XMapType:nil,},},Subresources:&CustomResourceSubresources{Status:&CustomResourceSubresourceStatus{},Scale:nil,},AdditionalPrinterColumns:[]CustomResourceColumnDefinition{CustomResourceColumnDefinition{Name:Status,Type:string,Format:,Description:The status for the Cluster Devfile Registries List,Priority:0,JSONPath:.status.status,},},},},Conversion:&CustomResourceConversion{Strategy:Webhook,Webhook:&WebhookConversion{ClientConfig:&WebhookClientConfig{Service:&ServiceReference{Namespace:system,Name:webhook-service,Path:*/convert,Port:nil,},CABundle:nil,URL:nil,},ConversionReviewVersions:[v1],},},PreserveUnknownFields:false,},Status:CustomResourceDefinitionStatus{Conditions:[]CustomResourceDefinitionCondition{},AcceptedNames:CustomResourceDefinitionNames{Plural:,Singular:,ShortNames:[],Kind:,ListKind:,Categories:[],},StoredVersions:[],},} &CustomResourceDefinition{ObjectMeta:{devfileregistries.registry.devfile.io 0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[controller-gen.kubebuilder.io/version:v0.9.2] [] [] []},Spec:CustomResourceDefinitionSpec{Group:registry.devfile.io,Names:CustomResourceDefinitionNames{Plural:devfileregistries,Singular:devfileregistry,ShortNames:[devreg dr],Kind:DevfileRegistry,ListKind:DevfileRegistryList,Categories:[],},Scope:Namespaced,Versions:[]CustomResourceDefinitionVersion{CustomResourceDefinitionVersion{Name:v1alpha1,Served:true,Storage:true,Schema:&CustomResourceValidation{OpenAPIV3Schema:&JSONSchemaProps{ID:,Schema:,Ref:nil,Description:DevfileRegistry is a custom resource allows you to create and manage your own index server and registry viewer. In order to be added, the Devfile Registry must be reachable, supports the Devfile v2.0 spec and above, and is not using the default namespace.,Type:object,Format:,Title:,Default:nil,Maximum:nil,ExclusiveMaximum:false,Minimum:nil,ExclusiveMinimum:false,MaxLength:nil,MinLength:nil,Pattern:,MaxItems:nil,MinItems:nil,UniqueItems:false,MultipleOf:nil,Enum:[]JSON{},MaxProperties:nil,MinProperties:nil,Required:[],Items:nil,AllOf:[]JSONSchemaProps{},OneOf:[]JSONSchemaProps{},AnyOf:[]JSONSchemaProps{},Not:nil,Properties:map[string]JSONSchemaProps{apiVersion: { <nil> 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 string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},kind: { <nil> 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 string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},metadata: { <nil> object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},spec: { <nil> DevfileRegistrySpec defines the desired state of DevfileRegistry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[devfileIndex:{ <nil> Sets the devfile index container spec to be deployed on the Devfile Registry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[image:{ <nil> Sets the container image string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} imagePullPolicy:{ <nil> Sets the image pull policy for the container string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} devfileIndexImage:{ <nil> Sets the container image containing devfile stacks to be deployed on the Devfile Registry string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} headless:{ <nil> Sets the registry server deployment to run under headless mode boolean nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} k8s:{ <nil> DevfileRegistrySpecK8sOnly defines the desired state of the kubernetes-only fields of the DevfileRegistry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[ingressDomain:{ <nil> Ingress domain for a Kubernetes cluster. This MUST be explicitly specified on Kubernetes. There are no defaults string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} ociRegistry:{ <nil> Sets the OCI registry container spec to be deployed on the Devfile Registry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[image:{ <nil> Sets the container image string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} imagePullPolicy:{ <nil> Sets the image pull policy for the container string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} ociRegistryImage:{ <nil> Overrides the container image used for the OCI registry. Recommended to leave blank and default to the image specified by the operator. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} registryViewer:{ <nil> Sets the registry viewer container spec to be deployed on the Devfile Registry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[image:{ <nil> Sets the container image string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} imagePullPolicy:{ <nil> Sets the image pull policy for the container string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} registryViewerImage:{ <nil> Overrides the container image used for the registry viewer. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} storage:{ <nil> DevfileRegistrySpecStorage defines the desired state of the storage for the DevfileRegistry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[enabled:{ <nil> Instructs the operator to deploy the DevfileRegistry with persistent storage Disabled by default. boolean nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} registryVolumeSize:{ <nil> Configures the size of the devfile registry's persistent volume, if enabled. Defaults to 1Gi. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} telemetry:{ <nil> Telemetry defines the desired state for telemetry in the DevfileRegistry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[key:{ <nil> Specify a telemetry key to allow devfile specific data to be sent to a client's own Segment analytics source. If the write key is specified then telemetry will be enabled string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} registryName:{ <nil> The registry name (can be any string) that is used as identifier for devfile telemetry. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} registryViewerWriteKey:{ <nil> Specify a telemetry write key for the registry viewer component to allow data to be sent to a client's own Segment analytics source. If the write key is specified then telemetry for the registry viewer component will be enabled string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} tls:{ <nil> DevfileRegistrySpecTLS defines the desired state for TLS in the DevfileRegistry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[enabled:{ <nil> Instructs the operator to deploy the DevfileRegistry with TLS enabled. Enabled by default. Disabling is only recommended for development or test. boolean nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>} secretName:{ <nil> Name of an optional, pre-existing TLS secret to use for TLS termination on ingress/route resources. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},status: { <nil> DevfileRegistryStatus defines the observed state of DevfileRegistry object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [url] nil [] [] [] nil map[url:{ <nil> URL is the exposed URL for the Devfile Registry, and is set in the status after the registry has become available. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},},AdditionalProperties:nil,PatternProperties:map[string]JSONSchemaProps{},Dependencies:JSONSchemaDependencies{},AdditionalItems:nil,Definitions:JSONSchemaDefinitions{},ExternalDocs:nil,Example:nil,Nullable:false,XPreserveUnknownFields:nil,XEmbeddedResource:false,XIntOrString:false,XListMapKeys:[],XListType:nil,XMapType:nil,},},Subresources:&CustomResourceSubresources{Status:&CustomResourceSubresourceStatus{},Scale:nil,},AdditionalPrinterColumns:[]CustomResourceColumnDefinition{CustomResourceColumnDefinition{Name:URL,Type:string,Format:,Description:The URL for the Devfile Registry,Priority:0,JSONPath:.status.url,},},},},Conversion:nil,PreserveUnknownFields:false,},Status:CustomResourceDefinitionStatus{Conditions:[]CustomResourceDefinitionCondition{},AcceptedNames:CustomResourceDefinitionNames{Plural:,Singular:,ShortNames:[],Kind:,ListKind:,Categories:[],},StoredVersions:[],},} &CustomResourceDefinition{ObjectMeta:{devfileregistrieslists.registry.devfile.io 0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[cert-manager.io/inject-ca-from:registry-operator-system/registry-operator-serving-cert controller-gen.kubebuilder.io/version:v0.9.2] [] [] []},Spec:CustomResourceDefinitionSpec{Group:registry.devfile.io,Names:CustomResourceDefinitionNames{Plural:devfileregistrieslists,Singular:devfileregistrieslist,ShortNames:[],Kind:DevfileRegistriesList,ListKind:DevfileRegistriesListList,Categories:[],},Scope:Namespaced,Versions:[]CustomResourceDefinitionVersion{CustomResourceDefinitionVersion{Name:v1alpha1,Served:true,Storage:true,Schema:&CustomResourceValidation{OpenAPIV3Schema:&JSONSchemaProps{ID:,Schema:,Ref:nil,Description:DevfileRegistriesList is a custom resource where namespace users can add a list of Devfile Registries to allow devfiles to be visible at the namespace level. In order to be added to the list, the Devfile Registries must be reachable, supports the Devfile v2.0 spec and above, and is not using the default namespace.,Type:object,Format:,Title:,Default:nil,Maximum:nil,ExclusiveMaximum:false,Minimum:nil,ExclusiveMinimum:false,MaxLength:nil,MinLength:nil,Pattern:,MaxItems:nil,MinItems:nil,UniqueItems:false,MultipleOf:nil,Enum:[]JSON{},MaxProperties:nil,MinProperties:nil,Required:[],Items:nil,AllOf:[]JSONSchemaProps{},OneOf:[]JSONSchemaProps{},AnyOf:[]JSONSchemaProps{},Not:nil,Properties:map[string]JSONSchemaProps{apiVersion: { <nil> 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 string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},kind: { <nil> 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 string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},metadata: { <nil> object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},spec: { <nil> DevfileRegistriesListSpec defines the desired state of DevfileRegistriesList object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[devfileRegistries:{ <nil> DevfileRegistries is a list of devfile registry services array nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] &JSONSchemaPropsOrArray{Schema:&JSONSchemaProps{ID:,Schema:,Ref:nil,Description:DevfileRegistryService represents the properties used to identify a devfile registry service.,Type:object,Format:,Title:,Default:nil,Maximum:nil,ExclusiveMaximum:false,Minimum:nil,ExclusiveMinimum:false,MaxLength:nil,MinLength:nil,Pattern:,MaxItems:nil,MinItems:nil,UniqueItems:false,MultipleOf:nil,Enum:[]JSON{},MaxProperties:nil,MinProperties:nil,Required:[name url],Items:nil,AllOf:[]JSONSchemaProps{},OneOf:[]JSONSchemaProps{},AnyOf:[]JSONSchemaProps{},Not:nil,Properties:map[string]JSONSchemaProps{name: { <nil> Name is the unique Name of the devfile registry. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},skipTLSVerify: { <nil> SkipTLSVerify defaults to false. Set to true in a non-production environment to bypass certificate checking boolean nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},url: { <nil> URL is the unique URL of the devfile registry. string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},},AdditionalProperties:nil,PatternProperties:map[string]JSONSchemaProps{},Dependencies:JSONSchemaDependencies{},AdditionalItems:nil,Definitions:JSONSchemaDefinitions{},ExternalDocs:nil,Example:nil,Nullable:false,XPreserveUnknownFields:nil,XEmbeddedResource:false,XIntOrString:false,XListMapKeys:[],XListType:nil,XMapType:nil,},JSONSchemas:[]JSONSchemaProps{},} [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},status: { <nil> DevfileRegistriesListStatus defines the observed state of DevfileRegistriesList object nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [status] nil [] [] [] nil map[status:{ <nil> INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run "make" to regenerate code after modifying this file Status shows the state of this CR's devfile registry list. If registries are no longer reachable, they will be listed here string nil <nil> false <nil> false <nil> <nil> <nil> <nil> false <nil> [] <nil> <nil> [] nil [] [] [] nil map[] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>}] nil map[] map[] nil map[] nil nil false <nil> false false [] <nil> <nil>},},AdditionalProperties:nil,PatternProperties:map[string]JSONSchemaProps{},Dependencies:JSONSchemaDependencies{},AdditionalItems:nil,Definitions:JSONSchemaDefinitions{},ExternalDocs:nil,Example:nil,Nullable:false,XPreserveUnknownFields:nil,XEmbeddedResource:false,XIntOrString:false,XListMapKeys:[],XListType:nil,XMapType:nil,},},Subresources:&CustomResourceSubresources{Status:&CustomResourceSubresourceStatus{},Scale:nil,},AdditionalPrinterColumns:[]CustomResourceColumnDefinition{CustomResourceColumnDefinition{Name:Status,Type:string,Format:,Description:The status for the Devfile Registries List,Priority:0,JSONPath:.status.status,},},},},Conversion:&CustomResourceConversion{Strategy:Webhook,Webhook:&WebhookConversion{ClientConfig:&WebhookClientConfig{Service:&ServiceReference{Namespace:system,Name:webhook-service,Path:*/convert,Port:nil,},CABundle:nil,URL:nil,},ConversionReviewVersions:[v1],},},PreserveUnknownFields:false,},Status:CustomResourceDefinitionStatus{Conditions:[]CustomResourceDefinitionCondition{},AcceptedNames:CustomResourceDefinitionNames{Plural:,Singular:,ShortNames:[],Kind:,ListKind:,Categories:[],},StoredVersions:[],},}]
--------------------------------------------------------------------------------
Image: quay.io/operator-framework/scorecard-test:v1.1.0
Entrypoint: [scorecard-test olm-bundle-validation]
Labels:
"suite":"olm"
"test":"olm-bundle-validation-test"
Results:
Name: olm-bundle-validation
State: fail
Errors:
Error: Field spec.conversion.webhookClientConfig.service.port, Value 0: spec.conversion.webhookClientConfig.service.port: Invalid value: 0: port is not valid: must be between 1 and 65535, inclusive
Error: Field spec.conversion.webhookClientConfig.service.port, Value 0: spec.conversion.webhookClientConfig.service.port: Invalid value: 0: port is not valid: must be between 1 and 65535, inclusive
Log:
time="2023-09-08T17:57:27Z" level=debug msg="Found manifests directory" name=bundle-test
time="2023-09-08T17:57:27Z" level=debug msg="Found metadata directory" name=bundle-test
time="2023-09-08T17:57:27Z" level=debug msg="Getting mediaType info from manifests directory" name=bundle-test
time="2023-09-08T17:57:27Z" level=info msg="Found annotations file" name=bundle-test
time="2023-09-08T17:57:27Z" level=info msg="Could not find optional dependencies file" name=bundle-test
--------------------------------------------------------------------------------
Image: quay.io/operator-framework/scorecard-test:v1.1.0
Entrypoint: [scorecard-test olm-crds-have-resources]
Labels:
"suite":"olm"
"test":"olm-crds-have-resources-test"
Results:
Name: olm-crds-have-resources
State: fail
Errors:
Owned CRDs do not have resources specified
Log:
Loaded ClusterServiceVersion: registry-operator.v0.1.0
--------------------------------------------------------------------------------
Image: quay.io/operator-framework/scorecard-test:v1.1.0
Entrypoint: [scorecard-test basic-check-spec]
Labels:
"suite":"basic"
"test":"basic-check-spec-test"
Results:
Name: basic-check-spec
State: pass
--------------------------------------------------------------------------------
Image: quay.io/operator-framework/scorecard-test:v1.1.0
Entrypoint: [scorecard-test olm-status-descriptors]
Labels:
"suite":"olm"
"test":"olm-status-descriptors-test"
Results:
Name: olm-status-descriptors
State: fail
Log:
Loaded ClusterServiceVersion: registry-operator.v0.1.0
Loaded 3 Custom Resources from alm-examples
Additional context
Any workaround?
None.
Suggestion on how to fix the bug
Failed test cases should be addressed by using this resource: https://sdk.operatorframework.io/docs/testing-operators/scorecard/
-
olm-bundle-validation
-
olm-crds-have-resources
-
olm-spec-descriptors
-
olm-status-descriptors
Metadata
Metadata
Assignees
Labels
area/registryDevfile registry for stacks and infrastructureDevfile registry for stacks and infrastructuredevtools-weekkind/bugSomething isn't workingSomething isn't workingseverity/blockerIssues that prevent developers from workingIssues that prevent developers from working
Type
Projects
Status
Done ✅