UNPKG

@forzalabs/remora

Version:

A powerful CLI tool for seamless data translation.

164 lines 5.5 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Source Schema", "description": "Schema for defining data sources and their authentication methods", "type": "object", "properties": { "$schema": { "type": "string", "format": "uri" }, "name": { "type": "string", "description": "The name of the data source" }, "description": { "type": "string", "description": "Optional description of the data source" }, "engine": { "type": "string", "enum": [ "aws-redshift", "aws-dynamodb", "aws-s3", "postgres", "local" ], "description": "The type of data engine" }, "authentication": { "type": "object", "description": "Authentication details for connecting to the data source", "properties": { "method": { "type": "string", "enum": [ "iam", "username-password", "access-secret-key", "arn", "implicit" ], "description": "The authentication method to use" }, "host": { "type": "string", "description": "Hostname or endpoint of the data source" }, "user": { "type": "string", "description": "Username for authentication" }, "password": { "type": "string", "description": "Password for authentication" }, "database": { "type": "string", "description": "Database name" }, "workgroup": { "type": "string", "description": "Workgroup name" }, "schema": { "type": "string", "description": "Database schema name" }, "port": { "type": "string", "description": "Port number for the connection" }, "accessKey": { "type": "string", "description": "AWS access key ID" }, "secretKey": { "type": "string", "description": "AWS secret access key" }, "sessionToken": { "type": "string", "description": "AWS session token (if required)" }, "region": { "type": "string", "description": "AWS region" }, "bucket": { "type": "string", "description": "S3 bucket name" }, "iamProfile": { "type": "string", "description": "IAM role or profile name" }, "clusterId": { "type": "string", "description": "Redshift cluster identifier" }, "path": { "type": "string", "description": "The folder path" } }, "required": ["method"] }, "_version": { "type": "number", "description": "Version number of the source configuration" } }, "required": [ "name", "engine", "authentication", "_version" ], "additionalProperties": false, "examples": [ { "name": "Production PostgreSQL Database", "description": "Main production database for customer data", "engine": "postgres", "authentication": { "method": "username-password", "host": "prod-db.example.com", "user": "app_user", "password": "password123", "database": "customers", "schema": "public", "port": "5432" }, "_version": 1 }, { "name": "Data Lake", "description": "AWS S3 bucket containing analytics data", "engine": "aws-s3", "authentication": { "method": "access-secret-key", "accessKey": "AKIAIOSFODNN7EXAMPLE", "secretKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "region": "us-east-1", "bucket": "analytics-data" }, "_version": 2 }, { "name": "Redshift Data Warehouse", "engine": "aws-redshift", "authentication": { "method": "iam", "host": "redshift-cluster.region.redshift.amazonaws.com", "database": "analytics", "port": "5439", "iamProfile": "redshift-access-role", "region": "us-west-2", "clusterId": "analytics-cluster" }, "_version": 1 } ] }