community icon indicating copy to clipboard operation
community copied to clipboard

Consistent categories for kyma CRDs

Open a-thaler opened this issue 8 months ago • 0 comments

Created on 2024-06-04} by Andreas Thaler(@a-thaler)

Decision log

Name Description
Title Consistent CRD categories
Due date 2024-06-30
Status Proposed on 202-06-04
Decision type Binary
Affected decisions -

Context

It is hard to get an overview across the modules and the kyma status as all entities are modeled in individual CRDs, so you need to know what to query for.

It should be possible to list and get relevant Kyma resources with simple commands using kubectl. A typical approach is to leverage CRD categories. Having that simple 'kubectl get ' will return all resources belonging to the category.

Considerations

There seem to be no official recommendation on when to use categories and how to name them. Istio is using:

  • istio-io
  • telemetry-istio-io knative uses:
  • knative
  • serving

gardener and calico seem to not use categories

Decision

All user facing CRDs should have categories attached in a consistent approach using the following pattern:

General categories:

  • 'kyma' - all user-facing CRDs are using that category, incl. the Kyma CRD
  • 'kyma-modules' - all module CRDs and the Kyma CRD are using the category Module specific categories (using 'telemetry' module as example):
  • 'kyma-telemetry' - all user-facing CRDs of the 'telemetry' module incl telemetry module CR
  • 'kyma-telemetry-pipelines' - all telemetry pipeline CRDs

Example CRD assignment categories:

  • Telemetry CRD - kyma, kyma-modules, kyma-telemetry
  • LogPipeline CRD - kyma, kyma-telemetry, kyma-telemetry-pipelines

a-thaler avatar Jun 04 '24 15:06 a-thaler