Turn an Earth Observation processor repository into a scanned, published container image and an OGC Application Package (CWL) deployed to Insula, CGI's Earth Observation platform.
0. Prerequisites. Python 3.11+ and pipx. No pipx yet? Follow the Windows and Linux install guide, then install the two tools:
pipx install cookiecutter
pipx install git+https://github.com/cgi-italy-insula-processors/insula-processors-builder-cli1. Request access. Collaborator membership is required only to build and publish a processor through the pipeline. Browsing these repositories, scaffolding from the template, and inspecting the example processors need no membership. To build and publish, request collaborator membership from the Insula Processors maintainers.
2. Scaffold your processor repository, add your code and a Dockerfile under
code/, edit the .cwl, and push it to a PUBLIC repository of your own:
cookiecutter gh:cgi-italy-insula-processors/insula-processor-template3. Authenticate and build. login uses the GitHub device flow (no token to
create); set-api-token stores your Insula api token locally, asking for it without
echoing it:
insula-processors-builder login
insula-processors-builder set-api-token
insula-processors-builder create --repo-url https://github.com/<you>/<your-processor>Full, detailed instructions: the
insula-processor-template README.
| Repository | What it is |
|---|---|
insula-processor-template |
Template and scaffold for a processor: code/ + Dockerfile, an OGC Application Package (CWL), and the publishing workflow. |
insula-processors-builder-cli |
Python CLI (insula-processors-builder) to build, security-scan, publish, and deploy a processor to Insula. |
| Repository | What it does |
|---|---|
processor-eumon |
Sentinel-3 pre-processing chain for eutrophication monitoring. |
processor-gdaevapotranspiration-earthcode |
Estimates daily evapotranspiration from Sentinel-2 and Sentinel-3 morning acquisitions using the Two-Source Energy Balance (TSEB) algorithm and machine-learning-sharpened Land Surface Temperature, with the Sen-ET project as baseline. |
Use these as working references for structuring your own processor.
- Scaffold a processor repository from the template (your
code/, aDockerfile, and a.cwl). - Run the CLI. It triggers the Insula build pipeline, which runs your code through
four checkpoints:
- Secret scan - a verified secret stops the build.
- Build - your
code/Dockerfileis built into a container image. - Security scan - a HIGH or CRITICAL vulnerability stops the build.
- Publish - a clean image is published automatically.
- The pipeline finalizes your Application Package (CWL) with the published image.
- The CLI deploys the CWL to Insula. Your api token stays on your machine and is never sent to the pipeline.