Skip to main content

App Developer Guide

AI Cloud apps package a repeatable runtime experience on top of shared platform services: tenant and project context, identity, policy, billing, audit, routing, status, storage, and lifecycle.

Choose The App Family

FamilyUse it forFirst proof
Notebook and IDEJupyter, VS Code, interactive workspaces.Route opens, workspace persists, release works.
Inference endpointvLLM, OpenAI-compatible APIs, model serving./v1/models or health endpoint responds through the managed route.
SchedulerSlurm, RKE2, OpenClaw, distributed jobs.Job submission, scheduler route, worker cleanup.
Compose appMulti-container app or service stack.Ports, health, logs, and release cleanup.

Current Onboarding Model

AI Cloud supports curated app catalog entries and platform-assisted onboarding today. A fully self-service public manifest-registration workflow is still a target capability.

For a new app today, prepare:

  1. app metadata;
  2. version metadata;
  3. image or artifact reference;
  4. resource requirements;
  5. input schema;
  6. endpoints and auth pattern;
  7. storage mounts;
  8. health checks;
  9. release and cleanup expectations;
  10. launch, connect, and support evidence.

Manifest Shape

The manifest direction is JSON/YAML and contract-driven. This example uses the same concepts as current launchable OCI fixtures.

{
"profile": {
"kind": "gpuaas.launchable_oci_workload",
"schema_version": "v1",
"slug": "jupyterlab",
"display_name": "JupyterLab",
"support_level": "platform_curated",
"launch_mode": "existing_allocation"
},
"artifacts": {
"primary_image": {
"source": "platform_registry",
"artifact_name": "runtime-cpu",
"digest_required": true,
"media_type": "application/vnd.oci.image.manifest.v1+json"
}
},
"parameters": {
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"workspace_mount": {"type": "string", "default": "scratch"},
"host_port": {"type": "integer", "default": 8888}
}
}
},
"resources": {
"gpu": {"min_count": 0, "default_count": 1, "placement": "allocation_local"},
"cpu": {"min_cores": 2},
"memory": {"min_gib": 4}
},
"network": {
"endpoints": [
{
"name": "web",
"port": 8888,
"type": "http",
"auth_pattern": "header_injected_jwt",
"managed_ingress": {
"enabled": true,
"route_mode": "host",
"client_auth_mode": "browser_oidc",
"route_family": "browser_app",
"default_open_path": "/lab",
"websocket_required": true
}
}
]
}
}

Endpoint Patterns

Endpoint typeTypical appClient auth mode
Browser HTTPJupyter, VS Code, dashboards.browser_oidc
API HTTPOpenAI-compatible inference endpoints.api_bearer
TCPInternal app protocol where supported.App-specific credential or service identity.
Job submissionScheduler apps.Project/user identity plus scheduler adapter.

Do not put environment-specific public hostnames into the app manifest. Host binding is an environment/platform concern.

Readiness Checklist

An app is ready for user testing when:

  • the manifest declares all required inputs;
  • image artifacts are digest-pinned or promoted through the approved artifact path;
  • launch works in a clean project;
  • the connect action lands on the expected route;
  • health checks prove the app is ready;
  • logs and status help users understand failure;
  • release cleanup is tested;
  • billing, storage, quota, and support behavior are documented.

App Team Handoff

Send the platform team:

  • manifest package;
  • artifact digest or registry location;
  • supported runtime family;
  • required GPU/CPU/memory/storage;
  • endpoint names, ports, and auth pattern;
  • launch and readiness test plan;
  • release cleanup behavior;
  • owner and escalation contact.

Next