Skip to content

Commit

Permalink
Merge branch 'master' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
Faisal-imtiyaz123 authored Jun 8, 2024
2 parents 5412fbc + 736b794 commit 712c98e
Show file tree
Hide file tree
Showing 49 changed files with 2,364 additions and 46 deletions.
2 changes: 1 addition & 1 deletion docs/_data/discuss/meshery.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/_data/discuss/mesheryctl.json

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions docs/_includes/integration/meshery-registry.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<h2>What is the Meshery Registry</h2>

The Meshery Registry is a vital component within Meshery, serving as a centralized repository for managing a diverse range of cloud and cloud native resources. It stores and organizes crucial information such as models, categories, components, and relationships, enabling efficient interaction and utilization of these resources within the Meshery ecosystem. You can conveniently access and manage registry data through Meshery UI, and through Meshery CLI (<a href="{{site.baseurl}}/reference/mesheryctl/#meshery-registry-management">mesheryctl registry</a>).

<h6 class="integration">Learn more about the <a href="{{site.baseurl}}/concepts/logical/registry">Registry</a></h6>
5 changes: 5 additions & 0 deletions docs/_includes/integration/models-components.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<h2>What are Meshery Models and Components?</h2>

<p>Meshery Models and Components represent the fundamental building blocks of your infrastructure. Use them to define the structure and configuration of your infrastructure and deployments by incorporating their use into a Design. Think of Designs as blueprints or templates that encapsulate everything from network configurations to service definitions.</p>

<h6 class="integration">Learn more about <a href="{{site.baseurl}}/concepts/logical/models">Models</a>, <a href="{{site.baseurl}}/concepts/logical/components">Components</a>, <a href="{{site.baseurl}}/concepts/logical/relationships">Relationships</a>, and <a href="{{site.baseurl}}/concepts/logical/designs">Designs</a></h6>
15 changes: 0 additions & 15 deletions docs/_includes/meshery-registry.html

This file was deleted.

5 changes: 0 additions & 5 deletions docs/_includes/models.html

This file was deleted.

4 changes: 2 additions & 2 deletions docs/_includes/suggested-reading.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{% if include.section-title != "false" %}
<!-- {% if include.section-title != "false" %}
{% if page.layout == "integration" %}
<h2>Related Models in <b>{{ page['integrations-category'] }}</b></h2>
{% else %}
{% assign h2_text = include.h2_text | default: "Suggested Reading" %}
<h2>{{ h2_text }}</h2>
{% endif %}
{% endif %}
{% endif %} -->

{% assign sorted_reading = include.reading | default: site.pages | sort: include.title %}

Expand Down
6 changes: 4 additions & 2 deletions docs/_layouts/integration.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@

{{ page.subtitle }}
{{ content }}

<!-- components -->
<div>
<section class="Compheading">
{% if page.components.size != 0 %}
<h3>
Components ( {{ page.components.size }} )
</h3>
<p>The Meshery model for {{ page.title }} supports the following components.</p>
{% endif %}
</section>

Expand All @@ -29,8 +31,8 @@ <h3>
</section>
</div>
<!-- components end -->
{% include_cached models.html %}
{% include_cached meshery-registry.html %}
{% include_cached integration/models-components.html %}
{% include_cached integration/meshery-registry.html %}

