From c78e817748bbc20ab8e470805f71a1f4edf41046 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 15:02:36 +0200 Subject: [PATCH 01/16] [#3558] Draft docs for contributing components --- docs/docs/guides/contributing-connectors.md | 63 +++++++++++++++++++ ...ontributing.md => contributing-to-airy.md} | 4 +- docs/sidebars.js | 3 +- 3 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 docs/docs/guides/contributing-connectors.md rename docs/docs/guides/{contributing.md => contributing-to-airy.md} (99%) diff --git a/docs/docs/guides/contributing-connectors.md b/docs/docs/guides/contributing-connectors.md new file mode 100644 index 0000000000..daaa7dfd34 --- /dev/null +++ b/docs/docs/guides/contributing-connectors.md @@ -0,0 +1,63 @@ +--- +title: Contributing Components +sidebar_label: Contributing Components +--- + +::: warn + +This functionality is under development. With these docs, we aim to elicit feedback from our community (you!) and focus our development efforts. Currently, we do not offer support for 3rd party components, but we are working toward supporting this. + +::: + +`Airy Core` is fundamentally a collection of components. When you install Airy, you install a set of "Core" components which create the minimum infrastructure to install other components. These "core" components are: + +1. airy-controller +2. api-admin +3. api-communication +4. api-websocket +5. frontend-inbox +6. frontend-control-center + +Airy's actual value comes from the additional components you can install through our marketplace in the Control Center UI. This documentation is on the processes we follow to create, update and store our components. + +## Components + +Airy is designed as plug-and-play architecture where components fit together in your cluster lego-blocks. Components can provide four kinds of functionality: + +1. Connector - i.e Rasa, DialogFlow - that [DEFINE] +2. Source - i.e., Facebook, WhatsApp, SMS - +3. API - i.e +4. User Interface - i.e + +As a technical artifact, a component is a containerized application (we use Docker) packaged using Helm. + +The Helm charts and details about all components (except "Core" components) are stored in an external repository managed by Airy called [airy-/airy-components](https://github.com/airyhq/airy-/airy-components). Each directory represents a component. + +## Component File Structure + +Below is a model of a single component inside. + +``` +/airy-components + /[COMPONENT_NAME] + information.yaml + /helm +``` + +The `helm` directory contains the `values.yaml` file and all other templates/files needed to install the component onto a Kubernetes cluster using `helm`. + +The `information.yaml` contains the source-of-truth for the details of the component, including a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. + +:::note + +Since all components are maintained by Airy, the versioning of every component will be tied to the version of Airy. However, once we support 3rd party components, we will revisit our versioning system. + +:::: + +## Developing your own Components + +A step-by-step guide to creating your component! + +## Publishing your Component to the Airy Marketplace + +A step-by-step guide to make your component available to the world! diff --git a/docs/docs/guides/contributing.md b/docs/docs/guides/contributing-to-airy.md similarity index 99% rename from docs/docs/guides/contributing.md rename to docs/docs/guides/contributing-to-airy.md index e6dd27ba78..fd9899c310 100644 --- a/docs/docs/guides/contributing.md +++ b/docs/docs/guides/contributing-to-airy.md @@ -1,6 +1,6 @@ --- -title: Contributing -sidebar_label: Contributing +title: Contributing to Airy +sidebar_label: Contributing to Airy --- We ❤️ every form of contribution. The following document aims to provide enough diff --git a/docs/sidebars.js b/docs/sidebars.js index a34fb99aa1..4d4f349b95 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -115,7 +115,8 @@ module.exports = { }, { '📚 Guides': [ - 'guides/contributing', + 'guides/contributing-to-airy', + 'guides/contributing-components', 'guides/analytics-demo', 'guides/monitoring', 'guides/backup', From 55fcb1c7a6e523a139c38e012b59ac639c9b4d04 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 15:39:25 +0200 Subject: [PATCH 02/16] Phrasing fixes --- docs/docs/guides/contributing-connectors.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/docs/guides/contributing-connectors.md b/docs/docs/guides/contributing-connectors.md index daaa7dfd34..ebfdba5a8d 100644 --- a/docs/docs/guides/contributing-connectors.md +++ b/docs/docs/guides/contributing-connectors.md @@ -9,7 +9,7 @@ This functionality is under development. With these docs, we aim to elicit feedb ::: -`Airy Core` is fundamentally a collection of components. When you install Airy, you install a set of "Core" components which create the minimum infrastructure to install other components. These "core" components are: +`Airy Core` is fundamentally a collection of components. When you install `Airy Core`, you install a set of *core* components which create the minimum infrastructure to install other components and begin using the platform. These core components are: 1. airy-controller 2. api-admin @@ -18,11 +18,11 @@ This functionality is under development. With these docs, we aim to elicit feedb 5. frontend-inbox 6. frontend-control-center -Airy's actual value comes from the additional components you can install through our marketplace in the Control Center UI. This documentation is on the processes we follow to create, update and store our components. +Airy's real value comes from the additional components you can install through our marketplace in the Control Center UI of your Airy Instance. This documentation is on the processes we follow to create, update and store our components. ## Components -Airy is designed as plug-and-play architecture where components fit together in your cluster lego-blocks. Components can provide four kinds of functionality: +Airy is designed to support a plug-and-play architecture. Components can be added like blocks in the cluster. Components can provide four kinds of functionality: 1. Connector - i.e Rasa, DialogFlow - that [DEFINE] 2. Source - i.e., Facebook, WhatsApp, SMS - @@ -35,7 +35,7 @@ The Helm charts and details about all components (except "Core" components) are ## Component File Structure -Below is a model of a single component inside. +Below is a model of the file stucture of a single component inside the `airy-components` repository. ``` /airy-components @@ -46,11 +46,11 @@ Below is a model of a single component inside. The `helm` directory contains the `values.yaml` file and all other templates/files needed to install the component onto a Kubernetes cluster using `helm`. -The `information.yaml` contains the source-of-truth for the details of the component, including a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. +The `information.yaml` is the source-of-truth for every component. It includes a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. :::note -Since all components are maintained by Airy, the versioning of every component will be tied to the version of Airy. However, once we support 3rd party components, we will revisit our versioning system. +Since all components are maintained by Airy, the versioning of every component is tied to the version of Airy. However, once we support 3rd party components, we will revisit our versioning system. :::: From c589bddb21b396672888cc87d26f8151c7d80f38 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 15:54:21 +0200 Subject: [PATCH 03/16] Lint fix for docs --- docs/docs/guides/contributing-connectors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/guides/contributing-connectors.md b/docs/docs/guides/contributing-connectors.md index ebfdba5a8d..bd14aff30d 100644 --- a/docs/docs/guides/contributing-connectors.md +++ b/docs/docs/guides/contributing-connectors.md @@ -9,7 +9,7 @@ This functionality is under development. With these docs, we aim to elicit feedb ::: -`Airy Core` is fundamentally a collection of components. When you install `Airy Core`, you install a set of *core* components which create the minimum infrastructure to install other components and begin using the platform. These core components are: +`Airy Core` is fundamentally a collection of components. When you install `Airy Core`, you install a set of _core_ components which create the minimum infrastructure to install other components and begin using the platform. These core components are: 1. airy-controller 2. api-admin From 46edc812e58345e60702f2cc2dd5fdd88f7277fe Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 16:23:51 +0200 Subject: [PATCH 04/16] Sidebar fix --- ...-connectors.md => contributing-components.md} | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) rename docs/docs/guides/{contributing-connectors.md => contributing-components.md} (67%) diff --git a/docs/docs/guides/contributing-connectors.md b/docs/docs/guides/contributing-components.md similarity index 67% rename from docs/docs/guides/contributing-connectors.md rename to docs/docs/guides/contributing-components.md index bd14aff30d..1be020d4b4 100644 --- a/docs/docs/guides/contributing-connectors.md +++ b/docs/docs/guides/contributing-components.md @@ -9,7 +9,9 @@ This functionality is under development. With these docs, we aim to elicit feedb ::: -`Airy Core` is fundamentally a collection of components. When you install `Airy Core`, you install a set of _core_ components which create the minimum infrastructure to install other components and begin using the platform. These core components are: +`Airy Core` is fundamentally a collection of components. When you [install `Airy Core`](../getting-started/installation/introduction.md), you install a set of _core_ components which create the minimum infrastructure to install other components and begin using the platform. + +These core components are: 1. airy-controller 2. api-admin @@ -18,20 +20,20 @@ This functionality is under development. With these docs, we aim to elicit feedb 5. frontend-inbox 6. frontend-control-center -Airy's real value comes from the additional components you can install through our marketplace in the Control Center UI of your Airy Instance. This documentation is on the processes we follow to create, update and store our components. +Airy's real value comes from the additional components you install through our marketplace in the Control Center UI of your Airy Instance. This documentation is on the processes we follow to create, update and store our components. -## Components +## A Component -Airy is designed to support a plug-and-play architecture. Components can be added like blocks in the cluster. Components can provide four kinds of functionality: +Airy is designed to support a plug-and-play architecture. Components once installed are be added as pods your cluster. Components can provide four kinds of functionality: 1. Connector - i.e Rasa, DialogFlow - that [DEFINE] 2. Source - i.e., Facebook, WhatsApp, SMS - 3. API - i.e 4. User Interface - i.e -As a technical artifact, a component is a containerized application (we use Docker) packaged using Helm. +As a technical artifact, a component is a containerized application (we use Docker) that is packaged and installed using Helm. -The Helm charts and details about all components (except "Core" components) are stored in an external repository managed by Airy called [airy-/airy-components](https://github.com/airyhq/airy-/airy-components). Each directory represents a component. +The Helm charts and details about all components (except "Core" components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up directories, where each directory represents a component. ## Component File Structure @@ -44,7 +46,7 @@ Below is a model of the file stucture of a single component inside the `airy-com /helm ``` -The `helm` directory contains the `values.yaml` file and all other templates/files needed to install the component onto a Kubernetes cluster using `helm`. +The `helm` directory contains the `values.yaml` file and all other templates/files needed to make up the Helm package. The `information.yaml` is the source-of-truth for every component. It includes a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. From db89c322b5278779286cfb3487772a8ccee68dd3 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 16:31:37 +0200 Subject: [PATCH 05/16] Prettier fix --- docs/docs/guides/contributing-components.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 1be020d4b4..2a387b7040 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -9,7 +9,7 @@ This functionality is under development. With these docs, we aim to elicit feedb ::: -`Airy Core` is fundamentally a collection of components. When you [install `Airy Core`](../getting-started/installation/introduction.md), you install a set of _core_ components which create the minimum infrastructure to install other components and begin using the platform. +`Airy Core` is fundamentally a collection of components. When you [install `Airy Core`](../getting-started/installation/introduction.md), you install a set of _core_ components which create the minimum infrastructure to install other components and begin using the platform. These core components are: @@ -46,7 +46,7 @@ Below is a model of the file stucture of a single component inside the `airy-com /helm ``` -The `helm` directory contains the `values.yaml` file and all other templates/files needed to make up the Helm package. +The `helm` directory contains the `values.yaml` file and all other templates/files needed to make up the Helm package. The `information.yaml` is the source-of-truth for every component. It includes a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. From 8e7fde3f76f26afd13733ff88b79d89d6281353f Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 16:37:44 +0200 Subject: [PATCH 06/16] Warning fix --- docs/docs/guides/contributing-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 2a387b7040..8c61b8b542 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -3,7 +3,7 @@ title: Contributing Components sidebar_label: Contributing Components --- -::: warn +:::warning This functionality is under development. With these docs, we aim to elicit feedback from our community (you!) and focus our development efforts. Currently, we do not offer support for 3rd party components, but we are working toward supporting this. From 1c120c6a35d6d81c1427819a7a29ffbbd6f256e3 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 16:40:23 +0200 Subject: [PATCH 07/16] White space fix --- docs/docs/guides/contributing-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 8c61b8b542..912d1d324b 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -3,7 +3,7 @@ title: Contributing Components sidebar_label: Contributing Components --- -:::warning +:::warning This functionality is under development. With these docs, we aim to elicit feedback from our community (you!) and focus our development efforts. Currently, we do not offer support for 3rd party components, but we are working toward supporting this. From a7ec173ada9648956626114a739526ece53a1bd8 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Thu, 11 Aug 2022 16:50:57 +0200 Subject: [PATCH 08/16] Phrasing improvements --- docs/docs/guides/contributing-components.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 912d1d324b..ae7fcd2e15 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -22,22 +22,22 @@ These core components are: Airy's real value comes from the additional components you install through our marketplace in the Control Center UI of your Airy Instance. This documentation is on the processes we follow to create, update and store our components. -## A Component +## Components -Airy is designed to support a plug-and-play architecture. Components once installed are be added as pods your cluster. Components can provide four kinds of functionality: +Airy is designed to support a plug-and-play architecture. Components are installed and run as pods in your cluster. Components can provide four kinds of functionality: -1. Connector - i.e Rasa, DialogFlow - that [DEFINE] -2. Source - i.e., Facebook, WhatsApp, SMS - +1. Connector - i.e Rasa, DialogFlow +2. Source - i.e., Facebook, WhatsApp, SMS 3. API - i.e 4. User Interface - i.e -As a technical artifact, a component is a containerized application (we use Docker) that is packaged and installed using Helm. +As a technical artifact, each component is a containerized application that is packaged and can be installed. We use Docker and Helm for this. -The Helm charts and details about all components (except "Core" components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up directories, where each directory represents a component. +The Helm package and information on each components (except core components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up directories where each one contains the component's Helm package and information on it. -## Component File Structure +## The Component File Structure -Below is a model of the file stucture of a single component inside the `airy-components` repository. +Below is a model of the file stucture of a single component inside the [`airy-components`](https://github.com/airyhq/airy-/airy-components) repository. ``` /airy-components @@ -46,7 +46,7 @@ Below is a model of the file stucture of a single component inside the `airy-com /helm ``` -The `helm` directory contains the `values.yaml` file and all other templates/files needed to make up the Helm package. +The `helm` directory contains all the files that make up the Helm package. The `information.yaml` is the source-of-truth for every component. It includes a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. From be97bd6f485419f9d8471a2de0df5847646ac5c6 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Fri, 12 Aug 2022 14:14:35 +0200 Subject: [PATCH 09/16] Add a draft definiton of components and made it reusable --- docs/docs/getting-started/componentDefinition.mdx | 11 +++++++++++ docs/docs/getting-started/glossary.md | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 docs/docs/getting-started/componentDefinition.mdx diff --git a/docs/docs/getting-started/componentDefinition.mdx b/docs/docs/getting-started/componentDefinition.mdx new file mode 100644 index 0000000000..497e2648b3 --- /dev/null +++ b/docs/docs/getting-started/componentDefinition.mdx @@ -0,0 +1,11 @@ +A component is a Helm Chart that is installed on an Airy Cluster, and extends Airy's functionality in up to three ways. + +1. UI Components provide new user interfaces in Airy +2. Connector Components connect to one or more third-party services to exchange data with Airy. +3. API Components expose additional endpoints to Airy. + +:::note + +A Component can provide multiple functions (e.g., Connector & UI or UI & API) but usually has a single primary function. You can find a more detailed description of a specific component in the `description.yaml` file of the component in our [airy-components](https://github.com/airyhq/airy-components) respository. + +::: \ No newline at end of file diff --git a/docs/docs/getting-started/glossary.md b/docs/docs/getting-started/glossary.md index 3df84da352..7036d16151 100644 --- a/docs/docs/getting-started/glossary.md +++ b/docs/docs/getting-started/glossary.md @@ -8,7 +8,7 @@ import TLDR from "@site/src/components/TLDR"; -Airy Core allows its [users](#user) to process messaging data from a variety of +Airy allows its [users](#user) to process messaging data from a variety of [sources](#source), which are integrated via [source providers](#provider). Users connect sources via [channels](#channel). Once the channel is connected, Airy Core ingests source data and transforms them into @@ -28,6 +28,12 @@ model and glossary do not correspond exactly. The former is the exact machine representation of the data we store and the latter is a conceptual artifact we created to discuss and solve problems. +## Component + +import ComponentDefinition from './componentDefinition.mdx' + + + ## Channel A channel represents a connection between a [source](#source) and the Airy Core From 54bdcf2af3a9346337f7c4b35158f03f022f3206 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Fri, 12 Aug 2022 14:48:02 +0200 Subject: [PATCH 10/16] Update to contributing components docs after comments --- .../getting-started/componentDefinition.mdx | 6 +++--- docs/docs/guides/contributing-components.md | 20 ++++++++----------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/docs/docs/getting-started/componentDefinition.mdx b/docs/docs/getting-started/componentDefinition.mdx index 497e2648b3..7d3bd93f30 100644 --- a/docs/docs/getting-started/componentDefinition.mdx +++ b/docs/docs/getting-started/componentDefinition.mdx @@ -1,11 +1,11 @@ -A component is a Helm Chart that is installed on an Airy Cluster, and extends Airy's functionality in up to three ways. +A component is a Helm Chart that is installed on an Airy Cluster, and extends Airy's functionality in up to three ways: 1. UI Components provide new user interfaces in Airy -2. Connector Components connect to one or more third-party services to exchange data with Airy. +2. Connector Components connect one or more third-party services with Airy to exchange data. 3. API Components expose additional endpoints to Airy. :::note A Component can provide multiple functions (e.g., Connector & UI or UI & API) but usually has a single primary function. You can find a more detailed description of a specific component in the `description.yaml` file of the component in our [airy-components](https://github.com/airyhq/airy-components) respository. -::: \ No newline at end of file +::: diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index ae7fcd2e15..2e28286202 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -9,7 +9,7 @@ This functionality is under development. With these docs, we aim to elicit feedb ::: -`Airy Core` is fundamentally a collection of components. When you [install `Airy Core`](../getting-started/installation/introduction.md), you install a set of _core_ components which create the minimum infrastructure to install other components and begin using the platform. +`Airy` is fundamentally a collection of components. When you [install `Airy`](../getting-started/installation/introduction.md), you get a few components out-of-the-box which form the infrastructure to install other components and begin using the platform. These core components are: @@ -24,14 +24,9 @@ Airy's real value comes from the additional components you install through our m ## Components -Airy is designed to support a plug-and-play architecture. Components are installed and run as pods in your cluster. Components can provide four kinds of functionality: +import ComponentDefinition from '../getting-started/componentDefinition.mdx' -1. Connector - i.e Rasa, DialogFlow -2. Source - i.e., Facebook, WhatsApp, SMS -3. API - i.e -4. User Interface - i.e - -As a technical artifact, each component is a containerized application that is packaged and can be installed. We use Docker and Helm for this. + The Helm package and information on each components (except core components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up directories where each one contains the component's Helm package and information on it. @@ -40,10 +35,11 @@ The Helm package and information on each components (except core components) are Below is a model of the file stucture of a single component inside the [`airy-components`](https://github.com/airyhq/airy-/airy-components) repository. ``` -/airy-components - /[COMPONENT_NAME] - information.yaml - /helm +airy-components/ +└── [COMPONENT_NAME]/ + ├── information.yaml + └── helm/ + └── [HELM CHART] ``` The `helm` directory contains all the files that make up the Helm package. From 5da95b0120ca810c241d123423e8f8d4665d2454 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Fri, 12 Aug 2022 15:49:46 +0200 Subject: [PATCH 11/16] Update based on comments --- docs/docs/getting-started/componentDefinition.mdx | 10 ++++++---- docs/docs/guides/contributing-components.md | 11 +++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/docs/getting-started/componentDefinition.mdx b/docs/docs/getting-started/componentDefinition.mdx index 7d3bd93f30..04f85d8c9c 100644 --- a/docs/docs/getting-started/componentDefinition.mdx +++ b/docs/docs/getting-started/componentDefinition.mdx @@ -1,8 +1,10 @@ -A component is a Helm Chart that is installed on an Airy Cluster, and extends Airy's functionality in up to three ways: +A component is a Helm Chart that can be installed on an Airy Cluster in order to extend its functionality. -1. UI Components provide new user interfaces in Airy -2. Connector Components connect one or more third-party services with Airy to exchange data. -3. API Components expose additional endpoints to Airy. +Components can be characterized by the functionality they enable: + +1. UI Components that provide new user interfaces in Airy +2. Connector Components that connect one or more third-party services with Airy to exchange data. +3. API Components that expose additional endpoints to Airy. :::note diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 2e28286202..1ddde2d3cb 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -9,9 +9,7 @@ This functionality is under development. With these docs, we aim to elicit feedb ::: -`Airy` is fundamentally a collection of components. When you [install `Airy`](../getting-started/installation/introduction.md), you get a few components out-of-the-box which form the infrastructure to install other components and begin using the platform. - -These core components are: +Airy's functions are provided by components ready for _plug and play_. With every [installation of Airy](../getting-started/installation/introduction.md) we bundle a few default components to get started: 1. airy-controller 2. api-admin @@ -20,7 +18,8 @@ These core components are: 5. frontend-inbox 6. frontend-control-center -Airy's real value comes from the additional components you install through our marketplace in the Control Center UI of your Airy Instance. This documentation is on the processes we follow to create, update and store our components. +Airy's real value comes from the additional components you install through our catalog in the Control Center UI of your Airy Instance. +In the following, we will explain how to create, update and store components. ## Components @@ -28,11 +27,11 @@ import ComponentDefinition from '../getting-started/componentDefinition.mdx' -The Helm package and information on each components (except core components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up directories where each one contains the component's Helm package and information on it. +The Helm package and information on each component (except core components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up of directories where each directory contains a component's Helm package and information. ## The Component File Structure -Below is a model of the file stucture of a single component inside the [`airy-components`](https://github.com/airyhq/airy-/airy-components) repository. +Below is a model of the file structure of a single component inside the [`airy-components`](https://github.com/airyhq/airy-components) repository. ``` airy-components/ From 7aa85535a2b57ffe1ba17713a8609531fbd64d85 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Fri, 12 Aug 2022 15:50:26 +0200 Subject: [PATCH 12/16] Prettier fix --- docs/docs/guides/contributing-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 1ddde2d3cb..a820ce9903 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -18,7 +18,7 @@ Airy's functions are provided by components ready for _plug and play_. With ever 5. frontend-inbox 6. frontend-control-center -Airy's real value comes from the additional components you install through our catalog in the Control Center UI of your Airy Instance. +Airy's real value comes from the additional components you install through our catalog in the Control Center UI of your Airy Instance. In the following, we will explain how to create, update and store components. ## Components From 4f5f277c76a0ad28facbfa1929e3b02f225eb1c0 Mon Sep 17 00:00:00 2001 From: armanjindal Date: Sat, 13 Aug 2022 16:40:01 +0200 Subject: [PATCH 13/16] grammar fix --- docs/docs/getting-started/componentDefinition.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/getting-started/componentDefinition.mdx b/docs/docs/getting-started/componentDefinition.mdx index 04f85d8c9c..04f2bc0ba7 100644 --- a/docs/docs/getting-started/componentDefinition.mdx +++ b/docs/docs/getting-started/componentDefinition.mdx @@ -2,7 +2,7 @@ A component is a Helm Chart that can be installed on an Airy Cluster in order to Components can be characterized by the functionality they enable: -1. UI Components that provide new user interfaces in Airy +1. UI Components that provide new user interfaces in Airy. 2. Connector Components that connect one or more third-party services with Airy to exchange data. 3. API Components that expose additional endpoints to Airy. From ab7303183c1fd771f793ab25be0f85effc7d005c Mon Sep 17 00:00:00 2001 From: armanjindal Date: Tue, 16 Aug 2022 14:48:48 +0200 Subject: [PATCH 14/16] Update stripped down definition and fix comments --- .../getting-started/componentDefinition.mdx | 14 +----------- docs/docs/getting-started/components.md | 8 ++++++- docs/docs/guides/contributing-components.md | 22 +++++++++---------- 3 files changed, 19 insertions(+), 25 deletions(-) diff --git a/docs/docs/getting-started/componentDefinition.mdx b/docs/docs/getting-started/componentDefinition.mdx index 04f2bc0ba7..e462e38aa7 100644 --- a/docs/docs/getting-started/componentDefinition.mdx +++ b/docs/docs/getting-started/componentDefinition.mdx @@ -1,13 +1 @@ -A component is a Helm Chart that can be installed on an Airy Cluster in order to extend its functionality. - -Components can be characterized by the functionality they enable: - -1. UI Components that provide new user interfaces in Airy. -2. Connector Components that connect one or more third-party services with Airy to exchange data. -3. API Components that expose additional endpoints to Airy. - -:::note - -A Component can provide multiple functions (e.g., Connector & UI or UI & API) but usually has a single primary function. You can find a more detailed description of a specific component in the `description.yaml` file of the component in our [airy-components](https://github.com/airyhq/airy-components) respository. - -::: +A component is a [Helm Chart](https://helm.sh/docs/topics/charts/) (a package of Kubernetes resources) that represents a functional unit in an Airy instance. diff --git a/docs/docs/getting-started/components.md b/docs/docs/getting-started/components.md index 630a9df1be..249e9ac287 100644 --- a/docs/docs/getting-started/components.md +++ b/docs/docs/getting-started/components.md @@ -22,9 +22,15 @@ Airy Core comes with all the components you need for a fully-featured conversati +## Definition + +import ComponentDefinition from '../getting-started/componentDefinition.mdx' + + + ## Component types -Airy Core contains the following core components: +Airy Core contains the following components: + +Airy components are ready for _plug and play_. With every [installation of Airy](../getting-started/installation/introduction.md) we bundle a few necessary components to get you started: 1. airy-controller 2. api-admin @@ -21,13 +27,7 @@ Airy's functions are provided by components ready for _plug and play_. With ever Airy's real value comes from the additional components you install through our catalog in the Control Center UI of your Airy Instance. In the following, we will explain how to create, update and store components. -## Components - -import ComponentDefinition from '../getting-started/componentDefinition.mdx' - - - -The Helm package and information on each component (except core components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up of directories where each directory contains a component's Helm package and information. +The Helm package and information on each component (except core components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up of directories where each directory contains a component's Helm package its description. ## The Component File Structure @@ -36,14 +36,14 @@ Below is a model of the file structure of a single component inside the [`airy-c ``` airy-components/ └── [COMPONENT_NAME]/ - ├── information.yaml + ├── description.yaml └── helm/ └── [HELM CHART] ``` The `helm` directory contains all the files that make up the Helm package. -The `information.yaml` is the source-of-truth for every component. It includes a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. +The `description.yaml` is the source-of-truth for every component. It includes a description of its functionality, pricing, availability, and version. This file is written by the component maintainer and rendered into the UI of the Control Center. :::note From a9689a093f2ca553ae5ba87648b16f0cde73e66e Mon Sep 17 00:00:00 2001 From: armanjindal Date: Tue, 16 Aug 2022 15:55:57 +0200 Subject: [PATCH 15/16] Improve phrasing --- docs/docs/guides/contributing-components.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 262b3adfe7..85e812d094 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -15,7 +15,7 @@ import ComponentDefinition from '../getting-started/componentDefinition.mdx' -Airy components are ready for _plug and play_. With every [installation of Airy](../getting-started/installation/introduction.md) we bundle a few necessary components to get you started: +With every [installation of Airy](../getting-started/installation/introduction.md) we bundle a default components to get you started: 1. airy-controller 2. api-admin @@ -24,7 +24,8 @@ Airy components are ready for _plug and play_. With every [installation of Airy] 5. frontend-inbox 6. frontend-control-center -Airy's real value comes from the additional components you install through our catalog in the Control Center UI of your Airy Instance. +Airy also provides a marketplace of _plug and play_ components that extend the functionality of your Airy instance. You can install them through our catalog in the Control Center UI of your Airy Instance. + In the following, we will explain how to create, update and store components. The Helm package and information on each component (except core components) are stored in an external repository managed by Airy called [airy-components](https://github.com/airyhq/airy-/airy-components). This repository is made up of directories where each directory contains a component's Helm package its description. From 470c0a416b98a56833555fb14281ddf3cc7f60de Mon Sep 17 00:00:00 2001 From: armanjindal Date: Tue, 16 Aug 2022 15:58:56 +0200 Subject: [PATCH 16/16] English fix --- docs/docs/guides/contributing-components.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/guides/contributing-components.md b/docs/docs/guides/contributing-components.md index 85e812d094..0ffe639152 100644 --- a/docs/docs/guides/contributing-components.md +++ b/docs/docs/guides/contributing-components.md @@ -15,7 +15,7 @@ import ComponentDefinition from '../getting-started/componentDefinition.mdx' -With every [installation of Airy](../getting-started/installation/introduction.md) we bundle a default components to get you started: +With every [installation of Airy](../getting-started/installation/introduction.md) we bundle a set of default components to get you started: 1. airy-controller 2. api-admin @@ -24,7 +24,7 @@ With every [installation of Airy](../getting-started/installation/introduction.m 5. frontend-inbox 6. frontend-control-center -Airy also provides a marketplace of _plug and play_ components that extend the functionality of your Airy instance. You can install them through our catalog in the Control Center UI of your Airy Instance. +Airy also provides a marketplace of _plug and play_ components that extend the functionality of your Airy instance. You can install them through the catalog page in the Control Center UI of your Airy Instance. In the following, we will explain how to create, update and store components.