Skip to content

Glossary

Poiesis components

TaskPod

The single Kubernetes Pod that runs an entire TES task end-to-end. Wrapped in a Job. Composed of init containers (TIF, executors, TOF, Ack) plus a TRec native sidecar that records state to PostgreSQL.

Task Input Filer (TIF)

Init container that stages TesTask.inputs onto the shared Task PVC. Supports s3://, http(s)://, file://, and inline content.

Task Output Filer (TOF)

Init container that uploads TesTask.outputs from the PVC after the last executor finishes. Supports s3:// and file://.

Executor

One step in a task's sequenced execution. Runs as an init container named exec-{N}. Failure of executor i aborts executors i+1..n.

Ack

Regular main container that exits 0 so the Pod reaches Succeeded. Reuses the Poiesis image — no second image pull.

Task Recorder (TRec)

Native sidecar (K8s 1.29+: init container with restartPolicy: Always) that watches its own Pod and writes state to Postgres. On SIGTERM it does a final pod read so terminal state lands even when the watch hasn't yet delivered the Succeeded event.

Task Controller (TCtl)

Leader-elected Deployment (default 3 replicas, coordination.k8s.io Leases). Backstop reconciler: writes terminal state for failures TRec cannot self-report — OOMKill before TRec started, eviction, node loss, PVC bind failure, activeDeadlineSeconds exceeded, pending timeout.

Task PVC

PersistentVolumeClaim sized to TesResources.disk_gb, mounted at /transfer in every TaskPod container. Owned by the wrapping Job; kube-controller-manager GC handles cleanup.

General

Task Execution Service (TES)

GA4GH standard for a RESTful task-submission API. Poiesis implements TES v1.1.0. Spec.

Task

A single unit of computational work: inputs, sequenced executors, outputs, resources. Terminal states: COMPLETE, EXECUTOR_ERROR, SYSTEM_ERROR, CANCELED.

Kubernetes (K8s)

Container orchestration platform. Poiesis requires 1.29+ for native sidecar containers.

Kubernetes Job

Controller that runs one or more Pods to completion. Poiesis wraps each TaskPod in a Job for ttlSecondsAfterFinished cleanup.

Kubernetes Pod

Smallest deployable unit. One or more containers sharing network and storage. The TaskPod is a Pod composed of init containers plus a native sidecar.

Kubernetes Persistent Volume Claim (PVC)

A request for storage, fulfilled by a PersistentVolume. One per task — see Task PVC.

Released under the Apache License 2.0.