Concepts

As a cloud-native management plane, Meshery empowers you with a wide range of tools that provide support for the majority of the systems in the cloud and cloud native ecosystems. Meshery abstracts away the system specific requirements and help you focus on getting things done.

The logical concepts included in Meshery establish a set of constructs with clearly-defined boundaries, each of which is extensible. These contructs set a foundation for the project to build upon and provide a consistent way of relating between multiple components. The logical concepts are:

  1. Versioned (see Schemas)
  2. Extensible (see Extension Points
  3. Composable (see Patterns)
  4. Portable (v0.8.0 Export/Import)
  5. Interoperable (see Compatibility Matrix)
  6. Configurable (see Lifecycle Management)
  7. Documented (you are here)
  8. Testable
  9. Maintainable
  10. Secure (v0.9.0)
  11. Observable (v0.1.0)

Every construct is represented in multiple forms:

  • Schema (static) - the skeletal structure representing a logical view of the size, shape, characteristics of a construct.
    • Example: Component schema found in github.com/meshery/schemas
  • Definition (static) - An implementation of the Schema containing specific configuration for the construct at-hand.
    • Example: Component definition generically describing a Kubernetes Pod
  • Declaration (static) - A defined construct; A specific deof the Definition.
    • Example: Component configuration of an NGINX container as a Kubernetes Pod
  • Instance (dynamic) - A realized construct (deployed/discovered); An instantiation of the Declaration.
    • Example: NGINX-as234z2 pod running in cluster

Logical Concepts

  • Components - Meshery Components identify and characterize infrastructure under management.
  • Connections - Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are managed by a state machine and used within one or more Environments.
  • Credentials - Meshery uses one or more Credentials when authenticating to a managed or unmanaged Connection.
  • Designs - Meshery Designs are descriptive, declarative characterizations of how your Kubernetes infrastructure should be configured.
  • Environments - Environments are how you organize your deployment targets (whether on-premises servers or cloud services) into resource groups.
  • Models - Meshery uses a set of resource models to define concrete boundaries to ensure extensible and sustainable management.
  • Patterns - Meshery Patterns are descriptive, declarative characterizations of how your Kubernetes infrastructure should be configured.
  • Policies - Meshery Policies enable you with a broad set of controls and governance of the behavior of systems under Meshery's management.
  • Registry - Meshery Registry is a database acting as the central repository for all capabilities known to Meshery. These capabilities encompass various entities, including models, components, relationships, and policies.
  • Relationships - Meshery Relationships identify and facilitate genealogy between Components.
  • Workspaces - Meshery Workspaces act as central collaboration point for teams.

Meshery Extension Points

Figure: Extension points available throughout Meshery