The open source processing core of Insula, CGI's Earth Observation platform. It runs Earth Observation applications, packaged as OGC Application Packages (CWL), on Kubernetes via Argo Workflows and exposes them through the OGC API - Processes standard.
Insula Processing Core is the processing building block CGI contributes to EOEPCA+, the Earth Observation Exploitation Platform Common Architecture. See Scope for details.
| Repository | What it is |
|---|---|
insula |
Processing backend: job orchestration server, worker, input downloader, output uploader, Kubernetes event collector and the messaging layer between them. Java 8, Spring Boot 2.7, Gradle. |
ogc-api |
OGC API - Processes service, the only public entry point. Server stubs are generated from a trimmed copy of the OGC specification (the README lists every difference); requests are translated into calls to the processing backend. Java 17, Spring Boot 3, Gradle. |
helm-chart |
Helm umbrella chart that deploys the whole building block: OGC API, server, worker, Argo Workflows, ActiveMQ, PostgreSQL, MinIO and a container registry. |
deployment |
Bash scripts that check the cluster prerequisites, generate a values file, install the chart and validate the running release. They follow the conventions of the EOEPCA deployment guide. |
minio |
Documentation for ghcr.io/cgi-italy-insula-processing/minio, an unofficial, unmodified mirror of the upstream MinIO RELEASE.2021-02-14T04-01-33Z image that the chart deploys. We republish it because the upstream channels no longer serve this release. The repository holds the provenance evidence, a verification script, the license and notice files and the redistribution sign-off. The image is unpatched legacy software (CVE-2023-28432) and is not affiliated with MinIO, Inc. |
Publication in progress.
helm-chartanddeploymentare still being published and may be empty when you visit. Container images are not yet publicly available; they will be published to the GitHub Container Registry underghcr.io/cgi-italy-insula-processing. The MinIO image used by the chart is documented inminio.
- Deploy a process.
POST /ogcapi/processeswith an OGC Application Package that references your CWL. The process then appears underGET /processes. - Execute it.
POST /ogcapi/processes/{processId}/executioncreates an asynchronous job. The server validates the inputs, records the job in PostgreSQL and queues it on ActiveMQ. - Run it. The worker takes the job and submits an Argo Workflow in a dedicated workflows namespace: the input downloader stages the inputs, your processor container runs, and the output uploader stores the results in MinIO (S3-compatible).
- Track it. The Kubernetes event collector watches the workflow pods and reports
progress back. Poll
GET /ogcapi/jobs/{jobId}, then fetchGET /ogcapi/jobs/{jobId}/results.
Prerequisites. A Kubernetes cluster with an ingress controller and a storage class
for ReadWriteOnce volumes (about 91Gi with the default sizes), plus kubectl, helm
3.5 or later, curl and Bash 4.4 or later on your machine. cert-manager is optional
(TLS). Processor images must be pullable without credentials.
git clone https://github.com/cgi-italy-insula-processing/helm-chart.git
git clone https://github.com/cgi-italy-insula-processing/deployment.git
cd deployment/scripts
./check-prerequisites.sh # first pass, with defaults
./configure-oapip.sh # answers -> generated/values.yaml
./check-prerequisites.sh # second pass, with your values
./deploy.sh --chart ../../helm-chart
./validation.shThen list the deployed processes:
curl https://<your-ogc-api-host>/ogcapi/processesEvery prompt, value and check is documented in the
deployment README.
Supported. OGC API - Processes Part 1 v2 (Core) with asynchronous execution and results by reference, and Part 2 v1 (Deploy, Replace, Undeploy) with CWL Application Packages.
| Link | What it is |
|---|---|
| Insula Processors | Sister organization: turn your own processor repository into a scanned container image and an Application Package deployed to Insula. |
| EOEPCA+ OAPIP deployment guide | The EOEPCA reference for the processing building block. |
| OGC API - Processes | The standard the ogc-api service implements. |
| OGC Best Practice for EO Application Packages | How a processor is described in CWL. |
Questions and bug reports: open an issue in the relevant repository.
insula and ogc-api are released under the
Apache License 2.0. minio redistributes
upstream MinIO under its original Apache License 2.0, with MinIO's LICENSE and NOTICE
files. The LICENSE file in each repository is authoritative.