{% if page.suggested-reading != false and page.title and page.type and page.category and page.url %}
{% assign related_models_by_category = site.models | where_exp: "model", "model.integrations-category == page.integrations-category" %}
Expand Down
11 changes: 9 additions & 2 deletions docs/_sass/integration.scss
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
padding: 2rem 2rem 5rem 2rem;
padding: 2rem 2rem 2rem 2rem;
justify-content: center;
}
.Compheading {
margin-top: 7rem;
// margin-top: 7rem;

h2 {
font-weight: normal;
Expand All @@ -41,4 +41,11 @@
width: 100%;
height: 100%;
object-fit: contain;
}

h6.integration > a {
color: var(--brand-color-primary);
& :hover {
color: var(--brand-color-secondary);
}
}
17 changes: 11 additions & 6 deletions docs/pages/concepts/logical/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,22 @@ list: include
redirect_from:
- concepts/components
---
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.

Components represent entities in the Meshery ecosystem, exposing capabilities of the underlying platform. They can be registered, created, and used by users and operators. Components have definitions, instances, and associated metadata. Components having the same `kind`, `apiVersion` and `model.name` attributes are considered duplicates.
Once registered with Meshery Server (in the [Registry](./registry)), components are available for inclusion in [Designs](./designs) that you create. Components can be created and published by anyone, allowing you to share you custom extensions with the community. This fosters a collaborative ecosystem where you can leverage and contribute to the growing collection of Meshery components.

[![Meshery Components]({{ site.baseurl }}/assets/img/architecture/meshery-components.svg
)]({{ site.baseurl }}/assets/img/architecture/meshery-components.svg)
Components having the same `kind`, `apiVersion` and `model.name` attributes are considered duplicates.

<!-- [![Meshery Components]({{ site.baseurl }}/assets/img/architecture/meshery-components.svg
)]({{ site.baseurl }}/assets/img/architecture/meshery-components.svg) -->
<!--
@leecalcote - This is mumbo jumbo to users and needs to be re-written.
## Component Status
## Component Status
<!-- @leecalcote - This is mumbo jumbo to users and needs to be re-written.
-->
Components have a status that is represented as a `Connection` object. Both the administrative and real-time status of a component is a normalized representation of the connection's state. The status is represented as a `Connection` object because the status of a component is a *connection* to the component. For example, the status of a Kubernetes cluster is a direct reflection of a Meshery Server's connection to the cluster.
Normalizing and extracting the status of a component as a direct property of the component and putting it into a connection allows multiple systems to share the same component with different states. For example, different Meshery Servers can access the same Kubernetes cluster, but each Meshery Server has its own connection to the cluster with its own status.
Learn more about [Connections](/concepts/logical/connections).
-->
25 changes: 23 additions & 2 deletions docs/pages/guides/operating/model-generation.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
How Meshery Generates Models
---
layout: default
title: Understanding How Meshery Generates Models
abstract: Models are generated for capabilities defined in the Meshery Registry using a combination of manual entry and dynamic generation techniques.
permalink: guides/operating/model-generation
type: guides
category: operating
language: en
---

Meshery uses a combination of techniques to generate models for capabilities defined in its Registry. The following are the primary techniques used:

1) **Manual Entry**: The Meshery team manually enters the capabilities of a infrastructure or adapter into the Registry. This is the most common method used to add new capabilities to the Registry.
1) **Manual Entry**: The Meshery team manually enters the capabilities of a infrastructure or adapter into the Registry. This is the most common method used to add new capabilities to the Registry.
2) **Model Generation**: Meshery uses a model generation tool to generate models for capabilities. This tool is used to generate models for capabilities that are not manually entered into the Registry.

<h4>Importing Models into the Registry using Meshery CLI</h4>
<p>To register a model using the Meshery CLI, you can use the mesheryctl command to import a model from a specified path:</p>

