diff --git a/docs/contributing-to-airbyte/README.md b/docs/contributing-to-airbyte/README.md index 90f5695839d2..5117421b7921 100644 --- a/docs/contributing-to-airbyte/README.md +++ b/docs/contributing-to-airbyte/README.md @@ -51,7 +51,7 @@ Guidelines to common code contributions: ## Documentation -We welcome Pull Requests that fix typos or enhance the grammar and structure of our documentation! Check the [Updating Documentation](writing-docs.md) guide for details on submitting documentation changes. +We welcome pull requests that fix typos or enhance the grammar and structure of our documentation! Check the [Updating Documentation](writing-docs.md) guide for details on submitting documentation changes. The following highlights from the [Google developer documentation style guide](https://developers.google.com/style) are helpful for new writers: diff --git a/docs/contributing-to-airbyte/developing-locally.md b/docs/contributing-to-airbyte/developing-locally.md index 54326bfc7812..8b554fce5281 100644 --- a/docs/contributing-to-airbyte/developing-locally.md +++ b/docs/contributing-to-airbyte/developing-locally.md @@ -1,14 +1,14 @@ # Developing Locally Airbyte development is broken into two activities, connector development and platform development. Connector development -is largely done in Python by community contributors, though sometimes Java is used for performance reasons. Platform development is done in Java -and Kotlin. In addition to the Java and Kotlin code, the Platform also consists of the UI. The UI is developed in +is largely done in Python by community contributors, though sometimes Java is used for performance reasons. Platform development is done in Java +and Kotlin. In addition to the Java and Kotlin code, the Platform also consists of the UI. The UI is developed in TypeScript using React. ## Submitting Code -If you would like to submit code to Airbyte, please follow the [Pull Request Handbook](resources/pull-requests-handbook.md) -guide when creating Github Pull Requests. When you are ready to submit code, use the [Submit a New Connector](submit-new-connector.md) document to make +If you would like to submit code to Airbyte, please follow the [Pull Request Handbook](resources/pull-requests-handbook.md) +guide when creating Github Pull Requests. When you are ready to submit code, use the [Submit a New Connector](submit-new-connector.md) document to make sure that the process can go as smoothly as possible. ## Prerequisites @@ -22,21 +22,21 @@ Manually switching between different language versions can be difficult. We reco The following technologies are required to build Airbyte locally. 1. [`Java 21`](https://jdk.java.net/archive/) -2. `Node 20.` +2. `Node 20` 3. `Python 3.10` 4. `Docker` 5. `Jq` -If you are looking to build connectors, you should also follow the installation instructions for [airbyte-ci](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) +If you are looking to build connectors, you should also follow the installation instructions for [airbyte-ci](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md). ### Using abctl for Airbyte development -The guides in this document explain how to develop Connectors and the Airbyte Platform with `abctl`. You should -follow the [Quickstart](../using-airbyte/getting-started/oss-quickstart.md) instructions to install `abctl`. +The guides in this document explain how to develop Connectors and the Airbyte Platform with `abctl`. You should +follow the [Quickstart](../using-airbyte/getting-started/oss-quickstart.md) instructions to install `abctl`. -[Kubernetes in Docker](https://kind.sigs.k8s.io/) (`kind`) is used by `abctl` to create a local Kubernetes cluster as a docker container. +[Kubernetes in Docker](https://kind.sigs.k8s.io/) (`kind`) is used by `abctl` to create a local Kubernetes cluster as a docker container. Once the `kind` cluster has been created, `abctl` then uses [Helm](https://helm.sh/) along with the [Airbyte Chart](https://github.com/airbytehq/airbyte-platform/tree/main/charts) -to deploy Airbyte. In order to view logs, debug issues, and managed your Airbyte deployment, you should install the +to deploy Airbyte. In order to view logs, debug issues, and managed your Airbyte deployment, you should install the [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installing-from-release-binaries) command line tools, as well as, [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) for interacting with the Kubernetes cluster. @@ -127,7 +127,7 @@ Now when you run a sync with that connector, it will use your local docker image ### Connector Specification Caching -The Airbyte Server caches connector specifications for performance reasons. If you update the specification of a +The Airbyte Server caches connector specifications for performance reasons. If you update the specification of a connector, you will need to clear this cache so the new changes are registered. To do this: - In your browser, visit [http://localhost:8000/](http://localhost:8000/) @@ -197,8 +197,8 @@ Once you have successfully built the Platform images, you can load them into the kind load docker-image airbyte/server:dev --name airbyte-abctl ``` -Adjust the image for the Airbyte component that you would like to test. Then you can adjust your vaulues.yaml file to -use the `dev` tag for the component, e.g. +Adjust the image for the Airbyte component that you would like to test. Then you can adjust your vaulues.yaml file to +use the `dev` tag for the component, e.g. ```shell server: @@ -229,7 +229,7 @@ USE_EXTERNAL_DEPLOYMENT=true ./gradlew :oss:airbyte-tests:acceptanceTests ## Webapp Contributions -To develop features in the Airbyte Webapp, you must first bring up an instance of Airbyte on TCP port 8001. To do this +To develop features in the Airbyte Webapp, you must first bring up an instance of Airbyte on TCP port 8001. To do this using `abctl`, first follow the [Quickstart](../using-airbyte/getting-started/oss-quickstart.md) to install `abctl`. Then run the following: ```bash @@ -238,7 +238,7 @@ abctl local install --port 8001 ### Disabling Authentication -It may be convenient to turn off authentication. If you wish to turn off authentication, create a new text file named: +It may be convenient to turn off authentication. If you wish to turn off authentication, create a new text file named: `values.yaml` and copy the follow into the file: ```yaml diff --git a/docs/contributing-to-airbyte/issues-and-requests.md b/docs/contributing-to-airbyte/issues-and-requests.md index 0e815af942ab..eaad96654cc9 100644 --- a/docs/contributing-to-airbyte/issues-and-requests.md +++ b/docs/contributing-to-airbyte/issues-and-requests.md @@ -2,11 +2,11 @@ #### Report a Bug -Bug reports help us make Airbyte better for everyone. We provide a preconfigured template for reporting bugs to make it very clear what information we need. To avoid duplicate reports, check if the bug was [already reported](https://github.com/airbytehq/airbyte/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fbug) before raising a new one. +Bug reports help us make Airbyte better for everyone. We provide a preconfigured template for reporting bugs to make it very clear what information we need. To avoid duplicate reports, check if the bug was [already reported](https://github.com/airbytehq/airbyte/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fbug) before raising a new one. #### Request new Features or a Connector -Requesting new features or connectors is an essential way to contribute. Your input helps us understand your needs and priorities, enabling us to enhance the functionality and versatility of Airbyte. +Requesting new features [or connectors](https://github.com/airbytehq/airbyte/discussions/categories/new-connector-request) is an essential way to contribute. Your input helps us understand your needs and priorities, enabling us to enhance the functionality and versatility of Airbyte. [Starting a Github Discussion](https://github.com/airbytehq/airbyte/discussions) is the best way to do it. #### Reporting Security Issues diff --git a/docs/contributing-to-airbyte/submit-new-connector.md b/docs/contributing-to-airbyte/submit-new-connector.md index a23bb9b9539e..be3f5e991a12 100644 --- a/docs/contributing-to-airbyte/submit-new-connector.md +++ b/docs/contributing-to-airbyte/submit-new-connector.md @@ -1,19 +1,29 @@ # Contribute a New Connector -#### Find or start a Github Discussion about the connector +## API Connectors in Connector Builder -Before jumping into the code please first: +You can contribute a new low-code API Connector in Connector Builder. They're the fastest to review, and easiest for you and others to maintain! + +To contribute a new connector in Connector Builder: +1. Build the connector in Connector Builder. [Read this guide to get started](../connector-development/connector-builder-ui/overview.md). +2. When you're happy with the connector, press the **Publish -> Contribute to Marketplace** button. +3. You'll be prompted for a connector description and your Github Access Token. +4. Builder will make a new pull request on your behalf automatically! +5. Airbyte Marketplace team will review the PR. + +## Custom Python CDK or Java CDK connectors + +### Find or start a Github Discussion about the connector + +While Connector Builder is great, some [connectors won't work in the Builder just yet](../connector-development/connector-builder-ui/connector-builder-compatibility.md). +See the [Connector Development guide](../connector-development/README.md) for more details on how to build a connector. If you're building a custom Python CDK or Database (Java CDK) connector, please start with filing a discussion or an issue: 1. Check to see if there is an existing [Discussion](https://github.com/airbytehq/airbyte/discussions/categories/new-connector-request) for a connector you have in mind 2. If you don't find an existing issue, [Request a New Connector](https://github.com/airbytehq/airbyte/discussions/new?category=new-connector-request) This will enable our team to make sure your contribution does not overlap with existing works and will comply with the design orientation we are currently heading the product toward. If you do not receive an update on the issue from our team, please ping us on [Slack](https://slack.airbyte.io)! -#### Build the connector - -See the [Connector Development guide](../connector-development/README.md) for more details on how to build a connector. For most API source connectors, Connector Builder is the best approach to take. - -#### Open a pull request +### Open a pull request 1. Make sure your connector passes `airbyte-ci connectors test` tests. [Here's a guide on how to run them](../connector-development/testing-connectors/README.md). 2. Make sure you include the README, documentation, and an icon for your connector. Without them, one of the CI checks will fail.