pulumi / crd2pulumi

Generate typed CustomResources from a Kubernetes CustomResourceDefinition
Apache License 2.0
100 stars 17 forks source link

CRD schema object causing a panic #141

Closed hanthor closed 2 months ago

hanthor commented 4 months ago

Threw a crazy long CRD at crd2pulumi and it error out like on https://github.com/pulumi/crd2pulumi/pull/135 Its a 5000 line CRD from https://github.com/element-hq/ess-starter-edition-core

 panic: fatal: error An assertion has failed: could not parse Pulumi package. source error: could not import spec: <nil>: #/types/kubernetes:matrix.element.io%2Fv1alpha1:ElementDeploymentSpecComponentsSynapseConfigMedia/properties/volume/default: type pulumi:pulumi:Any cannot have a constant value; only booleans, integers, numbers and strings may have constant values; , and 3 other diagnostic(s)

 properties:
   volume:
     default:
       name: media
       size: 2048
     description: The volume holding media
     oneOf:
     - not:
         required:
         - name
       required:
       - size
     - required:
       - name
       - size
     properties:
       name:
         description: The volume name to use to store the
           media
         type: string
       size:
         anyOf:
         - type: integer
         - type: string
         description: The volume size to use to store the
           media
         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[MGTPE])?$
         x-kubernetes-int-or-string: true
     type: object
type: object
blampe commented 4 months ago

Thanks for this example @hanthor!

We're currently working on some improvements to crd2pulumi which I expect will address this. Stay tuned!

cc @rquitales

cleverguy25 commented 3 months ago

Added to epic https://github.com/pulumi/home/issues/3431

pulumi-bot commented 1 month ago

This issue has been addressed in PR #143 and shipped in release v1.5.0.