crossplane / crossplane/upjet

CRD docs should cover the external resource naming (e.g. google_sql_user.name)

Open
#147 0 comments 0 reactions 0 assignees View on GitHub
docgen enhancement v2
Dominant language
Go
Stars
481
Forks
131
Avg merge
2d 1h
Merged PRs (30d)
11

Description

### What problem are you facing?

As a crossplane composition author,
In order to name a sql user,
I need documentation on how to assign the equivalent of [google_sql_user.name](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/sql_user#name)

Currently:
* the CRD does not include a `name` field
* the CRD documentation does not mention that `google_sql_user.name` defaults to crossplane external name
* the CRD documentation does not document the external name strategy used for a resource
* the upjet authoring guide mentions external name mapping in https://github.com/upbound/upjet/blob/main/docs/add-new-resource-long.md#external-name
* instead source code needs to be studied such as https://github.com/upbound/provider-gcp/blob/090f08482cf66c04771bbcf4d983c4138e97d234/config/sql/config.go#LL85C43-L85C43
* the CRD documentation does not provide reminder for the the crossplane.io/external-name annotation
* https://docs.crossplane.io/master/reference/composition/#influencing-external-names mentions
> Some managed resources don’t let you specify an external name - in those cases Crossplane will set it for you to whatever the external system requires.

### How could Upjet help solve your problem?

* MR CRD schema could have an (automatically generated?) a section that describes the external name capability of the object
* website

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.