Skip to content

Commit

Permalink
docs: document contributing via Builder (#44536)
Browse files Browse the repository at this point in the history
  • Loading branch information
natikgadzhi authored Aug 22, 2024
1 parent 3f0a3b7 commit 4982562
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 25 deletions.
2 changes: 1 addition & 1 deletion docs/contributing-to-airbyte/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
30 changes: 15 additions & 15 deletions docs/contributing-to-airbyte/developing-locally.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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.

Expand Down Expand Up @@ -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/)
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions docs/contributing-to-airbyte/issues-and-requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
24 changes: 17 additions & 7 deletions docs/contributing-to-airbyte/submit-new-connector.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down

0 comments on commit 4982562

Please sign in to comment.