Skip to content

Schemaless properties not supported in CEL template #162

Closed
@MisterMX

Description

Description

Observed Behavior:

When building an object in an RG that has an unstructured property marked with x-kubernetes-preserve-unknown-fields: true in the CRD schema, Kro fails the validation with an error:

failed to build resource 'vcluster': failed to extract CEL expressions from schema for resource vcluster: error getting field schema for path spec.forProvider.values.syncer: schema not found for field syncer

The template looks as follows:

spec:
  templates:
    - id: vcluster
      template:
        apiVersion: helm.crossplane.io/v1beta1
        kind: Release
        spec:
          forProvider:
            values: # <-- unstructured
              syncer:
                extraArgs:
                  - ${"--out-kube-config-server=https://" + schema.metadata.namespace + "." + schema.metadata.name + ".svc"}
                  - ${"--tls-san=" + schema.metadata.namespace + "." + schema.metadata.name + ".svc"}

In our case we are trying to create Release object from Crossplane provider-helm.

Expected Behavior:

The release should be created without any error messages, as any kind of property can be put at spec.forProvider.values.

Reproduction Steps (Please include ResourceGroup and Instances files):

  • Install provider-helm CRDs
  • Create RG with template above.

Versions:

  • kro version: v0.1.0
  • Kubernetes Version (kubectl version): v1.29.2 (kind)

Involved Controllers:
n.a.

Error Logs (if applicable)**:
n.a.

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Which option describes the most your issue?

No response

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions