Skip to content
Documentation

Installable overlays for domain logic.

Packs extend Cordum without core code changes. Installation is declarative and safe—it does not execute code. Workers are deployed separately.

Design Goals
  • API-native installs via gateway
  • No arbitrary code execution during install
  • Namespaced resources avoid collisions
  • Soft uninstall by default
Directory Layout
my-pack/
├── pack.yaml
├── workflows/
├── schemas/
├── overlays/
└── deploy/ // Informational only
Pack Definition Example
pack.yaml
apiVersion: cordum.io/v1alpha1
kind: Pack
metadata:
  id: sre-investigator
  version: 0.3.1
  title: SRE Investigator
compatibility:
  protocolVersion: 1
  minCoreVersion: 0.6.0
resources:
  schemas:
    - id: sre-investigator/IncidentContext
      path: schemas/IncidentContext.json
  workflows:
    - id: sre-investigator.triage
      path: workflows/triage.yaml
overlays:
  config:
    - name: pools
      scope: system
      key: pools
      strategy: json_merge_patch
      path: overlays/pools.patch.yaml
  policy:
    - name: safety
      strategy: bundle_fragment
      path: overlays/policy.fragment.yaml
Installation Logic
  • 1
    Validate pack.yaml and namespacing
  • 2
    Register schemas and workflows
  • 3
    Apply config overlays (json merge patch)
  • 4
    Apply policy fragments into bundles
  • 5
    Write pack registry record
CLI Operations
terminal
cordumctl pack install ./my-pack
cordumctl pack verify my-pack
cordumctl pack uninstall my-pack

Note: Uninstall disables routing and policy but preserves data. Use --purge to delete assets.