What problem are you facing?
Generating APIs from an XRD or simple schema can conflict when two resources share the same kind but belong to different API groups. For example:
kubernetesclusters.onprem.example.com
kubernetesclusters.cloud.example.com
Both of these generate today into the same directory, apis/kubernetesclusters/, causing a conflict.
There is currently an option to specify the output path explicitly, but that doesn't scale for larger repositories or automated build tooling, where paths need to be derived consistently rather than set by hand.
How could Crossplane help solve your problem?
Allow conflict-free generation of XRD definitions from an XR or simple schema. Ideas:
- Add an option in
crossplane-project.yaml to configure how the apis/ folder is populated, using a template string such as {{ groupElement[1] }}/{{ kindPlural }}. For example, this would resolve to:
apis/
onprem/
kubernetesclusters/
definition.yaml
cloud/
kubernetesclusters/
definition.yaml
- Default to a non-conflicting structure, similar to what
schemas/ already uses.
What problem are you facing?
Generating APIs from an XRD or simple schema can conflict when two resources share the same kind but belong to different API groups. For example:
Both of these generate today into the same directory,
apis/kubernetesclusters/, causing a conflict.There is currently an option to specify the output path explicitly, but that doesn't scale for larger repositories or automated build tooling, where paths need to be derived consistently rather than set by hand.
How could Crossplane help solve your problem?
Allow conflict-free generation of XRD definitions from an XR or simple schema. Ideas:
crossplane-project.yamlto configure how theapis/folder is populated, using a template string such as{{ groupElement[1] }}/{{ kindPlural }}. For example, this would resolve to:schemas/already uses.