This repository contains Airbyte connectors used in Faros and Faros Community Edition platforms as well as Airbyte Connector Development Kit (CDK) for JavaScript/TypeScript.
See the READMEs inside destinations/
and sources/
subfolders for more information on each connector.
Component | Code | Installation | Version |
---|---|---|---|
Airbyte CDK | faros-airbyte-cdk | npm i faros-airbyte-cdk |
|
Azure Active Directory Source | sources/azureactivedirectory-source | docker pull farosai/airbyte-azureactivedirectory-source |
|
Azure Pipeline Source | sources/azurepipeline-source | docker pull farosai/airbyte-azurepipeline-source |
|
Azure Repos Source | sources/azure-repos-source | docker pull farosai/airbyte-azure-repos-source |
|
Backlog Source | sources/backlog-source | docker pull farosai/airbyte-backlog-source |
|
Bitbucket Source | sources/bitbucket-source | docker pull farosai/airbyte-bitbucket-source |
|
Buildkite Source | sources/buildkite-source | docker pull farosai/airbyte-buildkite-source |
|
Customer.IO Source | sources/customer-io-source | docker pull farosai/airbyte-customer-io-source |
|
Datadog Source | sources/datadog-source | docker pull farosai/airbyte-datadog-source |
|
Docker Source | sources/docker-source | docker pull farosai/airbyte-docker-source |
|
Faros Destination | destinations/airbyte-faros-destination | npm i airbyte-faros-destination or docker pull farosai/airbyte-faros-destination |
|
FireHydrant Source | sources/firehydrant-source | docker pull farosai/airbyte-firehydrant-source |
|
Gitlab CI Source | sources/gitlab-ci-source | docker pull farosai/airbyte-gitlab-ci-source |
|
Google Calendar Source | sources/googlecalendar-source | docker pull farosai/airbyte-googlecalendar-source |
|
Harness Source | sources/harness-source | docker pull farosai/airbyte-harness-source |
|
Jenkins Source | sources/jenkins-source | docker pull farosai/airbyte-jenkins-source |
|
Okta Source | sources/okta-source | docker pull farosai/airbyte-okta-source |
|
OpsGenie Source | sources/opsgenie-source | docker pull farosai/airbyte-opsgenie-source |
|
PagerDuty Source | sources/pagerduty-source | docker pull farosai/airbyte-pagerduty-source |
|
Phabricator Source | sources/phabricator-source | docker pull farosai/airbyte-phabricator-source |
|
ServiceNow Source | sources/servicenow-source | docker pull farosai/airbyte-servicenow-source |
|
Shortcut Source | sources/shortcut-source | docker pull farosai/airbyte-shortcut-source |
|
SquadCast Source | sources/squadcast-source | docker pull farosai/airbyte-squadcast-source |
|
StatusPage Source | sources/statuspage-source | docker pull farosai/airbyte-statuspage-source |
|
VictorOps Source | sources/victorops-source | docker pull farosai/airbyte-victorops-source |
- Install
nvm
- Install Node.js
nvm install 14 && nvm use 14
- Update
npm
to version 7.x by runningnpm install -g npm@7
- Install
lerna
by runningnpm install -g lerna
- Run
npm run prepare
to install dependencies for all projects (npm run clean
to clean all) - Run
npm run build
to build all projects (for a single project add scope, e.gnpm run build -- --scope airbyte-faros-destination
) - Run
npm run test
to test all projects (for a single project add scope, e.gnpm run test -- --scope airbyte-faros-destination
) - Run
npm run lint
to apply linter on all projects (for a single project add scope, e.gnpm run lint -- --scope airbyte-faros-destination
)
👉 Follow our guide on how to develop a new source here.
- Audit fix
npm audit fix
- Clean your project
lerna run clean
(sometimes you also wannarm -rf ./node_modules
)
Read more about lerna
here.
In order to build a Docker image for a connector run the docker build
command and set path
argument.
For example for Faros Destination connector run:
docker build . --build-arg path=destinations/airbyte-faros-destination -t airbyte-faros-destination
And then run it:
docker run airbyte-faros-destination
We use GitHub Actions to automatically create a corresponding tag, publish the packages to NPM and push Docker images to Docker Hub.
- Run
npm run bump
from the root of the repository. You will be prompted with a list of version increments to choose from (patch, minor, major, etc). Choose the desired increment. - Commit and push the changed files into a branch, then open a PR into the main branch.
- Once the PR is approved and merged, the release workflow is triggered.
Note: If a connector is updated without incrementing the version, the release workflow will NOT overwrite the existing package/image.