<pre><code>mesheryctl model import -f &lt;path-to-model&gt; </code></pre>
<h4>Using Meshery UI</h4>
<p>You can also register a model through the Meshery UI:</p>
<ul>
<li>Navigate to the Settings → Registry page.</li>
<li>Click the "Import" button.</li>
<li>Select the model you want to import.</li>
</ul>
37 changes: 37 additions & 0 deletions server/meshmodel/cert-manager-crds/1.15.0/v1.0.0/model.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
"id": "00000000-0000-0000-0000-000000000000",
"schemaVersion": "core.meshery.io/v1beta1",
"version": "v1.0.0",
"displayName": "Couchbase Autoscaler",
"description": "",
"format": "JSON",
"model": {
"id": "00000000-0000-0000-0000-000000000000",
"schemaVersion": "core.meshery.io/v1beta1",
"version": "v1.0.0",
"name": "couchbase-operator",
"displayName": "Couchbase Operator",
"description": "",
"status": "enabled",
"hostID": "00000000-0000-0000-0000-000000000000",
"registrant": {
"hostname": "artifacthub"
},
"category": {
"name": "App Definition and Development",
"metadata": null
},
"subCategory": "Database",
"metadata": {
"capabilities": "",
"defaultData": "",
"isAnnotation": false,
"primaryColor": "#00B39F",
"secondaryColor": "#00D3A9",
"shape": "circle",
"shapePolygonPoints": "",
"styleOverrides": "",
"styles": "",
"svgColor": "\u003csvg width=\"575\" height=\"575\" viewBox=\"0 0 575 575\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n\u003cpath d=\"M287.5 0C128.984 0 0 128.55 0 287.5C0 446.016 128.55 575 287.5 575C446.016 575 575 446.45 575 287.5C575 128.55 446.016 0 287.5 0ZM481.628 337.878C481.628 355.249 471.639 370.449 452.096 373.924C418.221 379.999 346.998 383.478 287.5 383.478C228.002 383.478 156.779 379.999 122.904 373.924C103.361 370.449 93.3724 355.249 93.3724 337.878V225.831C93.3724 208.459 106.835 192.39 122.904 189.785C132.893 188.048 156.344 186.31 174.585 186.31C181.533 186.31 187.179 191.522 187.179 199.773V278.38L287.934 276.208L388.69 278.38V199.773C388.69 191.522 394.335 186.31 401.284 186.31C419.524 186.31 442.976 188.048 452.965 189.785C469.468 192.39 482.496 208.459 482.496 225.831C481.628 262.745 481.628 300.529 481.628 337.878Z\" fill=\"#ED2226\"/\u003e\n\u003c/svg\u003e\r",
"svgComplete": "",
"svgWhite": "\u003csvg width=\"575\" height=\"575\" viewBox=\"0 0 575 575\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n\u003cpath d=\"M287.5 0C128.984 0 0 128.55 0 287.5C0 446.016 128.55 575 287.5 575C446.016 575 575 446.45 575 287.5C575 128.55 446.016 0 287.5 0ZM481.628 337.878C481.628 355.249 471.639 370.449 452.096 373.924C418.221 379.999 346.998 383.478 287.5 383.478C228.002 383.478 156.779 379.999 122.904 373.924C103.361 370.449 93.3724 355.249 93.3724 337.878V225.831C93.3724 208.459 106.835 192.39 122.904 189.785C132.893 188.048 156.344 186.31 174.585 186.31C181.533 186.31 187.179 191.522 187.179 199.773V278.38L287.934 276.208L388.69 278.38V199.773C388.69 191.522 394.335 186.31 401.284 186.31C419.524 186.31 442.976 188.048 452.965 189.785C469.468 192.39 482.496 208.459 482.496 225.831C481.628 262.745 481.628 300.529 481.628 337.878Z\" fill=\"white\"/\u003e\n\u003c/svg\u003e\r"
},
"model": {
"version": "2.64.0"
},
"components": null,
"relationships": null
},
"metadata": {
"capabilities": "",
"defaultData": "",
"genealogy": "",
"isAnnotation": false,
"isNamespaced": true,
"primaryColor": "#00B39F",
"secondaryColor": "#00D3A9",
"shape": "circle",
"shapePolygonPoints": "",
"status": "enabled",
"styleOverrides": "",
"styles": "",
"subCategory": "",
"svgColor": "\u003csvg width=\"575\" height=\"575\" viewBox=\"0 0 575 575\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n\u003cpath d=\"M287.5 0C128.984 0 0 128.55 0 287.5C0 446.016 128.55 575 287.5 575C446.016 575 575 446.45 575 287.5C575 128.55 446.016 0 287.5 0ZM481.628 337.878C481.628 355.249 471.639 370.449 452.096 373.924C418.221 379.999 346.998 383.478 287.5 383.478C228.002 383.478 156.779 379.999 122.904 373.924C103.361 370.449 93.3724 355.249 93.3724 337.878V225.831C93.3724 208.459 106.835 192.39 122.904 189.785C132.893 188.048 156.344 186.31 174.585 186.31C181.533 186.31 187.179 191.522 187.179 199.773V278.38L287.934 276.208L388.69 278.38V199.773C388.69 191.522 394.335 186.31 401.284 186.31C419.524 186.31 442.976 188.048 452.965 189.785C469.468 192.39 482.496 208.459 482.496 225.831C481.628 262.745 481.628 300.529 481.628 337.878Z\" fill=\"#ED2226\"/\u003e\n\u003c/svg\u003e\r",
"svgComplete": "",
"svgWhite": "\u003csvg width=\"575\" height=\"575\" viewBox=\"0 0 575 575\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n\u003cpath d=\"M287.5 0C128.984 0 0 128.55 0 287.5C0 446.016 128.55 575 287.5 575C446.016 575 575 446.45 575 287.5C575 128.55 446.016 0 287.5 0ZM481.628 337.878C481.628 355.249 471.639 370.449 452.096 373.924C418.221 379.999 346.998 383.478 287.5 383.478C228.002 383.478 156.779 379.999 122.904 373.924C103.361 370.449 93.3724 355.249 93.3724 337.878V225.831C93.3724 208.459 106.835 192.39 122.904 189.785C132.893 188.048 156.344 186.31 174.585 186.31C181.533 186.31 187.179 191.522 187.179 199.773V278.38L287.934 276.208L388.69 278.38V199.773C388.69 191.522 394.335 186.31 401.284 186.31C419.524 186.31 442.976 188.048 452.965 189.785C469.468 192.39 482.496 208.459 482.496 225.831C481.628 262.745 481.628 300.529 481.628 337.878Z\" fill=\"white\"/\u003e\n\u003c/svg\u003e\r"
},
"component": {
"kind": "CouchbaseAutoscaler",
"version": "couchbase.com/v2",
"schema": "{\n \"description\": \"CouchbaseAutoscaler provides an interface for the Kubernetes Horizontal Pod Autoscaler to interact with the Couchbase cluster and provide autoscaling. This resource is not defined by the end user, and is managed by the Operator.\",\n \"properties\": {\n \"spec\": {\n \"description\": \"CouchbaseAutoscalerSpec allows control over an autoscaling group.\",\n \"properties\": {\n \"servers\": {\n \"description\": \"Servers specifies the server group that this autoscaler belongs to.\",\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"size\": {\n \"description\": \"Size allows the server group to be dynamically scaled.\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"servers\",\n \"size\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"spec\"\n ],\n \"title\": \"Couchbase Autoscaler\",\n \"type\": \"object\"\n}"
}
}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading

0 comments on commit 712c98e

Please sign in to comment.