Skip to main content

Data Sources

Connect to external databases, data warehouses, and cloud storage services. Once configured, these connections are available in your applications, workflows, and workspaces via the STRONGLY_SERVICES environment variable.

Supported Data Source Types

Choose from 14 supported data source types across multiple categories:

CategoryProvidersUse Cases
RelationalMySQL, PostgreSQL, Oracle, RedshiftTransactional data, structured queries, OLTP systems
NoSQLMongoDB, Redis, Neo4jDocument storage, caching, graph relationships
Data WarehousesSnowflake, BigQueryAnalytics, large-scale queries, business intelligence
Vector DatabasesMilvusAI embeddings, semantic search, RAG systems
Object StorageAmazon S3File storage, data lakes, backups
GenericJDBC, ODBCAny JDBC/ODBC-compatible database

Using Data Sources in Applications

When you connect a data source to your app during deployment, credentials are automatically injected via STRONGLY_SERVICES:

Python Example - PostgreSQL

import os, json
import psycopg2

# Parse STRONGLY_SERVICES environment variable
services = json.loads(os.getenv('STRONGLY_SERVICES', '{}'))
datasources = services.get('datasources', {})

# Get your data source by ID or name
pg_config = datasources['datasource-id-1']

# Connect using credentials
conn = psycopg2.connect(
host=pg_config['credentials']['host'],
port=pg_config['credentials']['port'],
database=pg_config['credentials']['database'],
user=pg_config['credentials']['username'],
password=pg_config['credentials']['password'],
sslmode='require' if pg_config['credentials'].get('ssl') else 'prefer'
)

# Execute queries
cursor = conn.cursor()
cursor.execute("SELECT * FROM users WHERE active = true")
users = cursor.fetchall()

Node.js Example - MongoDB

// Node.js Example - MongoDB
const services = JSON.parse(process.env.STRONGLY_SERVICES || '{}');
const datasources = services.datasources || {};

// Get MongoDB data source
const mongoConfig = datasources['datasource-id-2'];

// Build connection string
const { MongoClient } = require('mongodb');
const url = `mongodb://${mongoConfig.credentials.username}:${mongoConfig.credentials.password}@${mongoConfig.credentials.host}:${mongoConfig.credentials.port}/${mongoConfig.credentials.database}`;

// Connect
const client = new MongoClient(url);
await client.connect();
const db = client.db(mongoConfig.credentials.database);

// Query
const users = await db.collection('users').find({ active: true }).toArray();

Managing Data Sources

View Connection Details

  • Click data source name to view details page
  • See connection string (passwords masked)
  • View metadata: tables, schemas, databases
  • Check last tested time and status

Update Credentials

  • Click Edit button
  • Update host, port, password, or other fields
  • Test connection again
  • Click Save to apply changes

Usage Tracking

  • View usage count and last used timestamp
  • See which apps and workflows use this source
  • Monitor connection health

Delete Data Source

  • Click Delete button
  • Confirm deletion (irreversible)
  • Apps using this source will lose connection
  • Remove from apps before deleting
Security

All credentials are encrypted at rest using AES-256 and encrypted in transit using TLS. Passwords are never displayed in plaintext after initial entry.