Managing Runners
What are Runners?
CurieTech offers Private Runners for secure runtime execution of your Mulesoft tasks.
Private Runners (Enterprise Feature)
- Run in your own infrastructure (on-premises, private cloud, or VPC)
- Keep your code and data within your security perimeter
- Full control over execution environment and resources
What Do Runners Do?
From a customer standpoint, runners execute your Mulesoft tasks securely:
- Build & Test: Compile your Mule applications and run test suites
- Deploy: Deploy applications to your Mulesoft environments
- Access Private Resources: Connect to Anypoint Exchange and internal APIs required for the Integration testing agent
- Maintain State: Download and cache dependencies (Java, Maven, Mule Runtime)
Adding a Private Runner
Note: Private Runners require the "Private Runners" feature in your workspace settings.
Step 1: Create Runner Registration
- Navigate to your workspace settings
- Click the Add Runner button
- Configure your runner:
- Runner Name: Enter a meaningful name (e.g.,
Production-US-East-Runner) - Operating System: Select your target OS:
- Linux amd64 (Intel/AMD processors)
- Linux arm64 (ARM processors, e.g., AWS Graviton)
- Darwin amd64 (macOS Intel)
- Darwin arm64 (macOS Apple Silicon)
- Runner Name: Enter a meaningful name (e.g.,
- Click Create Runner
Step 2: Install Runner on Your Server
After creating the runner, CurieTech generates a unique installation command:
curl -LsSf -H 'X-Runner-Token: {your-jwt-token}' \
https://platform.curietech.ai/api/runner/install/script | sh -s --
Run this command on your target server. The installation script will:
- Create your runner's configuration
- Download the platform-specific runner binary from CurieTech
- Start the runner process automatically
Step 3: Verify Runner Status
Return to the CurieTech UI to verify your runner is active:
- Active (green checkmark): Runner is polling and ready to execute tasks
- Inactive (warning): Runner hasn't polled in the last 60 seconds
Runner Configuration
After installation, your runner configuration is stored in runner_config.json:
{
"holder_id_prefix": "curie_runner",
"server": "https://platform.curietech.ai",
"poll_frequency": "5s",
"mode": "simple",
"orgs": [
{
"uuid": "your-runner-uuid",
"jwt": "your-jwt-token"
}
],
"cache_root": ".cache/curie",
"cache_policies": {
"sys_cache": {
"max_size_bytes": 5368709120,
"eviction_policy": "lru"
},
"repo_cache": {
"max_size_bytes": 16106127360,
"eviction_policy": "lru"
},
"state_cache": {
"max_size_bytes": 2147483648,
"eviction_policy": "lru"
}
}
}
Configuration Options
-
poll_frequency: How often the runner checks for new tasks (default: 5 seconds)
-
cache_policies: Control cache sizes and eviction
sys_cache: Java, Maven, Mule Runtime binaries (default: 5GB)repo_cache: Git repositories (default: 15GB)state_cache: Maven .m2 dependencies (default: 2GB)
Managing Your Runners
Monitoring Runner Health
Monitor your runners from the workspace settings:
- View active/inactive status in real-time
- Check last poll time to identify connectivity issues
- See which runner executed specific tasks
Removing a Runner
To decommission a runner:
- Stop the runner process on your server
- Navigate to workspace settings
- Click Remove Runner
- Confirm deletion