Scalable Platforms · JSON Structure

Scalable Platforms Deployment Structure

Hierarchical field structure for a normalized PaaS deployment across Vercel, Netlify, Heroku, Fly.io, Railway, and Render.

Type: Properties: 0
Cloud InfrastructureDeploymentDeveloper ExperienceDevOpsPaaSPlatformScalabilityServerless

Platform Deployment is a JSON Structure definition published by Scalable Platforms.

Meta-schema:

JSON Structure

Raw ↑
{
  "name": "Platform Deployment",
  "description": "Hierarchical field structure for a normalized PaaS deployment across Vercel, Netlify, Heroku, Fly.io, Railway, and Render.",
  "fields": [
    {"name": "id", "type": "string", "description": "Unique deployment identifier.", "required": true},
    {"name": "provider", "type": "string", "description": "PaaS platform: vercel, netlify, heroku, fly-io, railway, render, northflank.", "required": true},
    {"name": "appId", "type": "string", "description": "Application/project ID this deployment belongs to.", "required": true},
    {"name": "appName", "type": "string", "description": "Human-readable application name.", "required": false},
    {"name": "environment", "type": "string", "description": "production, staging, preview, or development.", "required": false},
    {"name": "status", "type": "string", "description": "queued, building, deploying, ready, failed, cancelled.", "required": true},
    {"name": "url", "type": "string", "description": "Public URL for this deployment.", "required": false},
    {
      "name": "gitCommit",
      "type": "object",
      "description": "Source commit triggering the deployment.",
      "required": false,
      "fields": [
        {"name": "sha", "type": "string", "description": "Full commit SHA hash."},
        {"name": "branch", "type": "string", "description": "Branch name."},
        {"name": "message", "type": "string", "description": "Commit message."},
        {"name": "author", "type": "string", "description": "Committer name or email."}
      ]
    },
    {
      "name": "build",
      "type": "object",
      "description": "Build configuration and result.",
      "required": false,
      "fields": [
        {"name": "command", "type": "string", "description": "Build command (e.g., npm run build)."},
        {"name": "outputDirectory", "type": "string", "description": "Output directory (e.g., dist, .next)."},
        {"name": "durationSeconds", "type": "number", "description": "Build duration in seconds."},
        {"name": "logUrl", "type": "string", "description": "URL to build logs."}
      ]
    },
    {
      "name": "runtime",
      "type": "object",
      "description": "Runtime execution model and regional configuration.",
      "required": false,
      "fields": [
        {"name": "type", "type": "string", "description": "static, serverless, server, edge, or container."},
        {"name": "region", "type": "string", "description": "Primary region."},
        {"name": "regions", "type": "array", "description": "All active regions."},
        {"name": "memory", "type": "integer", "description": "Memory limit in MB."},
        {"name": "timeout", "type": "integer", "description": "Execution timeout in seconds."}
      ]
    },
    {
      "name": "scaling",
      "type": "object",
      "description": "Platform-managed scaling settings.",
      "required": false,
      "fields": [
        {"name": "minInstances", "type": "integer", "description": "Minimum replicas; 0 for scale-to-zero."},
        {"name": "maxInstances", "type": "integer", "description": "Maximum replicas."},
        {"name": "scaleToZero", "type": "boolean", "description": "Whether scale-to-zero is enabled."}
      ]
    },
    {"name": "createdAt", "type": "string", "description": "ISO 8601 creation timestamp.", "required": false},
    {"name": "readyAt", "type": "string", "description": "ISO 8601 ready timestamp.", "required": false}
  ]
}