PhoenixFile Specification
  • GitHub
  • What is PhoenixFile?

    The PhoenixFile is the declarative build and runtime contract of a PhoenixFlight application. It replaces Dockerfile-first packaging with a higher-level governance-aware specification. While Dockerfile describes how to compile a static container process, PhoenixFile defines how a member behaves within a dynamic runtime environment.

    Prerequisites validation

    The CLI validates that:
    • Top-level sections match the specification schema.
    • Declared policy files, agent manifests, and packets exist in the workspace.
    • Namespace definitions match across resources.

    Declarative Manifest Example

    apiVersion: phoenixflight.io/v1alpha1
    kind: PhoenixApp
    metadata:
      name: customer-validation-app
      namespace: tenant-a
      version: 0.1.0
    
    runtime:
      language: python
      entrypoint: src/app.py
    
    controlPlane:
      auth:
        provider: local
      policies:
        - policies/can-register.yaml
        - policies/can-assign.yaml
        - policies/can-handoff.yaml
      audit:
        sink: local
        format: jsonl
      assignment:
        strategy: trust-weighted-capability-routing
      governance:
        minimumTrustScore: 0.85
    
    dataPlane:
      agents:
        - agents/governance-agent.yaml
        - agents/metadata-agent.yaml
      packets:
        - packets/customer-validation.packet.yaml
      handoffContracts:
        - contracts/customer-context-handoff.yaml
    
    membership:
      discovery:
        mode: capability
      migration:
        enabled: true
      retirement:
        drainTimeoutSeconds: 30
    
    build:
      target: local
      outputs:
        - phoenix-bundle
        - oci-image
                    

    Declarative Build Outputs

    The build block defines where the compiler emits application artifacts. PhoenixFile supports compiling to portable logical bundles, OCI container layers, Kubernetes Custom Resource definitions, and Helm values configurations.

    Supported Outputs:

    - phoenix-bundle: Portable .pflight ZIP archives housing logic configurations, policy rules, and schemas.
    - oci-image: Container layers encapsulating the python processes.
    - helm-chart: Standard Helm templates configured with values.
    - kubernetes-manifest: Standalone CRD/resource manifests.