@forzalabs/remora
Version:
A powerful CLI tool for seamless data translation.
164 lines • 5.5 kB
JSON
{
"$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
}
]
}