docs/static/v0.8/concepts/logical/components/index.html
In Meshery, a Component is a fundamental building block used to represent and define the infrastructure under management. Each component provides granular and specific support for your infrastructure and applications. Each component represents a distinct capability or feature, like a specific service, protocol, or configuration element. Components can be semantically meaningful (orchestratable) or non-semantically meaningful (an annotation).
Meshery Models and their packaged Components represent a standardized and reusable collection of building blocks used to describe both the desired and actual configuration of infrastructure pre and post-deployment. Beyond this, Components are used to describe non-infrastructure concepts. For example, a component might capture a comment or a visual element that you’ve placed into a Meshery Design. To aid in distinguishing between types of Components, they are categorized into two groups: Semantic and Non-Semantic components. A component is considered semantically meaningful when it behaves as a direct representation of an aspect of your infrastructure. A component is considered non-semantically meaningful when it behaves as an annotation to aid in the comprehension of your designs.
Semantic components represent actual infrastructure and application resources that Meshery can manage. These components map directly to real resources in your environment. For example:
Semantic components can be deployed, configured, and managed by Meshery’s lifecycle management capabilities. They have real operational impact when used in Designs.
Non-semantic components are visual and organizational elements that help document and organize your Designs but don’t represent actual infrastructure. For example:
While non-semantic components help communicate intent and organization in your Designs, they don’t result in any actual infrastructure changes when deployed. Meshery’s lifecycle management treats them as purely visual/organizational elements.
Components have several key properties that define their behavior:
Understanding the distinction between semantic and non-semantic components helps you effectively use them to both manage real infrastructure and document your designs clearly.
Once registered with Meshery Server (in the Registry), components are available for inclusion in Designs that you create. Components can be created and published by anyone, allowing you to share your custom extensions with the community. This fosters a collaborative ecosystem where you can leverage and contribute to the growing collection of Meshery components.
Components having the same kind, apiVersion and model.name attributes are considered duplicates.