diff --git a/airbyte-integrations/connectors/destination-vectara/README.md b/airbyte-integrations/connectors/destination-vectara/README.md index 41982286ff9b..ff81de79507c 100644 --- a/airbyte-integrations/connectors/destination-vectara/README.md +++ b/airbyte-integrations/connectors/destination-vectara/README.md @@ -78,8 +78,44 @@ async def post_connector_install(connector_container: Container) -> Container: return await connector_container.with_env_variable("MY_POST_BUILD_ENV_VAR", "my_post_build_env_var_value") ``` -#### Build your own connector image + +#### Use `airbyte-ci` to build your connector +The Airbyte way of building this connector is to use our `airbyte-ci` tool. +You can follow install instructions [here](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md#L1). +Then running the following command will build your connector: + +```bash +airbyte-ci connectors --name destination-vectara build +``` +Once the command is done, you will find your connector image in your local docker registry: `airbyte/destination-vectara:dev`. + +##### Customizing our build process +When contributing on our connector you might need to customize the build process to add a system dependency or set an env var. +You can customize our build process by adding a `build_customization.py` module to your connector. +This module should contain a `pre_connector_install` and `post_connector_install` async function that will mutate the base image and the connector container respectively. +It will be imported at runtime by our build process and the functions will be called if they exist. + +Here is an example of a `build_customization.py` module: +```python +from __future__ import annotations + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + # Feel free to check the dagger documentation for more information on the Container object and its methods. + # https://dagger-io.readthedocs.io/en/sdk-python-v0.6.4/ + from dagger import Container + + +async def pre_connector_install(base_image_container: Container) -> Container: + return await base_image_container.with_env_variable("MY_PRE_BUILD_ENV_VAR", "my_pre_build_env_var_value") + +async def post_connector_install(connector_container: Container) -> Container: + return await connector_container.with_env_variable("MY_POST_BUILD_ENV_VAR", "my_post_build_env_var_value") +``` + +#### Build your own connector image This connector is built using our dynamic built process in `airbyte-ci`. The base image used to build it is defined within the metadata.yaml file under the `connectorBuildOptions`. The build logic is defined using [Dagger](https://dagger.io/) [here](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/pipelines/builds/python_connectors.py). @@ -88,7 +124,6 @@ It does not rely on a Dockerfile. If you would like to patch our connector and build your own a simple approach would be to: 1. Create your own Dockerfile based on the latest version of the connector image. - ```Dockerfile FROM airbyte/destination-vectara:latest @@ -99,17 +134,14 @@ RUN pip install ./airbyte/integration_code # ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" # ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] ``` - Please use this as an example. This is not optimized. 2. Build your image: - ```bash docker build -t airbyte/destination-vectara:dev . # Running the spec command against your patched connector docker run airbyte/destination-vectara:dev spec ``` - #### Run Then run any of the connector commands as follows: @@ -172,4 +204,4 @@ You've checked out the repo, implemented a million dollar feature, and you're re 4. Make the connector documentation and its changelog is up to date (`docs/integrations/destinations/vectara.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. -7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. +7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. \ No newline at end of file diff --git a/airbyte-integrations/connectors/destination-vectara/metadata.yaml b/airbyte-integrations/connectors/destination-vectara/metadata.yaml index 17a45a68b0c5..51f7d6d8ca95 100644 --- a/airbyte-integrations/connectors/destination-vectara/metadata.yaml +++ b/airbyte-integrations/connectors/destination-vectara/metadata.yaml @@ -9,11 +9,11 @@ data: cloud: enabled: true connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.1.0@sha256:bd98f6505c6764b1b5f99d3aedc23dfc9e9af631a62533f60eb32b1d3dbab20c + baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 connectorSubtype: database connectorType: destination definitionId: 102900e7-a236-4c94-83e4-a4189b99adc2 - dockerImageTag: 0.2.3 + dockerImageTag: 0.2.4 dockerRepository: airbyte/destination-vectara githubIssueLabel: destination-vectara icon: vectara.svg diff --git a/airbyte-integrations/connectors/destination-vectara/pyproject.toml b/airbyte-integrations/connectors/destination-vectara/pyproject.toml index c88e6f7a6e68..e269ac7a353d 100644 --- a/airbyte-integrations/connectors/destination-vectara/pyproject.toml +++ b/airbyte-integrations/connectors/destination-vectara/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "airbyte-destination-vectara" -version = "0.2.3" +version = "0.2.4" description = "Airbyte destination implementation for Vectara" authors = ["Airbyte "] license = "MIT" diff --git a/docs/integrations/destinations/vectara.md b/docs/integrations/destinations/vectara.md index da0a4c57f09f..b4e993c52c35 100644 --- a/docs/integrations/destinations/vectara.md +++ b/docs/integrations/destinations/vectara.md @@ -65,6 +65,7 @@ In addition, in the connector UI you define two set of fields for this connector | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :----------------------------------------------------------- | +| 0.2.4 | 2024-05-20 | [38432](https://github.com/airbytehq/airbyte/pull/38432) | [autopull] base image + poetry + up_to_date | | 0.2.3 | 2024-03-22 | [#37333](https://github.com/airbytehq/airbyte/pull/37333) | Updated CDK & pytest version to fix security vulnerabilities | | 0.2.2 | 2024-03-22 | [#36261](https://github.com/airbytehq/airbyte/pull/36261) | Move project to Poetry | | 0.2.1 | 2024-03-05 | [#35206](https://github.com/airbytehq/airbyte/pull/35206) | Fix: improved title parsing |