Pack System
Extend without touching core.
Packs install workflows, schemas, and overlays. Installation is declarative and safe—no code execution involved.
Pack Anatomy
Definitions, not code.
Packs ship workflows, schemas, and policy overlays. Workers are deployed separately, keeping the core secure.
Workflow definitions and templates
Schemas and input/output contracts
Policy fragments and config overlays
Docs and deployment guides
File Structure
my-pack/ ├── pack.yaml # Metadata & Entrypoints ├── workflows/ # DAG Definitions │ └── triage.yaml ├── schemas/ # JSON Schemas │ └── incident.json ├── overlays/ # Policy Fragments │ └── policy.yaml └── deploy/ # Worker Deployment
pack.yaml
apiVersion: cordum.io/v1alpha1
kind: Pack
metadata:
id: incident-enricher
version: 1.0.1
title: Incident Enricher
topics:
- name: job.incident-enricher.ingest
capability: incident.ingest
resources:
workflows:
- id: incident-enricher.triage
path: workflows/triage.yaml
overlays:
policy:
- name: safety
path: overlays/policy.fragment.yamlFeatured Pack
Incident Enricher.
A real-world example showing how a pack defines capabilities, topics, and policy overlays.
This pack registers the job.incident-enricher topic and provides a triage workflow. It also overlays a safety policy to govern its own execution.
Workflow
Manage via CLI.
Install, verify, and remove packs using the cordumctl CLI tool.
cordumctl pack install ./my-packInstall a pack from local source
cordumctl pack verify my-packVerify pack integrity and dependencies
cordumctl pack listList all installed packs
cordumctl pack uninstall my-packRemove pack resources cleanly
Safe Upgrades
Core remains untouched
Because packs are declarative definitions and not executable code, you can upgrade the core platform independently of your packs. Overlays merge cleanly and can be removed without side effects.