What resources to apply templated fullname for metadata.name?



I'm building a helm chart that I would eventually like to submit to the kubeapps repository for consideration.  While reviewing the Review Guidelines in kubernetes/charts there's a section about Names and Labels which states that all resource templates should follow some conventions.

Resources and labels should follow some conventions. The standard resource metadata should be this:
name: {{ template "myapp.fullname" . }}
  app: {{ template "myapp.name" . }}
  chart: {{ template "myapp.chart" . }}
  release: {{ .Release.Name }}
  heritage: {{ .Release.Service }}

The `myapp.fullname` template function in this case will be used to define a `metadata.name` that concatenates the helm release name and the chart name.  My question is when is it appropriate to define `metadata.name` in this manner?  After browsing several charts in kubeapps repositories I noticed inconsistency regarding this requirement.

More specifically, for a chart that deploys service accounts, role's, role bindings, CRD's, and deployments, which of these resource types should use the fullname template function for their `metadata.name`?


Senior Software Engineer, Lightbend, Inc.