For Kubernetes-based deployments, see Resolve Satellite.
Architecture
- Compute: ECS Fargate (serverless containers)
- Networking: Runs in your VPC with configurable subnets and security groups
- Storage: Optional EFS volume for Git integration persistence
- Secrets: AWS Secrets Manager for credentials
- Logging: CloudWatch Logs
Installation
Step 1: Prepare Resources
Gather the following information before deployment. See Resource Setup Reference below for how to create each resource.At least one integration must be configured for the satellite to appear in the Resolve UI.
Step 2: Deploy with CloudFormation
- AWS Console
- AWS CLI
Deploy directly from the AWS CloudFormation console by clicking Launch Stack. Fill in the required parameters in the form.
- Click Launch Stack above (opens AWS CloudFormation console)
- Choose your preferred Region in the top-right corner of the console
- Fill in the required parameters from Step 1
- Configure the
IntegrationsConfigparameter with your integration YAML (see Integrations Configuration for examples) - Click Next through the remaining pages, then Submit
The Launch Stack button uses the latest template version. To deploy a specific version, replace
latest in the template URL with a version number (e.g., v1.1.22).Step 3: Monitor Deployment
The deployment typically takes 3-5 minutes.Resource Setup Reference
The CloudFormation template does not create the following resources. They must exist before deployment.1. IAM Role
The satellite needs an IAM role with theecs-tasks.amazonaws.com trust policy. You can use a single role for both ExecutionRoleArn and TaskRoleArn by combining all required permissions into one role.
Trust Policy:
arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
If your organization requires separate permission boundaries, you can create two roles — one for task execution (image pull, secrets, logs) and one for task runtime (EFS access) — and pass them as different
ExecutionRoleArn and TaskRoleArn values.AWS CLI commands to create the role
AWS CLI commands to create the role
2. AWS Secrets Manager Secrets
A. Ingest Token (Required)
The ingest token authenticates your satellite with Resolve SaaS. Generate it from Resolve UI > Admin > Tokens. Store the token value as a plaintext string — no JSON wrapping required.arn:aws:secretsmanager:REGION:ACCOUNT_ID:secret:resolve/satellite/ingest-token-XXXXX). You will need it for deployment.
B. Git Integration Credentials (Token Auth Only)
Required only if using Git integration with token-based auth. GitHub App auth does not require a secret — it is configured through the Resolve UI after deployment. Creating a personal access token: see Creating access tokens for step-by-step token setup for each provider (GitHub, GitLab, and others). Then store the credentials in the secret below.C. Datadog Integration Credentials (Optional)
Required only if using Datadog integration.3. Network Infrastructure
VPC Requirements
- DNS Resolution: Must be enabled (
enableDnsSupport: true) - DNS Hostnames: Must be enabled (
enableDnsHostnames: true) - Internet Access: Required for communication with Resolve SaaS
Subnets
- Minimum: 2 subnets (recommended for high availability)
- Type: Private subnets with NAT Gateway, or public subnets with auto-assign public IP
- Internet Access: Must have route to internet (via NAT Gateway or Internet Gateway)
Security Group
Create a security group for the satellite tasks. Required Egress Rules:- HTTPS (port 443) to Resolve SaaS
- HTTPS (port 443) to integration endpoints (Datadog, Grafana, etc.)
- If using Git with EFS: NFS (port 2049) to EFS security group
4. ECS Cluster
You must have an existing ECS cluster. The satellite will be deployed as a Fargate service.Configuration Reference
Required Parameters
Optional Parameters
Git Volume (EFS)
WhenEnableGitVolume=true, the CloudFormation template automatically creates:
- EFS Filesystem: Encrypted,
generalPurposeperformance mode - EFS Security Group: Allows NFS (port 2049) traffic from satellite tasks
- EFS Access Point: Isolated path
/gitwith POSIX UID/GID 1000 - EFS Mount Targets: One per subnet (takes 2-3 minutes to become available)
Additional Parameters
Cost Considerations
- EFS Standard storage: ~$0.30/GB/month (pay only for actual usage)
- No provisioned capacity needed
- Bursting throughput included at no extra cost
Integrations Configuration
TheIntegrationsConfig parameter accepts YAML configuration for integrations. All credentials must be stored in AWS Secrets Manager.
Git Integration
Git integration requires EFS volume for repository storage (EnableGitVolume=true).
- GitHub App
- Token auth
No credentials secret needed. Auth is configured through the Resolve UI after deployment.
Datadog Integration
datadoghq.com, datadoghq.eu, us3.datadoghq.com, us5.datadoghq.com, ddog-gov.com
Additional Integrations
Resolve Satellite supports many additional integrations including Grafana, Prometheus, Loki, Elasticsearch, Splunk, Kubernetes, AWS CloudWatch, and more. For complete integration schemas and configuration examples, see Reference Schema.Verification
1. Check Task is Running
RUNNING state with lastStatus: RUNNING.
2. Check CloudWatch Logs
Satellite starting...Connected to Resolve SaaSIntegration [name] initializedHealth check passed
3. Check Satellite in Resolve UI
- Log in to Resolve UI
- Navigate to Admin > Satellites
- Verify your satellite appears with status “Connected”
4. Test Health Check
5. Verify EFS Mount (if using Git integration)
Updating the Satellite
Update to New Version
DesiredCount > 1).
Add Git Integration to Existing Deployment
This creates new EFS resources and restarts the task.
Deleting the Satellite
Delete CloudFormation Stack
Cleanup IAM Roles and Secrets
IAM roles and Secrets Manager secrets are not managed by the CloudFormation stack. Delete them manually if no longer needed:Troubleshooting
Task Fails to Start
Task transitions fromPENDING to STOPPED immediately.
EFS Mount Fails
Task logs showFailed to mount EFS or health check never passes.
Satellite Not Appearing in Resolve UI
Task is running but satellite doesn’t show as connected.High Memory Usage
Task getting killed due to OOM (Out of Memory).- Increase
Memoryparameter (default is 8192 MB) - Review CloudWatch Container Insights metrics
Integration Not Working
Integration appears in UI but queries fail.- Verify secret format matches the expected structure for each integration type
- Verify security group allows outbound HTTPS to integration endpoints
- For token auth, verify the secret key names match
authConfigskey names - Check CloudWatch logs linked from the ECS task for detailed error messages

