From faedd86ee011eff30707614fa2da80674c4cb38c Mon Sep 17 00:00:00 2001 From: Tim Roes Date: Wed, 20 Dec 2023 18:47:58 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9A=20Add=20availability=20information?= =?UTF-8?q?=20to=20docs=20(#33650)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/access-management/sso-providers/okta.md | 1 + docs/access-management/sso.md | 4 ++ docs/api-documentation.md | 4 ++ docs/cli-documentation.md | 4 ++ .../configuring-connections.md | 4 ++ .../dbt-cloud-integration.md | 6 ++- .../manage-airbyte-cloud-notifications.md | 4 ++ .../manage-connection-state.md | 4 ++ .../managing-airbyte-cloud/manage-credits.md | 6 ++- .../manage-data-residency.md | 6 ++- .../manage-schema-changes.md | 4 ++ .../review-connection-status.md | 4 ++ .../review-sync-history.md | 4 ++ .../understand-airbyte-cloud-limits.md | 4 ++ docs/community/getting-support.md | 4 ++ docs/enterprise-setup/README.md | 4 ++ docs/enterprise-setup/implementation-guide.md | 4 ++ .../upgrading-from-community.md | 4 ++ docs/integrations/connector-support-levels.md | 4 ++ docs/operating-airbyte/security.md | 4 ++ docs/operator-guides/browsing-output-logs.md | 6 ++- docs/operator-guides/collecting-metrics.md | 4 ++ .../operator-guides/configuring-airbyte-db.md | 4 ++ docs/operator-guides/configuring-airbyte.md | 4 ++ .../configuring-connector-resources.md | 4 ++ docs/operator-guides/reset.md | 4 ++ docs/operator-guides/scaling-airbyte.md | 4 ++ .../transformations-with-airbyte.md | 6 ++- .../transformations-with-dbt.md | 6 ++- .../transformations-with-sql.md | 8 ++-- docs/operator-guides/upgrading-airbyte.md | 4 ++ .../using-custom-connectors.md | 3 +- .../using-dagster-integration.md | 1 + docs/operator-guides/using-kestra-plugin.md | 1 + docs/operator-guides/using-prefect-task.md | 1 + .../using-the-airflow-airbyte-operator.md | 1 + docs/terraform-documentation.md | 4 ++ .../core-concepts/basic-normalization.md | 4 ++ .../using-airbyte/core-concepts/namespaces.md | 4 ++ docs/using-airbyte/core-concepts/readme.md | 4 ++ .../core-concepts/sync-modes/README.md | 4 ++ .../sync-modes/full-refresh-append.md | 4 ++ .../sync-modes/full-refresh-overwrite.md | 4 ++ .../sync-modes/incremental-append-deduped.md | 4 ++ .../sync-modes/incremental-append.md | 4 ++ .../core-concepts/sync-schedules.md | 4 ++ .../core-concepts/typing-deduping.md | 4 ++ .../getting-started/add-a-source.md | 4 ++ docs/using-airbyte/getting-started/readme.md | 4 ++ .../getting-started/set-up-a-connection.md | 4 ++ docs/using-airbyte/workspaces.md | 6 ++- docusaurus/docusaurus.config.js | 10 +++-- docusaurus/package.json | 3 ++ .../src/components/ProductInformation.jsx | 39 +++++++++++++++++ .../components/ProductInformation.module.css | 43 +++++++++++++++++++ docusaurus/src/css/custom.css | 10 ++++- docusaurus/src/remark/productInformation.js | 34 +++++++++++++++ docusaurus/src/scripts/fontAwesomeIcons.js | 5 +++ docusaurus/src/theme/MDXComponents/index.js | 2 + docusaurus/yarn.lock | 30 ++++++++++++- 60 files changed, 357 insertions(+), 25 deletions(-) create mode 100644 docusaurus/src/components/ProductInformation.jsx create mode 100644 docusaurus/src/components/ProductInformation.module.css create mode 100644 docusaurus/src/remark/productInformation.js create mode 100644 docusaurus/src/scripts/fontAwesomeIcons.js diff --git a/docs/access-management/sso-providers/okta.md b/docs/access-management/sso-providers/okta.md index e60a80d9eaecc..241c385cdf054 100644 --- a/docs/access-management/sso-providers/okta.md +++ b/docs/access-management/sso-providers/okta.md @@ -1,5 +1,6 @@ --- sidebar_label: Okta +products: oss-enterprise, cloud-teams --- import Tabs from "@theme/Tabs"; diff --git a/docs/access-management/sso.md b/docs/access-management/sso.md index e87fe8c7cd855..065c7ed74e5b3 100644 --- a/docs/access-management/sso.md +++ b/docs/access-management/sso.md @@ -1,3 +1,7 @@ +--- +products: oss-enterprise, cloud-teams +--- + # Single Sign-On (SSO) import Tabs from "@theme/Tabs"; diff --git a/docs/api-documentation.md b/docs/api-documentation.md index 448a63b2e9528..53cf2c7845aa7 100644 --- a/docs/api-documentation.md +++ b/docs/api-documentation.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # API documentation Airbyte has two sets of APIs which are intended for different uses. The table below outlines their descriptions, use cases, availability and status. diff --git a/docs/cli-documentation.md b/docs/cli-documentation.md index f3fdcad041f72..f4d2dcd2803c0 100644 --- a/docs/cli-documentation.md +++ b/docs/cli-documentation.md @@ -1,3 +1,7 @@ +--- +products: oss-community +--- + # CLI documentation :::caution diff --git a/docs/cloud/managing-airbyte-cloud/configuring-connections.md b/docs/cloud/managing-airbyte-cloud/configuring-connections.md index bc896004eb30a..be2e63f5b3e85 100644 --- a/docs/cloud/managing-airbyte-cloud/configuring-connections.md +++ b/docs/cloud/managing-airbyte-cloud/configuring-connections.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Configuring connections A connection links a source to a destination and defines how your data will sync. After you have created a connection, you can modify any of the configuration settings or stream settings. diff --git a/docs/cloud/managing-airbyte-cloud/dbt-cloud-integration.md b/docs/cloud/managing-airbyte-cloud/dbt-cloud-integration.md index 777433ec72e3b..a98dd3beac865 100644 --- a/docs/cloud/managing-airbyte-cloud/dbt-cloud-integration.md +++ b/docs/cloud/managing-airbyte-cloud/dbt-cloud-integration.md @@ -1,6 +1,8 @@ -# Use the dbt Cloud integration +--- +products: cloud +--- - +# Use the dbt Cloud integration By using the dbt Cloud integration, you can create and run dbt transformations during syncs in Airbyte Cloud. This allows you to transform raw data into a format that is suitable for analysis and reporting, including cleaning and enriching the data. diff --git a/docs/cloud/managing-airbyte-cloud/manage-airbyte-cloud-notifications.md b/docs/cloud/managing-airbyte-cloud/manage-airbyte-cloud-notifications.md index 2b39a0bb1893b..b03e0d24d6e95 100644 --- a/docs/cloud/managing-airbyte-cloud/manage-airbyte-cloud-notifications.md +++ b/docs/cloud/managing-airbyte-cloud/manage-airbyte-cloud-notifications.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Manage notifications This page provides guidance on how to manage notifications for Airbyte, allowing you to stay up-to-date on the activities in your workspace. diff --git a/docs/cloud/managing-airbyte-cloud/manage-connection-state.md b/docs/cloud/managing-airbyte-cloud/manage-connection-state.md index 23d25db6be99a..885c5d936cdf2 100644 --- a/docs/cloud/managing-airbyte-cloud/manage-connection-state.md +++ b/docs/cloud/managing-airbyte-cloud/manage-connection-state.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Manage the connection state The connection state provides additional information about incremental syncs. It includes the most recent values for the global or stream-level cursors, which can aid in debugging or determining which data will be included in the next sync. diff --git a/docs/cloud/managing-airbyte-cloud/manage-credits.md b/docs/cloud/managing-airbyte-cloud/manage-credits.md index 4a91886aec254..8f04f6ffa7882 100644 --- a/docs/cloud/managing-airbyte-cloud/manage-credits.md +++ b/docs/cloud/managing-airbyte-cloud/manage-credits.md @@ -1,6 +1,8 @@ -# Manage credits +--- +products: cloud +--- - +# Manage credits Airbyte [credits](https://airbyte.com/pricing) are used to pay for Airbyte resources when you run a sync. You can purchase credits on Airbyte Cloud to keep your data flowing without interruption. diff --git a/docs/cloud/managing-airbyte-cloud/manage-data-residency.md b/docs/cloud/managing-airbyte-cloud/manage-data-residency.md index 384d18337bb54..c18a19e9ac6c3 100644 --- a/docs/cloud/managing-airbyte-cloud/manage-data-residency.md +++ b/docs/cloud/managing-airbyte-cloud/manage-data-residency.md @@ -1,6 +1,8 @@ -# Manage data residency +--- +products: cloud +--- - +# Manage data residency In Airbyte Cloud, you can set the default data residency and choose the data residency for individual connections, which can help you comply with data localization requirements. diff --git a/docs/cloud/managing-airbyte-cloud/manage-schema-changes.md b/docs/cloud/managing-airbyte-cloud/manage-schema-changes.md index 50fddf411ae2a..1cc3c7d163863 100644 --- a/docs/cloud/managing-airbyte-cloud/manage-schema-changes.md +++ b/docs/cloud/managing-airbyte-cloud/manage-schema-changes.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Manage schema changes You can specify for each connection how Airbyte should handle any change of schema in the source. This process helps ensure accurate and efficient data syncs, minimizing errors and saving you time and effort in managing your data pipelines. diff --git a/docs/cloud/managing-airbyte-cloud/review-connection-status.md b/docs/cloud/managing-airbyte-cloud/review-connection-status.md index 5970e3756f4b5..a83082146de39 100644 --- a/docs/cloud/managing-airbyte-cloud/review-connection-status.md +++ b/docs/cloud/managing-airbyte-cloud/review-connection-status.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Review the connection status The connection status displays information about the connection and of each stream being synced. Reviewing this summary allows you to assess the connection's current status and understand when the next sync will be run. diff --git a/docs/cloud/managing-airbyte-cloud/review-sync-history.md b/docs/cloud/managing-airbyte-cloud/review-sync-history.md index c0fd7abd4d827..f63e6c2a7aed1 100644 --- a/docs/cloud/managing-airbyte-cloud/review-sync-history.md +++ b/docs/cloud/managing-airbyte-cloud/review-sync-history.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Review the sync history The job history displays information about synced data, such as the amount of data moved, the number of records read and committed, and the total sync time. Reviewing this summary can help you monitor the sync performance and identify any potential issues. diff --git a/docs/cloud/managing-airbyte-cloud/understand-airbyte-cloud-limits.md b/docs/cloud/managing-airbyte-cloud/understand-airbyte-cloud-limits.md index ceea1f2002824..75b7e5316d613 100644 --- a/docs/cloud/managing-airbyte-cloud/understand-airbyte-cloud-limits.md +++ b/docs/cloud/managing-airbyte-cloud/understand-airbyte-cloud-limits.md @@ -1,3 +1,7 @@ +--- +products: cloud +--- + # Airbyte Cloud limits Understanding the following limitations will help you more effectively manage Airbyte Cloud. diff --git a/docs/community/getting-support.md b/docs/community/getting-support.md index 03b1ff7955606..af2f9453faab2 100644 --- a/docs/community/getting-support.md +++ b/docs/community/getting-support.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Getting Support Hold up! Have you looked at [our docs](https://docs.airbyte.com/) yet? We recommend searching the wealth of knowledge in our documentation as many times the answer you are looking for is there! diff --git a/docs/enterprise-setup/README.md b/docs/enterprise-setup/README.md index 7570a9125c3ed..c46542f240bee 100644 --- a/docs/enterprise-setup/README.md +++ b/docs/enterprise-setup/README.md @@ -1,3 +1,7 @@ +--- +products: oss-enterprise +--- + # Airbyte Self-Managed Enterprise [Airbyte Self-Managed Enterprise](https://airbyte.com/product/airbyte-enterprise) is the best way to run Airbyte yourself. You get all 300+ pre-built connectors, data never leaves your environment, and Airbyte becomes self-serve in your organization with new tools to manage multiple users, and multiple teams using Airbyte all in one place. diff --git a/docs/enterprise-setup/implementation-guide.md b/docs/enterprise-setup/implementation-guide.md index fe242ea1277d9..b94e89c50dd0a 100644 --- a/docs/enterprise-setup/implementation-guide.md +++ b/docs/enterprise-setup/implementation-guide.md @@ -1,3 +1,7 @@ +--- +products: oss-enterprise +--- + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; diff --git a/docs/enterprise-setup/upgrading-from-community.md b/docs/enterprise-setup/upgrading-from-community.md index 9b3c12cb93094..15217913cc173 100644 --- a/docs/enterprise-setup/upgrading-from-community.md +++ b/docs/enterprise-setup/upgrading-from-community.md @@ -1,3 +1,7 @@ +--- +products: oss-enterprise +--- + # Existing Instance Upgrades This page supplements the [Self-Managed Enterprise implementation guide](./implementation-guide.md). It highlights the steps to take if you are currently using Airbyte Self-Managed Community, our free open source offering, and are ready to upgrade to [Airbyte Self-Managed Enterprise](./README.md). diff --git a/docs/integrations/connector-support-levels.md b/docs/integrations/connector-support-levels.md index e684c1292b7c0..9baeebc9785c8 100644 --- a/docs/integrations/connector-support-levels.md +++ b/docs/integrations/connector-support-levels.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Connector Support Levels The following table describes the support levels of Airbyte connectors. diff --git a/docs/operating-airbyte/security.md b/docs/operating-airbyte/security.md index 7f1b10973bd6d..3f0eb252ad4a0 100644 --- a/docs/operating-airbyte/security.md +++ b/docs/operating-airbyte/security.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Security Airbyte is committed to keeping your data safe by following industry-standard practices for securing physical deployments, setting access policies, and leveraging the security features of leading Cloud providers. diff --git a/docs/operator-guides/browsing-output-logs.md b/docs/operator-guides/browsing-output-logs.md index 19de2cdcb6b65..eeee61f3cbbf5 100644 --- a/docs/operator-guides/browsing-output-logs.md +++ b/docs/operator-guides/browsing-output-logs.md @@ -1,6 +1,8 @@ -# Browsing Logs +--- +products: all +--- -## Overview +# Browsing Logs Airbyte records the full logs as a part of each sync. These logs can be used to understand the underlying operations Airbyte performs to read data from the source and write to the destination as a part of the [Airbyte Protocol](/understanding-airbyte/airbyte-protocol.md). The logs includes many details, including any errors that can be helpful when troubleshooting sync errors. diff --git a/docs/operator-guides/collecting-metrics.md b/docs/operator-guides/collecting-metrics.md index 9db6198e23b40..a1203fc5191ea 100644 --- a/docs/operator-guides/collecting-metrics.md +++ b/docs/operator-guides/collecting-metrics.md @@ -1,3 +1,7 @@ +--- +products: oss-* +--- + # Monitoring Airbyte diff --git a/docs/operator-guides/configuring-airbyte-db.md b/docs/operator-guides/configuring-airbyte-db.md index 1b57f2ae90733..899e86b01fed7 100644 --- a/docs/operator-guides/configuring-airbyte-db.md +++ b/docs/operator-guides/configuring-airbyte-db.md @@ -1,3 +1,7 @@ +--- +products: oss-* +--- + # Configuring the Airbyte Database Airbyte uses different objects to store internal state and metadata. This data is stored and manipulated by the various Airbyte components, but you have the ability to manage the deployment of this database in the following two ways: diff --git a/docs/operator-guides/configuring-airbyte.md b/docs/operator-guides/configuring-airbyte.md index 8f234a915090f..f838021553b01 100644 --- a/docs/operator-guides/configuring-airbyte.md +++ b/docs/operator-guides/configuring-airbyte.md @@ -1,3 +1,7 @@ +--- +products: oss-* +--- + # Configuring Airbyte This section covers how to configure Airbyte, and the various configuration Airbyte accepts. diff --git a/docs/operator-guides/configuring-connector-resources.md b/docs/operator-guides/configuring-connector-resources.md index 9fc0df16325c9..20c03a8dc9bb4 100644 --- a/docs/operator-guides/configuring-connector-resources.md +++ b/docs/operator-guides/configuring-connector-resources.md @@ -1,3 +1,7 @@ +--- +products: oss-* +--- + # Configuring Connector Resources As noted in [Workers & Jobs](../understanding-airbyte/jobs.md), there are four different types of jobs. diff --git a/docs/operator-guides/reset.md b/docs/operator-guides/reset.md index de8080165e0fe..77e2ae49bdfd2 100644 --- a/docs/operator-guides/reset.md +++ b/docs/operator-guides/reset.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Resetting Your Data Resetting your data allows you to drop all previously synced data so that any ensuing sync can start syncing fresh. This is useful if you don't require the data replicated to your destination to be saved permanently or are just testing Airbyte. diff --git a/docs/operator-guides/scaling-airbyte.md b/docs/operator-guides/scaling-airbyte.md index 062cbd33d715f..9c80cdbff378c 100644 --- a/docs/operator-guides/scaling-airbyte.md +++ b/docs/operator-guides/scaling-airbyte.md @@ -1,3 +1,7 @@ +--- +products: oss-* +--- + # Scaling Airbyte As depicted in our [High-Level View](../understanding-airbyte/high-level-view.md), Airbyte is made up of several components under the hood: 1. Scheduler 2. Server 3. Temporal 4. Webapp 5. Database diff --git a/docs/operator-guides/transformation-and-normalization/transformations-with-airbyte.md b/docs/operator-guides/transformation-and-normalization/transformations-with-airbyte.md index 1f0175b392d88..da40ca63e6f17 100644 --- a/docs/operator-guides/transformation-and-normalization/transformations-with-airbyte.md +++ b/docs/operator-guides/transformation-and-normalization/transformations-with-airbyte.md @@ -1,6 +1,8 @@ -# Transformations with Airbyte (Part 3/3) +--- +products: oss-* +--- -## Overview +# Transformations with Airbyte (Part 3/3) This tutorial will describe how to push a custom dbt transformation project back to Airbyte to use during syncs. diff --git a/docs/operator-guides/transformation-and-normalization/transformations-with-dbt.md b/docs/operator-guides/transformation-and-normalization/transformations-with-dbt.md index e7ea6b4158bb3..e13d64c701879 100644 --- a/docs/operator-guides/transformation-and-normalization/transformations-with-dbt.md +++ b/docs/operator-guides/transformation-and-normalization/transformations-with-dbt.md @@ -1,6 +1,8 @@ -# Transformations with dbt (Part 2/3) +--- +products: oss-* +--- -## Overview +# Transformations with dbt (Part 2/3) This tutorial will describe how to integrate SQL based transformations with Airbyte syncs using specialized transformation tool: dbt. diff --git a/docs/operator-guides/transformation-and-normalization/transformations-with-sql.md b/docs/operator-guides/transformation-and-normalization/transformations-with-sql.md index 4e29e15fe167c..48f44f82ddddd 100644 --- a/docs/operator-guides/transformation-and-normalization/transformations-with-sql.md +++ b/docs/operator-guides/transformation-and-normalization/transformations-with-sql.md @@ -1,8 +1,8 @@ -# Transformations with SQL (Part 1/3) - -## Transformations with SQL \(Part 1/3\) +--- +products: oss-* +--- -### Overview +# Transformations with SQL (Part 1/3) This tutorial will describe how to integrate SQL based transformations with Airbyte syncs using plain SQL queries. diff --git a/docs/operator-guides/upgrading-airbyte.md b/docs/operator-guides/upgrading-airbyte.md index 77d8787fb628d..761e3692044dc 100644 --- a/docs/operator-guides/upgrading-airbyte.md +++ b/docs/operator-guides/upgrading-airbyte.md @@ -1,3 +1,7 @@ +--- +products: oss-* +--- + # Upgrading Airbyte :::info diff --git a/docs/operator-guides/using-custom-connectors.md b/docs/operator-guides/using-custom-connectors.md index 0ff8d63b41def..6597dc7ad88ac 100644 --- a/docs/operator-guides/using-custom-connectors.md +++ b/docs/operator-guides/using-custom-connectors.md @@ -1,4 +1,5 @@ ---- +--- +products: oss-* sidebar_label: Uploading custom connectors --- diff --git a/docs/operator-guides/using-dagster-integration.md b/docs/operator-guides/using-dagster-integration.md index ac5f60834bcf0..4c4ef2c84c448 100644 --- a/docs/operator-guides/using-dagster-integration.md +++ b/docs/operator-guides/using-dagster-integration.md @@ -1,5 +1,6 @@ --- description: Start triggering Airbyte jobs with Dagster in minutes +products: oss-* --- # Using the Dagster Integration diff --git a/docs/operator-guides/using-kestra-plugin.md b/docs/operator-guides/using-kestra-plugin.md index 3c27e8797c2d5..0a8da24761a3d 100644 --- a/docs/operator-guides/using-kestra-plugin.md +++ b/docs/operator-guides/using-kestra-plugin.md @@ -1,5 +1,6 @@ --- description: Using the Kestra Plugin to Orchestrate Airbyte +products: oss-* --- # Using the Kestra Plugin diff --git a/docs/operator-guides/using-prefect-task.md b/docs/operator-guides/using-prefect-task.md index d0b462e10f239..57e17a06b40ef 100644 --- a/docs/operator-guides/using-prefect-task.md +++ b/docs/operator-guides/using-prefect-task.md @@ -1,5 +1,6 @@ --- description: Start triggering Airbyte jobs with Prefect in minutes +products: oss-* --- # Using the Prefect Airbyte Task diff --git a/docs/operator-guides/using-the-airflow-airbyte-operator.md b/docs/operator-guides/using-the-airflow-airbyte-operator.md index 97c73eb37f913..5b4e580b191eb 100644 --- a/docs/operator-guides/using-the-airflow-airbyte-operator.md +++ b/docs/operator-guides/using-the-airflow-airbyte-operator.md @@ -1,5 +1,6 @@ --- description: Start triggering Airbyte jobs with Apache Airflow in minutes +products: oss-* --- # Using the Airbyte Operator to orchestrate Airbyte OSS diff --git a/docs/terraform-documentation.md b/docs/terraform-documentation.md index e9e52ff6e3967..10c830d9963c7 100644 --- a/docs/terraform-documentation.md +++ b/docs/terraform-documentation.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Terraform Documentation Airbyte's Terraform provider enables you to automate & version-control your Airbyte configuration as code. Save time managing Airbyte and collaborate on Airbyte configuration changes with your teammates. Airbyte's Terraform provider is built off our [Airbyte API](https://api.airbyte.com). diff --git a/docs/using-airbyte/core-concepts/basic-normalization.md b/docs/using-airbyte/core-concepts/basic-normalization.md index b76d4759de54a..16de09002ecc4 100644 --- a/docs/using-airbyte/core-concepts/basic-normalization.md +++ b/docs/using-airbyte/core-concepts/basic-normalization.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Basic Normalization :::danger diff --git a/docs/using-airbyte/core-concepts/namespaces.md b/docs/using-airbyte/core-concepts/namespaces.md index fb1e2b895bd74..7c9315179f5fd 100644 --- a/docs/using-airbyte/core-concepts/namespaces.md +++ b/docs/using-airbyte/core-concepts/namespaces.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Namespaces ## High-Level Overview diff --git a/docs/using-airbyte/core-concepts/readme.md b/docs/using-airbyte/core-concepts/readme.md index e8c336dba5d09..dab232b3bb847 100644 --- a/docs/using-airbyte/core-concepts/readme.md +++ b/docs/using-airbyte/core-concepts/readme.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Core Concepts Airbyte enables you to build data pipelines and replicate data from a source to a destination. You can configure how frequently the data is synced, what data is replicated, and how the data is written to in the destination. diff --git a/docs/using-airbyte/core-concepts/sync-modes/README.md b/docs/using-airbyte/core-concepts/sync-modes/README.md index a561506a1f734..be548d4d04d28 100644 --- a/docs/using-airbyte/core-concepts/sync-modes/README.md +++ b/docs/using-airbyte/core-concepts/sync-modes/README.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Sync Modes A sync mode governs how Airbyte reads from a source and writes to a destination. Airbyte provides different sync modes to account for various use cases. To minimize confusion, a mode's behavior is reflected in its name. The easiest way to understand Airbyte's sync modes is to understand how the modes are named. diff --git a/docs/using-airbyte/core-concepts/sync-modes/full-refresh-append.md b/docs/using-airbyte/core-concepts/sync-modes/full-refresh-append.md index ccdd7951bbe54..1bdd03f8ddeed 100644 --- a/docs/using-airbyte/core-concepts/sync-modes/full-refresh-append.md +++ b/docs/using-airbyte/core-concepts/sync-modes/full-refresh-append.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Full Refresh - Append ## Overview diff --git a/docs/using-airbyte/core-concepts/sync-modes/full-refresh-overwrite.md b/docs/using-airbyte/core-concepts/sync-modes/full-refresh-overwrite.md index ab238f0dc8d4c..17204cafcd591 100644 --- a/docs/using-airbyte/core-concepts/sync-modes/full-refresh-overwrite.md +++ b/docs/using-airbyte/core-concepts/sync-modes/full-refresh-overwrite.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Full Refresh - Overwrite ## Overview diff --git a/docs/using-airbyte/core-concepts/sync-modes/incremental-append-deduped.md b/docs/using-airbyte/core-concepts/sync-modes/incremental-append-deduped.md index 6fa0272fda6e3..7e3ad86a1b982 100644 --- a/docs/using-airbyte/core-concepts/sync-modes/incremental-append-deduped.md +++ b/docs/using-airbyte/core-concepts/sync-modes/incremental-append-deduped.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Incremental Sync - Append + Deduped ## High-Level Context diff --git a/docs/using-airbyte/core-concepts/sync-modes/incremental-append.md b/docs/using-airbyte/core-concepts/sync-modes/incremental-append.md index c9facb4711f31..3a9c01859714f 100644 --- a/docs/using-airbyte/core-concepts/sync-modes/incremental-append.md +++ b/docs/using-airbyte/core-concepts/sync-modes/incremental-append.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Incremental Sync - Append ## Overview diff --git a/docs/using-airbyte/core-concepts/sync-schedules.md b/docs/using-airbyte/core-concepts/sync-schedules.md index a0d6c22fbee9a..358a127b27155 100644 --- a/docs/using-airbyte/core-concepts/sync-schedules.md +++ b/docs/using-airbyte/core-concepts/sync-schedules.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Sync Schedules For each connection, you can select between three options that allow a sync to run. The three options for `Replication Frequency` are: diff --git a/docs/using-airbyte/core-concepts/typing-deduping.md b/docs/using-airbyte/core-concepts/typing-deduping.md index b63bb2f738606..b9bb5e07ee44e 100644 --- a/docs/using-airbyte/core-concepts/typing-deduping.md +++ b/docs/using-airbyte/core-concepts/typing-deduping.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Typing and Deduping This page refers to new functionality added by [Destinations V2](/release_notes/upgrading_to_destinations_v2/). Typing and deduping is the default method of transforming datasets within data warehouse and database destinations after they've been replicated. Please check each destination to learn if Typing and Deduping is supported. diff --git a/docs/using-airbyte/getting-started/add-a-source.md b/docs/using-airbyte/getting-started/add-a-source.md index e5f59b2f7517b..92b7798bba937 100644 --- a/docs/using-airbyte/getting-started/add-a-source.md +++ b/docs/using-airbyte/getting-started/add-a-source.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Add a Source Setting up a new source in Airbyte is a quick and simple process! When viewing the Airbyte UI, you'll see the main navigation bar on the left side of your screen. Click the **Sources** tab to bring up a list of all available sources. diff --git a/docs/using-airbyte/getting-started/readme.md b/docs/using-airbyte/getting-started/readme.md index ab860999e2fbe..fbef7470ef116 100644 --- a/docs/using-airbyte/getting-started/readme.md +++ b/docs/using-airbyte/getting-started/readme.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Getting Started Getting started with Airbyte takes only a few steps! This page guides you through the initial steps to get started and you'll learn how to setup your first connection on the following pages. diff --git a/docs/using-airbyte/getting-started/set-up-a-connection.md b/docs/using-airbyte/getting-started/set-up-a-connection.md index 7948eeeda06ad..d2c7780823bbb 100644 --- a/docs/using-airbyte/getting-started/set-up-a-connection.md +++ b/docs/using-airbyte/getting-started/set-up-a-connection.md @@ -1,3 +1,7 @@ +--- +products: all +--- + # Set up a Connection Now that you've learned how to set up your first [source](./add-a-source) and [destination](./add-a-destination), it's time to finish the job by creating your very first connection! diff --git a/docs/using-airbyte/workspaces.md b/docs/using-airbyte/workspaces.md index 710242ca47289..a4dfd0d524cb9 100644 --- a/docs/using-airbyte/workspaces.md +++ b/docs/using-airbyte/workspaces.md @@ -1,9 +1,11 @@ +--- +products: cloud, oss-enterprise +--- + # Manage your workspace A workspace in Airbyte allows you to collaborate with other users and manage connections together. On Airbyte Cloud it will allow you to share billing details for a workspace. - - :::info Airbyte [credits](https://airbyte.com/pricing) are assigned per workspace and cannot be transferred between workspaces. ::: diff --git a/docusaurus/docusaurus.config.js b/docusaurus/docusaurus.config.js index db39086531f67..c81b245c62b35 100644 --- a/docusaurus/docusaurus.config.js +++ b/docusaurus/docusaurus.config.js @@ -9,9 +9,8 @@ const { themes } = require('prism-react-renderer'); const lightCodeTheme = themes.github; const darkCodeTheme = themes.dracula; - - const docsHeaderDecoration = require("./src/remark/docsHeaderDecoration"); +const productInformation = require("./src/remark/productInformation"); const redirects = yaml.load( fs.readFileSync(path.join(__dirname, "redirects.yml"), "utf-8") @@ -73,7 +72,10 @@ const config = { }), ], - clientModules: [require.resolve("./src/scripts/cloudStatus.js")], + clientModules: [ + require.resolve("./src/scripts/fontAwesomeIcons.js"), + require.resolve("./src/scripts/cloudStatus.js"), + ], presets: [ [ @@ -87,7 +89,7 @@ const config = { editUrl: "https://github.com/airbytehq/airbyte/blob/master/docs", path: "../docs", exclude: ["**/*.inapp.md"], - remarkPlugins: [docsHeaderDecoration], + remarkPlugins: [docsHeaderDecoration, productInformation], }, blog: false, theme: { diff --git a/docusaurus/package.json b/docusaurus/package.json index 760738093b868..b136057d3a040 100644 --- a/docusaurus/package.json +++ b/docusaurus/package.json @@ -93,6 +93,7 @@ "@mdx-js/react": "^3.0.0", "async": "2.6.4", "autoprefixer": "10.4.7", + "classnames": "^2.3.2", "clsx": "^1.1.1", "copy-webpack-plugin": "11.0.0", "core-js": "3.23.3", @@ -122,6 +123,8 @@ "react-router": "5.3.3", "sockjs": "0.3.24", "trim": "0.0.3", + "unist-builder": "^4.0.0", + "unist-util-select": "^5.1.0", "unist-util-visit": "^5.0.0", "webpack-dev-server": "4.9.2", "yaml-loader": "^0.8.0" diff --git a/docusaurus/src/components/ProductInformation.jsx b/docusaurus/src/components/ProductInformation.jsx new file mode 100644 index 0000000000000..02d8fdf5ac2de --- /dev/null +++ b/docusaurus/src/components/ProductInformation.jsx @@ -0,0 +1,39 @@ +import React from "react"; +import classNames from "classnames"; + +import styles from "./ProductInformation.module.css"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { faCheckCircle, faQuestionCircle, faXmarkCircle } from "@fortawesome/free-regular-svg-icons"; + +const Badge = ({ available, children }) => { + return ( + + + {children} + + ); +}; + +/** + * @type {React.FC<{ products: string }} + */ +export const ProductInformation = ({ products }) => { + products = Object.fromEntries(products.split(",").map(f => [f.trim(), true])); + + const ossCommunity = products["oss-community"] || products["oss-*"] || products["all"]; + const ossEnterprise = products["oss-enterprise"] || products["oss-*"] || products["all"]; + const cloud = products["cloud"] || products["cloud-teams"] || products["all"]; + // cloud add-ons need to be specifically marked and are not part of the "all" shorthand + const cloudTeams = products["cloud-teams"]; + + return ( +
+ Cloud {cloudTeams ? with Teams add-on : ""} + Self-Managed Community (OSS) + Self-Managed Enterprise + + + +
+ ); +} diff --git a/docusaurus/src/components/ProductInformation.module.css b/docusaurus/src/components/ProductInformation.module.css new file mode 100644 index 0000000000000..63cb652608c79 --- /dev/null +++ b/docusaurus/src/components/ProductInformation.module.css @@ -0,0 +1,43 @@ +.badges { + margin-bottom: 1.5rem; + display: inline-flex; + gap: 8px; + align-items: center; + max-width: 100%; + overflow-x: auto; +} + +.badge { + background: var(--color-grey-40); + color: var(--color-grey-400); + padding: 3px 8px; + border-radius: 32px; + font-size: 0.75rem; + display: inline-flex; + align-items: center; + gap: 4px; + text-decoration: none; + white-space: nowrap; +} + +.badge:hover { + text-decoration: none; +} + +.withAddon { + font-weight: 600; +} + +.available { + background:var(--color-green-50); + color: var(--ifm-font-color-base); +} + +.helpIcon { + color: var(--color-grey-400); + transition: color 0.2s ease; +} + +.helpIcon:hover { + color: var(--ifm-color-primary); +} diff --git a/docusaurus/src/css/custom.css b/docusaurus/src/css/custom.css index d2b7ab6d5707e..1f4c2cf62c308 100644 --- a/docusaurus/src/css/custom.css +++ b/docusaurus/src/css/custom.css @@ -4,7 +4,7 @@ * work well for content-centric websites. */ -@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;600;700&display=swap"); /* You can override the default Infima variables here. */ :root { @@ -25,6 +25,10 @@ --ifm-hover-overlay: rgb(0 0 0 / 2%); --color-active-nav-item-background: #f4f4ff; --color-active-nav-item-text: var(--ifm-color-primary-darker); + + --color-grey-40: hsl(240, 25%, 98%); + --color-grey-400: hsl(240, 10%, 59%); + --color-green-50: hsl(184, 67%, 92%); } /* For readability concerns, you should choose a lighter palette in dark mode. */ @@ -39,6 +43,10 @@ html[data-theme="dark"] { --ifm-color-primary-lightest: #c8c7ff; --color-active-nav-item-background: #272729; --color-active-nav-item-text: var(--ifm-color-primary-lighter); + + --color-grey-40: hsl(240, 14%, 14%); + --color-grey-400: hsl(240, 13%, 72%); + --color-green-50: hsl(184, 100%, 12%); } .docusaurus-highlight-code-line { diff --git a/docusaurus/src/remark/productInformation.js b/docusaurus/src/remark/productInformation.js new file mode 100644 index 0000000000000..4965e5e93345a --- /dev/null +++ b/docusaurus/src/remark/productInformation.js @@ -0,0 +1,34 @@ +const { select } = require("unist-util-select"); +const { u } = require('unist-builder'); + +const plugin = () => { + const transformer = async (ast, vfile) => { + // Run only on files that have `products` set in their frontmatter. + if (!vfile.data?.frontMatter?.products) { + return; + } + + // Find first header in document + const heading = select("root > heading[depth='1']", ast); + const headingIndex = ast.children.findIndex(ch => ch === heading); + if (headingIndex) { + // Create new element + const flavorNode = u('mdxJsxFlowElement', { + name: "ProductInformation", + attributes: [ + { + type: "mdxJsxAttribute", + name: "products", + value: vfile.data.frontMatter.products, + } + ] + }, []); + + // Add the ProductInformation JSX node right after the first header node + ast.children.splice(headingIndex + 1, 0, flavorNode); + } + }; + return transformer; +}; + +module.exports = plugin; diff --git a/docusaurus/src/scripts/fontAwesomeIcons.js b/docusaurus/src/scripts/fontAwesomeIcons.js new file mode 100644 index 0000000000000..0757bb1d13ff0 --- /dev/null +++ b/docusaurus/src/scripts/fontAwesomeIcons.js @@ -0,0 +1,5 @@ +import '@fortawesome/fontawesome-svg-core/styles.css'; + +import { config } from '@fortawesome/fontawesome-svg-core'; + +config.autoAddCss = false; diff --git a/docusaurus/src/theme/MDXComponents/index.js b/docusaurus/src/theme/MDXComponents/index.js index efbcb1cd056db..f962148192f67 100644 --- a/docusaurus/src/theme/MDXComponents/index.js +++ b/docusaurus/src/theme/MDXComponents/index.js @@ -5,6 +5,7 @@ import { AppliesTo } from "@site/src/components/AppliesTo"; import { FieldAnchor } from "@site/src/components/FieldAnchor"; import { HideInUI } from "@site/src/components/HideInUI"; import { HeaderDecoration } from "@site/src/components/HeaderDecoration"; +import { ProductInformation } from "@site/src/components/ProductInformation"; export default { // Re-use the default mapping @@ -13,4 +14,5 @@ export default { FieldAnchor, HideInUI, HeaderDecoration, + ProductInformation, }; diff --git a/docusaurus/yarn.lock b/docusaurus/yarn.lock index 889da2700dc79..646198c7e0dfc 100644 --- a/docusaurus/yarn.lock +++ b/docusaurus/yarn.lock @@ -4659,6 +4659,11 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== +classnames@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + clean-css@^5.2.2: version "5.3.2" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" @@ -5069,6 +5074,11 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" +css-selector-parser@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-3.0.4.tgz#1cabd23f3d83ebd5a752c1c9e72a2f37f6d904fa" + integrity sha512-pnmS1dbKsz6KA4EW4BznyPL2xxkNDRg62hcD0v8g6DEw2W7hxOln5M953jsp9hmw5Dg57S6o/A8GOn37mbAgcQ== + css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -8597,7 +8607,7 @@ nth-check@2.0.1: dependencies: boolbase "^1.0.0" -nth-check@^2.0.1: +nth-check@^2.0.0, nth-check@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== @@ -10596,6 +10606,13 @@ unique-string@^3.0.0: dependencies: crypto-random-string "^4.0.0" +unist-builder@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-4.0.0.tgz#817b326c015a6f9f5e92bb55b8e8bc5e578fe243" + integrity sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-generated@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" @@ -10644,6 +10661,17 @@ unist-util-remove-position@^5.0.0: "@types/unist" "^3.0.0" unist-util-visit "^5.0.0" +unist-util-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/unist-util-select/-/unist-util-select-5.1.0.tgz#92db10df0d03d2e598f9d782bfc6d4b99b2057eb" + integrity sha512-4A5mfokSHG/rNQ4g7gSbdEs+H586xyd24sdJqF1IWamqrLHvYb+DH48fzxowyOhOfK7YSqX+XlCojAyuuyyT2A== + dependencies: + "@types/unist" "^3.0.0" + css-selector-parser "^3.0.0" + devlop "^1.1.0" + nth-check "^2.0.0" + zwitch "^2.0.0" + unist-util-stringify-position@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d"