Documentation / Advanced

Pin a runtime and resource pool

Polyglot handlers share one JSON boundary. Resource-group admission and process isolation are separate from application code.

Select an installed runtime group

The pinned python-standard profile uses Python 3.13. Standard profiles span *-light (512 MiB worker, 240–288 MiB slice, 30s timeout), *-standard (1–2 GiB worker, 608–1,280 MiB slice, 120s), and *-heavy (4 GiB worker, ~3 GiB slice, 300s). CPU is proportional to worker memory (1,769 MiB = 1 vCPU; slices share container vCPUs without cgroup throttling). Workloads exceeding 3,072 MiB can use mode: sync_lambda (up to 10 GiB, 15m) or asynchronous external callbacks. Published workflows pin group configuration; per-phase memory overrides are rejected. Internal contract ↗

json
{
  "runtime": "python",
  "runtimeVersion": "3.13",
  "group": "python-standard"
}
Complete example · JSON / YAML

JSON

json
{
  "name": "advanced-runtime-groups",
  "version": "1.0.0",
  "lanes": {
    "inline": {
      "mode": "sync_lambda",
      "target": "lambda://local-inline"
    }
  },
  "phases": {
    "work": {
      "service": "hello",
      "lane": "inline",
      "scope": "root",
      "terminal": true,
      "runtime": "python",
      "runtimeVersion": "3.13",
      "group": "python-standard"
    }
  }
}

YAML

yaml
name: advanced-runtime-groups
version: 1.0.0
lanes:
  inline:
    mode: sync_lambda
    target: lambda://local-inline
phases:
  work:
    service: hello
    lane: inline
    scope: root
    terminal: true
    runtime: python
    runtimeVersion: "3.13"
    group: python-standard

Download JSON · YAML

shell
rippflow controls validate advanced-resources.workflow.yaml --json

Expected: ok: true. This checks the contract; deployment/enforcement is separate.

Verify handler artifacts

Bind the artifact URI, entrypoint and SHA-256 to approved deployment metadata. The sample checksum is a placeholder, not a usable release artifact.

json
{
  "handlerUri": "s3://example-artifacts/processor.py",
  "handlerSha256": "0000000000000000000000000000000000000000000000000000000000000000",
  "entrypoint": "processor.py"
}
Complete example · JSON / YAML

JSON

json
{
  "name": "advanced-artifacts",
  "version": "1.0.0",
  "lanes": {
    "inline": {
      "mode": "sync_lambda",
      "target": "lambda://local-inline"
    }
  },
  "phases": {
    "work": {
      "service": "hello",
      "lane": "inline",
      "scope": "root",
      "terminal": true,
      "runtime": "python",
      "runtimeVersion": "3.12",
      "handlerUri": "s3://example-artifacts/processor.py",
      "handlerSha256": "0000000000000000000000000000000000000000000000000000000000000000",
      "entrypoint": "processor.py"
    }
  }
}

YAML

yaml
name: advanced-artifacts
version: 1.0.0
lanes:
  inline:
    mode: sync_lambda
    target: lambda://local-inline
phases:
  work:
    service: hello
    lane: inline
    scope: root
    terminal: true
    runtime: python
    runtimeVersion: "3.12"
    handlerUri: s3://example-artifacts/processor.py
    handlerSha256: "0000000000000000000000000000000000000000000000000000000000000000"
    entrypoint: processor.py

Download JSON · YAML

shell
rippflow controls validate advanced-artifacts.workflow.yaml --json

Expected: ok: true. This checks the contract; deployment/enforcement is separate.

Measure local handlers

Use profiling before choosing a resource group. Docker is a development wrapper, not a tenant security boundary. The polyglot recipe exercises all four runtimes.

The handler contract uses argument-array manifests and one JSON context/outcome on stdin/stdout.

Download the local workflow, manifest and handler together.

shell
rippflow dev hello.workflow.json --handlers handlers.json --profile --report profile.json

Audit gap: managed workspaces

The older managed-workspace guide names runner/src/workspace.rs, but that module and its documented phase API are absent from pinned main. Do not rely on workspace.enabled or a managed cleanup/quota guarantee. Existing artifact caches and temporary-directory use do not establish that API.

Verified sources

Checked 2026-11-05.

Let's talk

Contact Rippflow

Tell us about your workflows, deployment or pricing.

We'll reply to your email.

Search docs

Search workflows, handlers and operations.