π³ CCP Runtime Architectureο
This page explains how the CCP platform executes methods inside containerized runtimes using a deploy/execute approach.
π§± Base Architectureο
Each method runs in an isolated container (e.g. Docker) provided by a runtime (ccpimage
).
CCP mounts a temporary execution volume at:
/ccp_data/
This folder is used for:
Storing downloaded input files
Writing outputs and logs
Temporary data exchange
π Deploy and Execute Scriptsο
Each execution involves two sequential scripts:
π Deploy Scriptο
Runs first.
Used to prepare the environment:
Clones code repositories
Installs dependencies
Downloads data
Sets permissions
π Execute Scriptο
Runs after deploy.
Used to run the actual algorithm:
Executes your script or binary
Uses data in
/ccp_data/
Writes outputs to
/ccp_data/
Both scripts are defined in the methodβs method.json
.
π§ͺ Runtime Exampleο
Given this configuration:
"ccpimage": "python:3.9",
"deploy-script": [
"git clone https://github.com/user/tool.git /src",
"pip install -r /src/requirements.txt",
"wget {{input_url}} -O /ccp_data/input.csv"
],
"execute-script": [
"python3 /src/main.py --input /ccp_data/input.csv --output /ccp_data/result.json"
]
CCP will:
Start a
python:3.9
containerRun the deploy commands
Run the execution commands
Collect all
/ccp_data/*
files as output
π Credentials Handlingο
Secret values (e.g., API keys) can be passed using secure inputs (format: Secret
).
You can use them via placeholders like {{api_key}}
inside the scripts.
π Supported Runtimesο
CCP currently supports:
Docker images (
bash
,python
,jupyter
,gdal
,r-base
, etc.)Custom base images via
ccpimage
parameterExperimental: pre-bundled consolidated runtimes
π§© Inputs and Placeholdersο
Inputs defined in the method form (e.g., text, file, URL) are passed to the scripts using placeholders like:
--input {{input_file}} --option {{threshold}}
At runtime, these placeholders are replaced with the actual values provided by the user.
Files from inputs (workspace, URLs, uploads) are automatically downloaded or decoded into /ccp_data/
.
π Metadata and Provenanceο
During execution, CCP generates a set of metadata files:
metadata_request.json
: user inputs and configurationmetadata_jobStatus.json
: status and timestampsmetadata_provo.xml
: provenance metadata (agents, entities, activities)
These help track:
Who ran what
When and with which parameters
How outputs were generated
You can inspect these files from the execution results view or download them for auditing and reproducibility.
π Related Pagesο
π¦ Method structure