crossplane / crossplane/crossplane-runtime
Not all references support `resolve` and `resolution`
- Dominant language
- Go
- Stars
- 198
- Forks
- 161
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 9
Description
### What happened?
https://github.com/upbound/provider-aws/blob/6075caef/package/crds/aws.upbound.io_providerconfigusages.yaml#L52
We added these new fields in https://github.com/crossplane/crossplane-runtime/pull/328. I believe the intention was to affect only cross-resource references. Unfortunately the PR added the fields to generic reference types that are used in many places in Crossplane - for example in the `ProviderConfigUsage` above.
I believe this means we now have a few reference fields in Crossplane that expose `resolve` and `resolution` fields that don't actually do anything. This is a poor user experience - since anyone looking at the API docs might find them and think they can use them.
I would suggest we either:
* Remove these fields where they're not used.
* Make sure they work everywhere that they exist.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing crossplane-runtime PR 328 and the ProviderConfigUsage CRD example in package/crds/aws.upbound.io_providerconfigusages.yaml. Inventory the generic reference types that expose resolve and resolution, determine where those fields are actually consumed, and verify that the resulting API definitions no longer advertise inert fields or support them consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100