Skip to content

Defining Native Applications

A Native Application is described by an application profile — a YAML document with applicationProfile at its root — that defines the workload (container, VM, or binary), its runtime environment, and the requirements that govern where and how it runs.


Profile Structure

Every application profile follows this layout:

applicationProfile:
  metadata:
    # application identity and annotations
  specs:
    # runtime, resources, network, constraints, qos
  status:
    # runtime state, updated dynamically
Field Type Required Description
applicationProfile.metadata object Application metadata — see metadata
applicationProfile.specs object Application requirements — see the specs sections below
applicationProfile.status object Runtime state, updated dynamically — see status

Field Reference

Below we provide all mandatory (✅) and optional (❌) fields that are registered in the Hyper-AI platform.

metadata — Application Metadata

Field Type Required Example Description
type string, native "native" Application profile type: integration, native, or device.
schemaVersion string "1.1.0" latest App profile schema version using semantic versioning (e.g., 1.0.0).
name string "hello-world-webserver" Globally unique application name for identification.
version string "1.0.0" Internal version identifier for the application instance.
description string "Nginx web server for HyperAI platform assessment." A short description of what the application does.
owner string "UoA-Team" Person or organization responsible for this application.
lifecyclePhase string, enum: development testing production "development" Lifecycle stage: development, testing, or production.
createdAt string (RFC 3339) "2026-06-04T12:00:00Z" Creation timestamp in RFC 3339 format (UTC).
updatedAt string (RFC 3339) "2026-06-04T12:30:00Z" Last modification timestamp in RFC 3339 format (UTC).
annotations.intent string "platform-demo" Purpose of the application
annotations.domain string "education" Classification of application (e.g., AI, Automotive, robotics)
annotations.language string "Python 3.10" Programming language used by the application
annotations.dependencies list ["fastapi", "uvicorn"] Required software libraries (e.g., ML frameworks)

specs.runtime — Runtime Requirements

Field Type Required Example Description
executionType string, enum: container vm "container" Type of execution platform (e.g., container, vm, native, android)
entryPoint string "uvicorn" Path to the main script or command executed at container startup
args list ["main:app", "--port", "8000"] Arguments passed to the entry point command
baseOS.name string "python" Name of base OS (e.g., ubuntu)
baseOS.version string "3.10-slim" Version of the base OS (e.g., 20.04)
containerImage.uri string "registry.example.com/org/app" OCI-compliant container image URI
containerImage.tag string "latest" Optional image tag (containers)
hypervisor string, enum: qemu kvm xen vmware "kvm" Hypervisor/manager (qemu, kvm, xen, vmware)
acceleratorRuntime[].name string "cuda" Name of the runtime environment for accelerators
acceleratorRuntime[].version string "12.2" Version of the accelerator runtime

specs.resources — Resource Requirements

Field Type Required Example Description
cpu string (>0, millicores) "2000m" Number of CPU cores required (e.g., '1000m' for 1 core).
memory string (Mi Gi Ti) "10Gi" Memory requirement.
storage string (Mi Gi Ti) "1Gi" Storage requirement (if needed).
gpu integer (≥0) 1 Required GPUs.
tpu integer (≥0) 0 Required TPUs.
accelerators integer (≥0) 0 List of FPGAs, ASICs

specs.network — Network Requirements

Field Type Required Example Description
ports[].port integer 8000 port number
ports[].protocol string "TCP" protocol used by this port
ports[].publicExposure boolean true Whether the port is publicly exposed
networkBandwidthMin string (Mbps Gbps) "100Mbps" Minimum network bandwidth.

specs.constraints — Scheduling Constraints

Field Type Required Example Description
supportedArchitectures list ["x86_64"] Compatible CPU/GPU architectures.
trustScore string (1–5) "4.5" Reliability and security score.
geoLocationRequirement string "Europe-only" Location restrictions.
isHighlyAvailable boolean false Specifies if deployment requires redundancy.
faultTolerance string "restart" Resiliency strategy (e.g., restart policy).
securityLevel string (1–3) "high" Security classification (e.g., 3: high, 2: medium, 1: low).
dataClassification string "private" Data sensitivity

specs.qos — Quality of Service

Field Type Required Example Description
latencyToleranceMax string (ms) "150ms" Maximum tolerable latency.
energyCost string (kWh) "0.5kWh" Estimated energy consumption per hour.
monetaryCost string (currency) "0.05" Deployment cost per hour.
resilience string "restart" Tolerance and failure mechanism (e.g., restart)
availability string (%) "99.0%" Uptime SLA target
startupTime string (secs) "10s" Time to become operational

Note: resilience: Redundant to faultTolerance, will be removed in the next schema version.


status — Runtime Status (Dynamic)

Unlike the fields above, status is not set in the profile — it reflects the runtime state of the application and is updated dynamically.

Field Type Required Example Description
isOnline boolean true Whether the application is currently active
lastHeartBeat string (RFC 3339) "2026-06-04T12:30:00Z" Last time the app sent a status signal
runtimeState string "running" Current runtime status of app (e.g., running, failed)
isStateless boolean false Indicates if the application maintains state.
resourceUsage.cpu string "2000m" CPU usage (e.g., 2000m)
resourceUsage.memory string "512Mi" RAM usage
resourceUsage.storage string "1Gi" Storage consumed
resourceUsage.gpu integer (≥0) 0 Number of GPUs consumed
resourceUsage.tpu integer (≥0) 0 Number of TPUs consumed
resourceUsage.accelerators integer (≥0) 0 Number of FPGAs, ASICs used

Examples

See Cookbook & Examples for minimal native app examples.