Delta Sharing Server – Operations Guide
Overview
The Delta Sharing Server is an open-source implementation of the Delta Sharing protocol, maintained by the Delta Lake community. WebShield uses this server to share EA Consent Delta Tables with Privacy Network participants.
Key characteristics:
- Exposes Delta tables via REST API without copying data
- Token-based authorization
- Currently supports S3 storage backend
Docker Image
The Delta Sharing Server is available as a Docker image:
# Pull the latest image
docker pull deltaio/delta-sharing-server:latest
Resources:
- Docker Hub - Official images and version tags
- GitHub Repository - Source code and documentation
Configuration
The server is configured via a YAML configuration file that defines shares, schemas, tables, and authorization.
Example Configuration File
Create a file named config.yaml:
version: 1
shares:
- name: "local-webshield-ea-consent-share"
schemas:
- name: "ea-consent-schema"
tables:
- name: "ea-consent-tb"
location: "s3a://webshield-delta-sharing/laptop/ea-consent-schema/ea-consent-tb"
id: "00000000-0000-0000-0000-000000000001"
- name: "ea-consent-verification-keys"
location: "s3a://webshield-delta-sharing/laptop/ea-consent-schema/ea-consent-verification-keys"
id: "00000000-0000-0000-0000-000000000002"
authorization:
bearerToken: "your-secure-token-here"
Configuration notes:
- Replace
your-secure-token-herewith a strong, unique bearer token - Update S3 bucket name and paths to match your environment
- Each table requires a unique UUID in the
idfield - The
s3a://protocol is used for S3 access
S3 Credentials
The server requires AWS credentials to access S3 buckets. Provide credentials via:
- Environment variables:
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY - IAM role: If running on EC2 or ECS with an IAM role attached
- AWS credentials file: Mount
~/.aws/credentialsinto the container
For detailed S3 configuration options, see the official Delta Sharing documentation.
Running the Server
Basic Deployment
Run the server with Docker, mounting the configuration file and providing S3 credentials:
docker run -d \
--name delta-sharing-server \
-p 8080:8080 \
-v $(pwd)/config.yaml:/conf/delta-sharing-server-config.yaml \
-e AWS_ACCESS_KEY_ID=your-aws-access-key \
-e AWS_SECRET_ACCESS_KEY=your-aws-secret-key \
deltaio/delta-sharing-server:latest
Port configuration:
- 8080 (default): REST API endpoint for Delta Sharing protocol
Important: The configuration file must be mounted at /conf/delta-sharing-server-config.yaml inside the container.
Verification
After starting the server, verify it’s running correctly:
1. List Available Shares
curl -H "Authorization: Bearer your-secure-token-here" \
http://localhost:8080/shares
Expected response:
{
"items": [
{
"name": "local-webshield-ea-consent-share"
}
]
}
2. List Schemas in Share
curl -H "Authorization: Bearer your-secure-token-here" \
http://localhost:8080/shares/local-webshield-ea-consent-share/schemas
Expected response:
{
"items": [
{
"name": "ea-consent-schema",
"share": "local-webshield-ea-consent-share"
}
]
}
3. List Tables in Schema
curl -H "Authorization: Bearer your-secure-token-here" \
http://localhost:8080/shares/local-webshield-ea-consent-share/schemas/ea-consent-schema/tables
Expected response:
{
"items": [
{
"name": "ea-consent-tb",
"schema": "ea-consent-schema",
"share": "local-webshield-ea-consent-share"
},
{
"name": "ea-consent-verification-keys",
"schema": "ea-consent-schema",
"share": "local-webshield-ea-consent-share"
}
]
}
Security Considerations
- Bearer Token: Store bearer tokens securely (AWS Secrets Manager, environment variables, etc.)
- Network Isolation: Deploy in a private network or behind an API gateway
- TLS/HTTPS: Configure SSL/TLS for production deployments (see official documentation)
- S3 Permissions: Use IAM roles with least-privilege access to S3 buckets
Official Documentation
For advanced configuration, SSL/TLS setup, monitoring, and troubleshooting, refer to the official Delta Sharing documentation:
- Delta Sharing Documentation - Complete configuration reference
- GitHub Repository - Issues and community support
Last Updated: 2026-01-29 22:23:30 UTC