Kaustav Ghosh
09/24/2024, 2:36 PMversion: "0.1.0"
type: DeclarativeSource
check:
type: CheckStream
stream_names:
- cluster_info
definitions:
base_requester:
type: HttpRequester
url_base: "http://{{ config['host'] }}:{{ config['port'] }}"
authenticator:
type: BasicHttpAuthenticator
username: "{{ config['username'] }}"
password: "{{ config['password'] }}"
streams:
cluster_info:
type: DeclarativeStream
name: cluster_info
primary_key: []
retriever:
type: SimpleRetriever
requester:
$ref: "#/definitions/base_requester"
path: /pools/default
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path: []
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/cluster_info"
bucket_info:
$ref: "#/definitions/streams/cluster_info"
name: bucket_info
primary_key:
- name
retriever:
$ref: "#/definitions/streams/cluster_info/retriever"
requester:
path: /pools/default/buckets
node_info:
$ref: "#/definitions/streams/cluster_info"
name: node_info
primary_key:
- hostname
retriever:
$ref: "#/definitions/streams/cluster_info/retriever"
record_selector:
extractor:
field_path: ["nodes"]
index_info:
$ref: "#/definitions/streams/cluster_info"
name: index_info
primary_key:
- name
retriever:
$ref: "#/definitions/streams/cluster_info/retriever"
requester:
path: /indexStatus
record_selector:
extractor:
field_path: ["indexes"]
xdcr_info:
$ref: "#/definitions/streams/cluster_info"
name: xdcr_info
primary_key:
- name
retriever:
$ref: "#/definitions/streams/cluster_info/retriever"
requester:
path: /pools/default/remoteClusters
streams:
- $ref: "#/definitions/streams/cluster_info"
- $ref: "#/definitions/streams/bucket_info"
- $ref: "#/definitions/streams/node_info"
- $ref: "#/definitions/streams/index_info"
- $ref: "#/definitions/streams/xdcr_info"
spec:
type: Spec
documentation_url: <https://docs.airbyte.com/integrations/sources/couchbase>
connection_specification:
$schema: <http://json-schema.org/draft-07/schema#>
title: Couchbase Source Spec
type: object
required:
- host
- port
- username
- password
additionalProperties: true
properties:
host:
type: string
title: Host
description: The IP address or hostname of the Couchbase server
order: 0
port:
type: integer
title: Port
description: The port of the Couchbase server
default: 8091
order: 1
username:
type: string
title: Username
description: The username to use for authentication
order: 2
password:
type: string
title: Password
description: The password to use for authentication
airbyte_secret: true
order: 3
schemas:
cluster_info:
type: object
$schema: <http://json-schema.org/draft-07/schema#>
properties:
nodes:
type: array
items:
type: object
services:
type: array
items:
type: string
balanced:
type: boolean
additionalProperties: true
bucket_info:
type: object
$schema: <http://json-schema.org/draft-07/schema#>
properties:
name:
type: string
bucketType:
type: string
numReplicas:
type: integer
ramQuota:
type: integer
storageBackend:
type: string
additionalProperties: true
node_info:
type: object
$schema: <http://json-schema.org/draft-07/schema#>
properties:
hostname:
type: string
status:
type: string
services:
type: array
items:
type: string
memoryTotal:
type: integer
memoryFree:
type: integer
mcdMemoryReserved:
type: integer
mcdMemoryAllocated:
type: integer
additionalProperties: true
index_info:
type: object
$schema: <http://json-schema.org/draft-07/schema#>
properties:
name:
type: string
bucket:
type: string
scope:
type: string
collection:
type: string
indexType:
type: string
status:
type: string
definition:
type: string
additionalProperties: true
xdcr_info:
type: object
$schema: <http://json-schema.org/draft-07/schema#>
properties:
name:
type: string
sourceBucket:
type: string
targetBucket:
type: string
targetCluster:
type: string
status:
type: string
pauseRequested:
type: boolean
additionalProperties: true
metadata:
autoImportSchema:
cluster_info: false
bucket_info: false
node_info: false
index_info: false
xdcr_info: false
user
09/24/2024, 2:36 PMKaustav Ghosh
09/24/2024, 2:45 PMuser
09/24/2024, 2:45 PMmanifest.yaml
file you're referring to. The manifest.yaml
file is a crucial part of an Airbyte connector and it needs to follow a specific structure. Here are some examples of valid manifest.yaml
files from the knowledge sources: - [Example 1](https://discuss.airbyte.io/t/3981) - [Example 2](https://docs.airbyte.com/connector-development/config-based/tutorial/incremental-reads) - [Example 3](https://github.com/airbytehq/airbyte/issues/27934) - [Example 4](https://github.com/airbytehq/airbyte/discussions/33815) Please compare your manifest.yaml
file with these examples to see if it follows the correct structure. If you're still unsure, feel free to share your manifest.yaml
file for further assistance.