Skip to main content

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:

  1. Build & Test: Compile your Mule applications and run test suites
  2. Deploy: Deploy applications to your Mulesoft environments
  3. Access Private Resources: Connect to Anypoint Exchange and internal APIs required for the Integration testing agent
  4. 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

  1. Navigate to your workspace settings
  2. Click the Add Runner button
  3. 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)
  4. 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:

  1. Create your runner's configuration
  2. Download the platform-specific runner binary from CurieTech
  3. 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:

  1. Stop the runner process on your server
  2. Navigate to workspace settings
  3. Click Remove Runner
  4. Confirm deletion