provision

This guide shows you how to provision a Datafye Trading Environment in Amazon Web Services.

Prerequisites

Before you begin, ensure:

  • The Datafye CLI is installed (see Installation)

  • AWS credentials are configured (see AWS Setup)

  • You have created the required descriptor files (see Deployment Descriptors)

  • You have broker credentials for paper trading (live trading requires Datafye Managed deployment)

Provision Command

Use the following command to provision an AWS Trading Environment:

datafye trading aws provision [options]

Parameters

Required Parameters

Parameter
Description

--name <name>

Deployment name (must be unique per AWS profile)

--profile <profile>

AWS CLI profile to use (configured in AWS setup)

Descriptor Parameters

You must provide descriptor files using one of the following approaches:

Option 1: Combined descriptor file

Parameter
Description

--descriptor <path>

Path to a combined descriptor file containing data, broker (and optionally algo) configuration

Option 2: Separate descriptor files

Parameter
Description

--data-descriptor <path>

Path to data descriptor file (required)

--broker-descriptor <path>

Path to broker descriptor file (required - must specify mode: paper)

--algo-descriptor <path>

Path to algo descriptor file (optional - only for Full Stack scenario)

Optional Parameters

Parameter
Description
Default

--region <region>

AWS region to provision in

us-east-1

--cidr <cidr>

CIDR block for VPC (format: x.y.z.w/nn)

10.0.0.0/16

Run datafye help trading aws provision to see the complete parameter list and usage.

Trading Scenarios

AWS Trading Environment deployments support two scenarios:

Data Cloud + Broker

Provisions Data Cloud and Broker Connector, allowing you to use your own algo containers.

Required descriptors:

  • Data descriptor

  • Broker descriptor (must specify mode: paper for self-managed deployments)

Example:

Full Stack

Provisions Data Cloud, Algo Container runtime, Broker Connector, and MCP Server.

Required descriptors:

  • Data descriptor

  • Algo descriptor

  • Broker descriptor (must specify mode: paper for self-managed deployments)

Example:

Or using a combined descriptor:

Provisioning Process

During provisioning, the CLI will:

  1. Validate descriptors - Check schema, semantics, and dependencies

  2. Verify paper trading mode - Ensure broker descriptor specifies mode: paper

  3. Create VPC and networking - Provision Virtual Private Cloud, subnets, security groups

  4. Provision EC2 instances - Create virtual machines for Datafye services

  5. Deploy services - Install Data Cloud, Broker Connector (and Algo Container/MCP if Full Stack)

  6. Configure connectivity - Connect to data providers and broker using your credentials

  7. Run health checks - Verify all services are running correctly

  8. Display access information - Show URLs and connection details

After Provisioning

Once provisioning completes successfully, the CLI will display:

  • Deployment ID and status

  • API base URLs for accessing Datafye services

  • WebSocket endpoints for real-time data and execution updates

  • Broker Connector endpoints

  • MCP server endpoint (Full Stack only)

  • SSH access information (if needed for troubleshooting)

Accessing Your Deployment

The AWS deployment will be accessible via the URLs provided in the output:

  • Data Cloud REST API: http://<deployment-endpoint>/datafye-api/v1/

  • Data Cloud WebSocket: ws://<deployment-endpoint>/datafye-ws

  • Broker Connector REST API: http://<broker-endpoint>/broker-api/v1/

  • Broker Connector WebSocket: ws://<broker-endpoint>/broker-ws

  • MCP Server (Full Stack only): http://<mcp-endpoint>:3000

Validate Connectivity

Test your deployment with:

Next Steps

After provisioning:

Troubleshooting

AWS Credential Errors

If you see authentication errors:

  1. Verify your AWS profile is configured: aws sts get-caller-identity --profile datafye

  2. Ensure your credentials have the necessary permissions (see AWS Setup)

  3. Check that you're using the correct profile name

Deployment Name Conflicts

If you receive an error about the deployment name already existing:

  1. Choose a different deployment name with --name

  2. Or deprovision the existing deployment: datafye trading aws deprovision --name <existing-name> --profile <profile>

  3. Retry the provision command

Resource Limit Errors

If you hit AWS resource limits:

  1. Check your AWS account limits in the EC2 dashboard

  2. Request limit increases if needed through AWS Support

  3. Or deprovision unused deployments to free resources

VPC CIDR Conflicts

If you encounter VPC address conflicts:

  1. Try a different CIDR block with --cidr (e.g., 10.1.0.0/16, 10.2.0.0/16)

  2. Ensure the CIDR doesn't conflict with existing VPCs in your account

  3. Check existing VPCs: aws ec2 describe-vpcs --profile <profile>

Descriptor Validation Errors

If descriptor validation fails:

  1. Review the error message for specific field issues

  2. Check descriptor format matches the schema (see Deployment Descriptors)

  3. Verify broker descriptor specifies mode: paper (live trading not allowed in self-managed)

  4. Ensure credentials are provided via environment variables if using ${VAR} syntax

Broker Connection Errors

If broker connections fail:

  1. Verify your broker credentials are correct (paper trading API keys)

  2. Check environment variables are set if using variable substitution

  3. Ensure your broker account is active and has paper trading enabled

  4. Review broker service status (some brokers may have API outages)

  5. Verify broker descriptor specifies correct provider (e.g., alpaca, ibkr)

Live Trading Mode Error

If you see an error about live trading not being supported:

  1. Check your broker descriptor has mode: paper (not mode: live)

  2. Self-managed AWS deployments can only use paper trading

  3. For live trading, contact Datafye Ops to provision a Datafye Managed deployment


Last updated: 2025-10-22

Last updated