* 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>
50 lines
1.8 KiB
Markdown
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
|
|
```
|