Relationship between models, components, categories and relationships

Hi everyone. Can anyone explain the relationship between models, components, categories and relationships?/api/meshmodels/models/{model}/components/ returns multiple components with multiple Kind. Does Kind refer to component’s name?

1 Like

While I strongly think this needs to be documented visually, but I would just scratch the surface here to give you enough context to move ahead.

Categories: Higher level constructs which defines the behavior and use case of models inside it.

Models: Each Model corresponds to a category, so the category shows the high-level use case of that model, e.g., prometheus is under “Observability and Analysis category”.

They are the atomic constructs of MeshModel and each model have some components within them.
They are the fundamental entities that can constitute a design-file.

components has its own definition like:

  1. version
  2. API version
  3. Kind
  4. DisplayName
  5. Metadata
  6. Model
  7. schema

Kind is the Kuneretes kind, if it pod, its kind would be Pod(kubernetes understands it as a Pod resource), or if it is cluster-role then its kind would be ClusterRole (the one you see in k8s manifest)

Does Kind refer to component’s name?

Internally yes, externally No. The display name is used as a human facing name instead, but the components internally are identified via Kind.


Hi @usman_siddique , are we good to mark Maintainer Abhi’s explanation as the solution?

Thank you @Abhi for the detailed explanation.
Yep @vishalvivekm, please mark it as a solution.

1 Like