1
0
mirror of synced 2025-12-31 06:05:12 -05:00
Files
airbyte/airbyte-cdk/python/source_declarative_manifest/README.md
Joe Reuter 51acc44543 Declarative source base image (#23275)
* WIP

* [ISSUE #22438] using ManifestDeclarativeSource instead of GenericManifestDeclarativeSource

* [ISSUE #22438] release/versioning and documentation

* [ISSUE #22438] adding tests

---------

Co-authored-by: maxi297 <maxime@airbyte.io>
2023-02-23 17:38:08 +00:00

50 lines
1.8 KiB
Markdown

# Declarative manifest source
This is a generic source that takes the declarative manifest via a key `__injected_declarative_manifest` of its config.
## Execution
This entrypoint is used for connectors created by the connector builder. These connector's spec is defined in their manifest, which is defined in the config's "__injected_declarative_manifest" field. This allows this entrypoint to be used with any connector manifest.
The spec operation is not supported because the config is not known when running a spec.
## Local development
#### Building
You can also build the connector in Gradle. This is typically used in CI and not needed for your development workflow.
To build using Gradle, from the Airbyte repository root, run:
```
./gradlew airbyte-cdk:python:build
```
### Locally running the connector
```
python main.py check --config secrets/config.json
python main.py discover --config secrets/config.json
python main.py read --config secrets/config.json --catalog integration_tests/configured_catalog.json
```
### Locally running the connector docker image
#### Build
First, make sure you build the latest Docker image:
```
./gradlew airbyte-cdk:python:airbyteDocker
```
The docker image name and tag, respectively, are the values of the `io.airbyte.name` and `io.airbyte.version` `LABEL`s in the Dockerfile.
#### Run
Then run any of the connector commands as follows:
```
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-declarative-manifest:dev check --config /secrets/config.json
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-declarative-manifest:dev discover --config /secrets/config.json
docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-declarative-manifest:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json
```