terraform-provider-airbyte icon indicating copy to clipboard operation
terraform-provider-airbyte copied to clipboard

Support custom connectors

Open aballiet opened this issue 1 year ago • 13 comments

A lot of Airbyte users implement custom connectors using python CDK or low-code CDK.

Currently it's not possible to configure sources leveraging custom connector.

aballiet avatar Sep 29 '23 09:09 aballiet

It will be nice to have source_generic and destination_generic resources.

maver1ck avatar Nov 22 '23 16:11 maver1ck

In the end I made a Terraform provider for Airbyte OSS version which supports custom connectors.

You can find a full example here if interested 👍

aballiet avatar Dec 07 '23 00:12 aballiet

@aballiet looks nice your work. I'll try to use it we were waiting so long for this. Thanks

lideke avatar Feb 12 '24 09:02 lideke

@aballiet looks nice your work. I'll try to use it we were waiting so long for this. Thanks

Yes it's frustrating...

Tell me if you experience any issue 😊

aballiet avatar Feb 12 '24 10:02 aballiet

@aballiet looks nice your work. I'll try to use it we were waiting so long for this. Thanks

Yes it's frustrating...

Tell me if you experience any issue 😊

i'll keep you update wondering if I can add custom destination with your repo ? Because we are using airbyte as reverse ETL and airbyte is not ready for this so we keep it only as custom destination

lideke avatar Feb 12 '24 10:02 lideke

@aballiet looks nice your work. I'll try to use it we were waiting so long for this. Thanks

Yes it's frustrating... Tell me if you experience any issue 😊

i'll keep you update wondering if I can add custom destination with your repo ? Because we are using airbyte as reverse ETL and airbyte is not ready for this so we keep it only as custom destination

I think you can using this : https://registry.terraform.io/providers/aballiet/airbyte-oss/latest/docs/resources/airbyte_destination_definition

aballiet avatar Feb 12 '24 10:02 aballiet

@aballiet nice work

lideke avatar Feb 12 '24 10:02 lideke

@aballiet +1 nice work. I'm in the early phases on testing your provider and it's looking promising.

It's unfortunate the official provider doesn't support this yet, Airbyte recently added the ability to create custom connectors in the Airbyte API - https://reference.airbyte.com/reference/createsource

stevenmurphy12 avatar Feb 13 '24 18:02 stevenmurphy12

@aballiet +1 amazing work. Is this compatible with sources created using Connector Builder Intro or it's YAML or this only targeted for connectors created using the CDK.

In a more philosophical question, would you want your code to be part of the official terraform-airbyte provider? or is there any reason you prefer not to.

NumberPiOso avatar Feb 14 '24 22:02 NumberPiOso

@aballiet +1 nice work. I'm in the early phases on testing your provider and it's looking promising.

It's unfortunate the official provider doesn't support this yet, Airbyte recently added the ability to create custom connectors in the Airbyte API - https://reference.airbyte.com/reference/createsource

@stevenmurphy12 this only allows to create a source from an already defined connector in the instance, isn't it? Allows for creation of source but not the underlying connector for that source.

NumberPiOso avatar Feb 15 '24 00:02 NumberPiOso

@NumberPiOso - Yes that's correct.

Being able to create the actual connector definition was not a particularly high priority for me, though I was able to use @aballiet provider to do that - https://registry.terraform.io/providers/aballiet/airbyte-oss/latest/docs/resources/airbyte_source_definition.

I'm currently trying out a hybrid. Using the airbyte-oss provider for:

  • Source connector definition
  • Source creation

And using airbytehq/airbyte for:

  • Destination creation (I'm using one of the standard destinations)
  • Connection creation.

stevenmurphy12 avatar Feb 15 '24 09:02 stevenmurphy12

@aballiet +1 amazing work. Is this compatible with sources created using Connector Builder Intro or it's YAML or this only targeted for connectors created using the CDK.

In a more philosophical question, would you want your code to be part of the official terraform-airbyte provider? or is there any reason you prefer not to.

It's working for both. We build connector using low-code (YAML) and build docker image with it. See here for details, it will generate you a Dockerfile when selecting on the following :

image

The option ❯ Configuration Based Source - Generate a Source that is described using a low code configuration file.

Then you can use your YAML manifest to build the connector, push it to your artifact registry and use the Terraform provider with it 👍

aballiet avatar Feb 15 '24 15:02 aballiet

Does anybody know wether there is an official solution for a source definition?

yannik207 avatar Jul 12 '24 06:07 yannik207