Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support archived connectors in Docs #35374

Merged
merged 3 commits into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 35 additions & 10 deletions docs/integrations/connector-support-levels.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,57 @@ The following table describes the support levels of Airbyte connectors.
| **Who builds them?** | Either the community or the Airbyte team. | Typically they are built by the community. The Airbyte team may upgrade them to Certified at any time. | Anyone can build custom connectors. We recommend using our [Connector Builder](https://docs.airbyte.com/connector-development/connector-builder-ui/overview) or [Low-code CDK](https://docs.airbyte.com/connector-development/config-based/low-code-cdk-overview). |
| **Who maintains them?** | The Airbyte team | Users | Users |
| **Production Readiness** | Guaranteed by Airbyte | Not guaranteed | Not guaranteed |
| **Support: Cloud** | Supported* | No Support | Supported** |
| **Support: Powered by Airbyte** | Supported* | No Support | Supported** |
| **Support: Self-Managed Enterprise** | Supported* | No Support | Supported** |
| **Support: Cloud** | Supported\* | No Support | Supported\*\* |
| **Support: Powered by Airbyte** | Supported\* | No Support | Supported\*\* |
| **Support: Self-Managed Enterprise** | Supported\* | No Support | Supported\*\* |
| **Support: Community (OSS)** | Slack Support only | No Support | Slack Support only |

\*For Certified connectors, Official Support SLAs are only available to customers with Premium Support included in their contract. Otherwise, please use our support portal and we will address your issues as soon as possible.
\*For Certified connectors, Official Support SLAs are only available to customers with Premium
Support included in their contract. Otherwise, please use our support portal and we will address
your issues as soon as possible.

\*\*For Custom connectors, Official Support SLAs are only available to customers with Premium Support included in their contract. This support is provided with best efforts, and maintenance/upgrades are owned by the customer.
\*\*For Custom connectors, Official Support SLAs are only available to customers with Premium
Support included in their contract. This support is provided with best efforts, and
maintenance/upgrades are owned by the customer.

## Certified

A **Certified** connector is actively maintained and supported by the Airbyte team and maintains a high quality bar. It is production ready.
A **Certified** connector is actively maintained and supported by the Airbyte team and maintains a
high quality bar. It is production ready.

### What you should know about Certified connectors:

- Certified connectors are available to all users.
- These connectors have been tested and vetted in order to be certified and are production ready.
- Certified connectors should go through minimal breaking change but in the event an upgrade is needed users will be given an adequate upgrade window.
- Certified connectors should go through minimal breaking change but in the event an upgrade is
needed users will be given an adequate upgrade window.

## Community

A **Community** connector is maintained by the Airbyte community until it becomes Certified. Airbyte has over 800 code contributors and 15,000 people in the Slack community to help. The Airbyte team is continually certifying Community connectors as usage grows. As these connectors are not maintained by Airbyte, we do not offer support SLAs around them, and we encourage caution when using them in production.
A **Community** connector is maintained by the Airbyte community until it becomes Certified. Airbyte
has over 800 code contributors and 15,000 people in the Slack community to help. The Airbyte team is
continually certifying Community connectors as usage grows. As these connectors are not maintained
by Airbyte, we do not offer support SLAs around them, and we encourage caution when using them in
production.

### What you should know about Community connectors:

- Community connectors are available to all users.
- Community connectors may be upgraded to Certified at any time, and we will notify users of these upgrades via our Slack Community and in our Connector Catalog.
- Community connectors might not be feature-complete (features planned for release are under development or not prioritized) and may include backward-incompatible/breaking API changes with no or short notice.
- Community connectors may be upgraded to Certified at any time, and we will notify users of these
upgrades via our Slack Community and in our Connector Catalog.
- Community connectors might not be feature-complete (features planned for release are under
development or not prioritized) and may include backward-incompatible/breaking API changes with no
or short notice.
- Community connectors have no Support SLAs.

## Archived

From time to time, Airbyte will remove a connector from the Connector Catalog. This is typically due
extremely low usage and/or if the connector is no longer maintained by the community. This is
necessary to ensure that the Connector Catalog maintains a minimum level of quality.

Archived connectors will not receive any further updates or support from the Airbyte team. Archived
connectors remain source-available in the
[`airbytehq/connector-archive`](https://github.com/airbytehq/connector-archive) repository on
GitHub. If you wish to take over the maintenance of an archived connector, please open a Github
Discussion.
10 changes: 6 additions & 4 deletions docusaurus/src/components/ConnectorRegistry.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,12 @@ Sorts connectors by release stage and then name
*/
function connectorSort(a, b) {
if (a.supportLevel_oss !== b.supportLevel_oss) {
if (a.supportLevel_oss === "certified") return -2;
if (b.supportLevel_oss === "certified") return 2;
if (a.supportLevel_oss === "community") return -1;
if (b.supportLevel_oss === "community") return 1;
if (a.supportLevel_oss === "certified") return -3;
if (b.supportLevel_oss === "certified") return 3;
if (a.supportLevel_oss === "community") return -2;
if (b.supportLevel_oss === "community") return 2;
if (a.supportLevel_oss === "archived") return -1;
if (b.supportLevel_oss === "archived") return 1;
}

if (a.name_oss < b.name_oss) return -1;
Expand Down
20 changes: 16 additions & 4 deletions docusaurus/src/components/HeaderDecoration.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export const HeaderDecoration = ({
const isOss = isOssString.toUpperCase() === "TRUE";
const isCloud = isCloudString.toUpperCase() === "TRUE";
const isPypiPublished = isPypiPublishedString.toUpperCase() === "TRUE";
const isArchived = supportLevel.toUpperCase() === "ARCHIVED";

return (
<>
Expand All @@ -51,13 +52,17 @@ export const HeaderDecoration = ({
<span className={isOss ? styles.available : styles.unavailable}>
{isOss ? CHECK_ICON : CROSS_ICON} Airbyte OSS
</span>
{isPypiPublished && <a href="#usage-with-airbyte-lib" className={styles.available}>{CHECK_ICON} airbyte_lib</a>}
{isPypiPublished && (
<a href="#usage-with-airbyte-lib" className={styles.available}>
{CHECK_ICON} airbyte_lib
</a>
)}
</dd>
</div>
<div>
<dt>Support Level</dt>
<dd>
<a href="/project-overview/product-support-levels/">
<a href="/integrations/connector-support-levels/">
Comment on lines -60 to +65
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page was moved

{capitalizeFirstLetter(supportLevel)}
</a>
</dd>
Expand All @@ -74,9 +79,16 @@ export const HeaderDecoration = ({

<div className={styles.header}>
<img src={iconUrl} alt="" className={styles.connectorIcon} />
<h1 id={originalId}>{originalTitle}</h1>
<h1 id={originalId}>
{isArchived ? (
<span>
{originalTitle} <span style={{ color: "red" }}>[ARCHIVED]</span>
</span>
) : (
originalTitle
)}
</h1>
</div>
</>
);
};

1 change: 0 additions & 1 deletion docusaurus/src/remark/docsHeaderDecoration.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
const visit = require("unist-util-visit").visit;
const { isPypiConnector } = require("../connector_registry");
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused import

const { isDocsPage, getRegistryEntry } = require("./utils");

const toAttributes = (props) =>
Expand Down
Loading